Indicateur cryptoHaltéro amélioré.
Analyse des 15 cryptos.
Dashbord CryptoHaltéro avec point macro économie et connexion aux exchanges. Des valeurs Chinoises et Européennes qui font mieux sur 30 jour que les valeurs US :-)
plus d'informations sur https://cryptohaltero.over.blog
bonne journée les costauds
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © cryptohaltero
//@version=6
indicator("Crypto Haltéro TimeFrame D", overlay = true)
len9d = input.int(9, minval=1, title="Length 9 jours")
len30d = input.int(30, minval=1, title="Length 30 jours")
len50d = input.int(50, minval=1, title="Length 50 jours")
len100d = input.int(100, minval=1, title="Length 100 jours")
len200d = input.int(200, minval=1, title="Length 200 jours")
len2Y = input.int(730, minval=1, title="Length 2 ans")
// Création des cases à cocher
show_fill1 = input.bool(true, "Activer Zone VENTE Rouge")
show_fill2 = input.bool(true, "Activer Zone ACHAT Verte & Jaunes")
src = input(close, title="Source")
offset = input.int(title="Offset", defval=0, minval=-500, maxval=500, display = display.data_window)
out9d = ta.sma(src, len9d)
out30d = ta.sma(src, len30d)
out50 = ta.sma(src, len50d)
out100 = ta.sma(src, len100d)
out200 = ta.sma(src, len200d)
out2Y = ta.sma(src, len2Y)
out2Yx3 = out2Y*3
out2Yx5 = out2Y*5
out2Ydiv2 = out2Y/2
plot(out9d, color=color.blue, title="MA 3", offset=offset)
plot(out30d, color=color.red, title="MA 30", offset=offset)
linema50 = plot(out50, color=#00f5fd, title="MA 50", offset=offset)
linema100 = plot(out100, color=color.green, title="MA 100", offset=offset)
linema200 = plot(out200, color=color.rgb(255, 0, 179), title="MA 200", offset=offset)
line2Ydiv2 = plot(show_fill2?out2Ydiv2:na, color=#72ff3b, title="MA 2 ans / 2", offset=offset, linewidth = 1, style =plot.style_cross)
line2Y = plot(show_fill2?out2Y:na, color=color.yellow, title="MA 2 ans", offset=offset, linewidth = 1, style =plot.style_cross)
line2Ax3 = plot(show_fill1?out2Yx3:na, color=#bd2fd6, title="MA 2ans x3", offset=offset, linewidth = 1, style =plot.style_cross)
line2Ax5 = plot(show_fill1?out2Yx5:na, color=#751d85, title="MA 2ans x3", offset=offset, linewidth = 1, style =plot.style_cross)
fill(line2Ax3, line2Ax5, color=color.rgb(255, 0, 0, 90))
fill(linema100, line2Y, color= out100 < out2Y ? color.rgb(96, 219, 100, 75) : na)
fill(line2Ydiv2, line2Y, color.rgb(255, 252, 93, 80) )
// Smoothing MA inputs
GRP = "Smoothing"
TT_BB = "Only applies when 'SMA + Bollinger Bands' is selected. Determines the distance between the SMA and the bands."
maTypeInput = input.string("None", "Type", options = ["None", "SMA", "SMA + Bollinger Bands", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group = GRP, display = display.data_window)
maLengthInput = input.int(14, "Length", group = GRP, display = display.data_window)
bbMultInput = input.float(3.5, "BB StdDev", minval = 0.001, maxval = 50, step = 0.5, tooltip = TT_BB, group = GRP, display = display.data_window)
var enableMA = maTypeInput != "None"
var isBB = maTypeInput == "SMA + Bollinger Bands"
// Smoothing MA Calculation
ma(source, length, MAtype) =>
switch MAtype
"SMA" => ta.sma(source, length)
"SMA + Bollinger Bands" => ta.sma(source, length)
"EMA" => ta.ema(source, length)
"SMMA (RMA)" => ta.rma(source, length)
"WMA" => ta.wma(source, length)
"VWMA" => ta.vwma(source, length)
// Smoothing MA plots
smoothingMA = enableMA ? ma(out9d, maLengthInput, maTypeInput) : na
smoothingStDev = isBB ? ta.stdev(out9d, maLengthInput) * bbMultInput : na
// plot(smoothingMA, "SMA-based MA", color=color.gray, display = enableMA ? display.all : display.none, editable = enableMA)
bbUpperBand = plot(smoothingMA + smoothingStDev, title = "Upper Bollinger Band", color=color.green, display = isBB ? display.all : display.none, editable = isBB)
bbLowerBand = plot(smoothingMA - smoothingStDev, title = "Lower Bollinger Band", color=color.green, display = isBB ? display.all : display.none, editable = isBB)
fill(bbUpperBand, bbLowerBand, color= isBB ? color.new(color.green, 90) : na, title="Bollinger Bands Background Fill", display = isBB ? display.all : display.none, editable = isBB)