RicardoSantos

[RS]3 Level ZigZag Semafor V0

EXPERIMENTAL:
request for CharanTejaM
zigzag may be adjusted to use other methods.
zigzag repaints, use at your own discretion.

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]3 Level ZigZag Semafor V0', shorttitle='3LZZS', overlay=true)
showZigZags = input(false)
useAltTF1 = input(false, title='Use Alt Timeframe')
tf1 = input('5', title='Alt Timeframe')
tf2 = input('15', title='Alt Timeframe')
tf3 = input('30', title='Alt Timeframe')

zigzag() =>
    _isUp = close >= open
    _isDown = close <= open
    _direction = _isUp[1] and _isDown ? -1 : _isDown[1] and _isUp ? 1 : nz(_direction[1])
    _zigzag = _isUp[1] and _isDown and _direction[1] != -1 ? high : _isDown[1] and _isUp and _direction[1] != 1 ? low : na

zz1 = useAltTF1 ? (change(time(tf1)) != 0 ? security(tickerid, tf1, zigzag()) : na) : zigzag()
zz2 = (change(time(tf2)) != 0 ? security(tickerid, tf2, zigzag()) : na)
zz3 = (change(time(tf3)) != 0 ? security(tickerid, tf3, zigzag()) : na)

plot(not showZigZags ? na : zz1, title='zigzag1', color=black, linewidth=1)
plot(not showZigZags ? na : zz2, title='zigzag2', color=blue, linewidth=2)
plot(not showZigZags ? na : zz3, title='zigzag3', color=red, linewidth=3)

is_lvl1_high = zz1 and zz1 >= high
is_lvl2_high = zz2 and zz2 >= high
is_lvl3_high = zz3 and zz3 >= high

is_lvl1_low = zz1 and zz1 <= low
is_lvl2_low = zz2 and zz2 <= low
is_lvl3_low = zz3 and zz3 <= low

plotchar(series=is_lvl1_high, title='1', char='', location=location.abovebar, color=red, transp=0, text='1', textcolor=red)
plotchar(series=is_lvl2_high, title='2', char='', location=location.abovebar, color=red, transp=0, text='2\n', textcolor=red)
plotchar(series=is_lvl3_high, title='3', char='', location=location.abovebar, color=red, transp=0, text='3\n\n', textcolor=red)

plotchar(series=is_lvl1_low, title='1', char='', location=location.belowbar, color=lime, transp=0, text='1', textcolor=lime)
plotchar(series=is_lvl2_low, title='2', char='', location=location.belowbar, color=lime, transp=0, text='\n2', textcolor=lime)
plotchar(series=is_lvl3_low, title='3', char='', location=location.belowbar, color=lime, transp=0, text='\n\n3', textcolor=lime)