RicardoSantos

[RS]coondawg71 DMI Index V0

DMI
77
dmi
Request for coondawg71: DMI index

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]coondawg71 DMI Index V0", shorttitle="[RS]DMI.v0", overlay=false)

length = input(10)
hlcc4 = (high + low + (close*2))*0.25

maTR = atr(length)
avgVol = sma(volume, length)


WtCRatio = (hlcc4 - hlcc4[1]) / min(hlcc4,hlcc4[1])
VolRatio = volume / avgVol

Constant_arg1 = ((hlcc4 * 3) / maTR) * abs(WtCRatio)
Constant_arg2 = Constant_arg1 > 88 ? 88 : Constant_arg1
Constant = VolRatio / exp(Constant_arg2)

BuyP = WtCRatio > 0 ? VolRatio : Constant
SellP = WtCRatio > 0 ? Constant : VolRatio

BuyPres = (nz(BuyPres[1] * (length - 1)) + BuyP) / length
SellPres = (nz(SellPres[1] * (length - 1)) + SellP) / length

TempDI_arg0 = SellPres > BuyPres ? (
        SellPres != 0 ? BuyPres / SellPres :
        BuyPres != 0 ? SellPres / BuyPres : nz(TempDI_arg0[1]) ) : nz(TempDI_arg0[1])

Sign = SellPres > BuyPres ? -1 : 1
TempDI = TempDI_arg0 * Sign

DMIndx = TempDI < 0 ? -1 - TempDI : 1 - TempDI

plot(DMIndx, color=black, style=columns, transp=70)

//  ||---
hline(0, color=black)
useOverBSLines = input(false)
obpoint = input(0.5, type=float)
ospoint = input(-0.5, type=float)
plot(not useOverBSLines ? na : obpoint, color=black)
plot(not useOverBSLines ? na : ospoint, color=black)
//  ||---
useMa1 = input(false)
useMa2 = input(false)
ma1 = not useMa1 ? na : sma(DMIndx, input(50))
ma2 = not useMa2 ? na : sma(DMIndx, input(200))

plot(ma1, color=teal)
plot(ma2, color=blue)