RicardoSantos

[RS]NDBMFB DMI Index V0

DMI
63
dmi
Request for NDBMFB

Skrypt open-source

Zgodnie z prawdziwym duchem TradingView, autor tego skryptu opublikował go jako open-source, aby traderzy mogli go zrozumieć i zweryfikować. Brawo dla autora! Możesz używać go za darmo, ale ponowne wykorzystanie tego kodu w publikacji jest regulowane przez Dobre Praktyki. Możesz go oznaczyć jako ulubione, aby użyć go na wykresie.

Wyłączenie odpowiedzialności

Informacje i publikacje przygotowane przez TradingView lub jego użytkowników, prezentowane na tej stronie, nie stanowią rekomendacji ani porad handlowych, inwestycyjnych i finansowych i nie powinny być w ten sposób traktowane ani wykorzystywane. Więcej informacji na ten temat znajdziesz w naszym Regulaminie.

Chcesz użyć tego skryptu na wykresie?
study(title="[RS]NDBMFB DMI Index V0", shorttitle="[RS]NDBMFB.DMI.Index V0", overlay=false)
adxlen = input(4, title="ADX Smoothing")
dilen = input(8, title="DI Length")
//  ||---Functions by: Greeny
dirmov(len) =>
	up = change(high)
	down = -change(low)
	truerange = rma(tr, len)
	plus = fixnan(100 * rma(up > down and up > 0 ? up : 0, len) / truerange)
	minus = fixnan(100 * rma(down > up and down > 0 ? down : 0, len) / truerange)
	[plus, minus]

adx(dilen, adxlen) => 
	[plus, minus] = dirmov(dilen)
	sum = plus + minus
	adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen)
	[adx, plus, minus]

[sig, up, down] = adx(dilen, adxlen)

//  ||---------------------------------------------------------------------------
brackit(x, v1, v2)=> x >= v1 and x < v2
cond1 = brackit(sig, 0, 20) ? #e7edee :
        brackit(sig, 20, 30) ? #e0e8ea :
        brackit(sig, 30, 35) ? #dde6e8 :
        brackit(sig, 35, 40) ? #c6cfd0 :
        brackit(sig, 40, 45) ? #b0b8b9 :
        brackit(sig, 45, 50) ? #9aa1a2 :
        brackit(sig, 50, 55) ? #848a8b :
        brackit(sig, 55, 60) ? #6e7374 :
        brackit(sig, 60, 65) ? #585c5c :
        brackit(sig, 65, 70) ? #424545 :
        brackit(sig, 70, 80) ? #2c2e2e :
        brackit(sig, 80, 100) ? #161717 : na
cond2 = brackit(sig, 20, 30) ? #424545 :
        brackit(sig, 45, 55) ? #2c2e2e :
        brackit(sig, 70, 80) ? #161717 : na

showCondition1 = input(true)
showCondition2 = input(true)

plot(not showCondition1 ? na : sig, color=cond1, style=columns, title="ADX Columns1")
plot(not showCondition2 ? na : sig, color=cond2, style=columns, title="ADX Columns2")
plot(sig, color=black, title="ADX")