OPEN-SOURCE SCRIPT

Мой скрипт

176
//version=5
indicator("Fibonacci Yearly Levels – Pro (by Pablo)", overlay=true)

// 1) Фиксация закрытия прошлого года
var float year_close = na
isNewYear = ta.change(year(time)) // true на первом баре нового года
if isNewYear
year_close := close[1] // закрытие последнего бара прошлого года
year_close := nz(year_close, close) // первичная инициализация на истории

// 2) Уровни вверх (базовые + расширения)
up5 = year_close * 1.05
up8 = year_close * 1.08
up13 = year_close * 1.13
up21 = year_close * 1.21
up34 = year_close * 1.34
up54 = year_close * 1.54
up89 = year_close * 1.89 // расширение
up144 = year_close * 2.44 // расширение
up233 = year_close * 3.33 // расширение

// 3) Уровни вниз (симметрично и только позитивные цены)
dn5 = year_close * 0.95
dn8 = year_close * 0.92
dn13 = year_close * 0.87
dn21 = year_close * 0.79
dn34 = year_close * 0.66
dn54 = year_close * 0.46
dn89 = year_close * 0.11 // 1 - 0.89 = 0.11 (ниже -144% и -233% не рисуем — это < 0)

// 4) Плоты уровней (title — константы)
plot(year_close, color=color.yellow, linewidth=2, title="Year Close")

// вверх
plot(up5, color=color.new(color.green, 70), title="+5%")
plot(up8, color=color.new(color.green, 60), title="+8%")
plot(up13, color=color.new(color.green, 50), title="+13%")
plot(up21, color=color.new(color.green, 40), title="+21%")
plot(up34, color=color.new(color.green, 30), title="+34%")
plot(up54, color=color.new(color.green, 20), title="+54%")
plot(up89, color=color.new(color.green, 10), title="+89%")
plot(up144, color=color.new(color.green, 0), title="+144%")
plot(up233, color=color.new(color.green, 0), linewidth=2, style=plot.style_circles, title="+233%")

// вниз
plot(dn5, color=color.new(color.red, 70), title="-5%")
plot(dn8, color=color.new(color.red, 60), title="-8%")
plot(dn13, color=color.new(color.red, 50), title="-13%")
plot(dn21, color=color.new(color.red, 40), title="-21%")
plot(dn34, color=color.new(color.red, 30), title="-34%")
plot(dn54, color=color.new(color.red, 20), title="-54%")
plot(dn89, color=color.new(color.red, 10), title="-89%")
// -144% и -233% не отрисовываем — это отрицательные цены

// 5) Сигналы входов по методике (пробой ±8% с подтверждением)
longEntry = ta.crossover(close, up8) // LONG при пробое +8% снизу вверх
shortEntry = ta.crossunder(close, dn8) // SHORT при пробое -8% сверху вниз

plotshape(longEntry, title="Long Entry", style=shape.triangleup, color=color.lime,
size=size.small, location=location.belowbar, text="LONG")
plotshape(shortEntry, title="Short Entry", style=shape.triangledown, color=color.red,
size=size.small, location=location.abovebar, text="SHORT")

// (опционально — включи алерты)
alertcondition(longEntry, title="LONG entry (+8%)", message="LONG: price crossed above +8% yearly level")
alertcondition(shortEntry, title="SHORT entry (-8%)", message="SHORT: price crossed below -8% yearly level")

Feragatname

The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.