RicardoSantos

[RS]TEST PredictiveMA

simple yet efficient predictive algorithm applied to moving averages
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("[RS]PMA", overlay=true)
useDEMA = input(true)

src = input("close")
source = src == "close" ? close : 
        src == "open" ? open :
        src == "high" ? high : 
        src == "low" ? low : 
        src == "ohlc4" ? ohlc4 : 
        src == "hlc3" ? hlc3 : 
        src == "hl2" ? hl2 : close

length1 = input(4)
length2 = input(12)
length3 = input(24)
length4 = input(48)
length5 = input(72)
length6 = input(120)
length7 = input(240)
length8 = input(360)
length9 = input(576)

term1 = ema(ema((sum(source, length1)/length1) + change(source, length1), length1), useDEMA ? length1 : 1)
term2 = ema(ema((sum(source, length2)/length2) + change(source, length2), length2), useDEMA ? length2 : 1)
term3 = ema(ema((sum(source, length3)/length3) + change(source, length3), length3), useDEMA ? length3 : 1)
term4 = ema(ema((sum(source, length4)/length4) + change(source, length4), length4), useDEMA ? length4 : 1)
term5 = ema(ema((sum(source, length5)/length5) + change(source, length5), length5), useDEMA ? length5 : 1)
term6 = ema(ema((sum(source, length6)/length6) + change(source, length6), length6), useDEMA ? length6 : 1)
term7 = ema(ema((sum(source, length7)/length7) + change(source, length7), length7), useDEMA ? length7 : 1)
term8 = ema(ema((sum(source, length8)/length8) + change(source, length8), length8), useDEMA ? length8 : 1)
term9 = ema(ema((sum(source, length9)/length9) + change(source, length9), length9), useDEMA ? length9 : 1)

colorf(pt0, pt1) => pt0 >= pt1 ? teal : navy
offsetf(v) => 1+round(v/2)

p1 = plot(term1, color=colorf(term1, term2), offset=offsetf(length1), linewidth=1)
p2 = plot(term2, color=colorf(term2, term3), offset=offsetf(length2), linewidth=2)
p3 = plot(term3, color=colorf(term3, term4), offset=offsetf(length3), linewidth=3)
p4 = plot(term4, color=colorf(term4, term5), offset=offsetf(length4), linewidth=4)
p5 = plot(term5, color=colorf(term5, term6), offset=offsetf(length5), linewidth=5)
p6 = plot(term6, color=colorf(term6, term7), offset=offsetf(length6), linewidth=6)
p7 = plot(term7, color=colorf(term7, term8), offset=offsetf(length7), linewidth=7)
p8 = plot(term8, color=colorf(term8, term9), offset=offsetf(length8), linewidth=8)
p9 = plot(term9, color=colorf(term9, term1), offset=offsetf(length9), linewidth=9)