Я использую следующий скрипт, взятый из (https://in.tradingview.com/script/fH6e5TuN-RSI-Divergence/).
study(title = "RSI Divergence", shorttitle = "RSI Divergence")
src_fast = close, len_fast = input(5, minval=1, title = "Length Fast RSI")
src_slow = close, len_slow = input(14,minval=1, title = "Length Slow RSI")
up_fast = rma(max(change(src_fast), 0), len_fast)
down_fast = rma(-min(change(src_fast), 0), len_fast)
rsi_fast = down_fast == 0 ? 100 : up_fast == 0 ? 0 : 100 - (100 / (1 + up_fast / down_fast))
up_slow = rma(max(change(src_slow), 0), len_slow)
down_slow = rma(-min(change(src_slow), 0), len_slow)
rsi_slow = down_slow == 0 ? 100 : up_slow == 0 ? 0 : 100 - (100 / (1 + up_slow / down_slow))
divergence = rsi_fast - rsi_slow
plotdiv = plot(divergence, color = divergence > 0 ? lime:red, linewidth = 2)
band = hline(0)
// ALERT section that I added which does not work: -------------------------------
divlong = divergence < 0 and divergence >=0
divshort = divergence > 0 and divergence <=0
alertcondition(divlong, title='Div Long', message='Div Long')
alertcondition(divshort, title='Div Short', message='Div Short')
data1 = divlong
plotshape(data1, style=shape.triangleup,location=location.bottom, color=green , title = "DivUp")
data2 = divshort
plotshape(data2, style=shape.triangledown, location=location.top, color=red,title = "DivDown")
[В] Можно ли настроить оповещение так, чтобы оно срабатывало при изменении цвета сигнальной линии (с красного на зеленый/с зеленого на красный)?
Я попытался показать точки, в которых могут срабатывать оповещения.
Просто вставьте его в раздел Pine Editor на сайте tradeview и нажмите Add To Chart
, а также весь код. Я добавил метод оповещения, который пробовал, но он не сработал.
Ваши оповещения никогда не срабатывают, потому что значения divlong
и divshort
всегда ложны:
divlong = divergence < 0 and divergence >=0
divshort = divergence > 0 and divergence <=0
Это будет работать:
study(title = "RSI Divergence", shorttitle = "RSI Divergence")
src_fast = close, len_fast = input(5, minval=1, title = "Length Fast RSI")
src_slow = close, len_slow = input(14,minval=1, title = "Length Slow RSI")
up_fast = rma(max(change(src_fast), 0), len_fast)
down_fast = rma(-min(change(src_fast), 0), len_fast)
rsi_fast = down_fast == 0 ? 100 : up_fast == 0 ? 0 : 100 - (100 / (1 + up_fast / down_fast))
up_slow = rma(max(change(src_slow), 0), len_slow)
down_slow = rma(-min(change(src_slow), 0), len_slow)
rsi_slow = down_slow == 0 ? 100 : up_slow == 0 ? 0 : 100 - (100 / (1 + up_slow / down_slow))
divergence = rsi_fast - rsi_slow
plotdiv = plot(divergence, color = divergence > 0 ? lime:red, linewidth = 2)
band = hline(0)
// ALERT section that I added which does not work: -------------------------------
// divlong = divergence < 0 and divergence >=0
// divshort = divergence > 0 and divergence <=0
divergence_past = divergence[1]
divlong = divergence >=0 and divergence_past <= 0
divshort = divergence <=0 and divergence_past >= 0
alertcondition(divlong, title='Div Long', message='Div Long')
alertcondition(divshort, title='Div Short', message='Div Short')
data1 = divlong
plotshape(data1, style=shape.triangleup,location=location.bottom, color=green , title = "DivUp")
data2 = divshort
plotshape(data2, style=shape.triangledown, location=location.top, color=red,title = "DivDown")
Это отлично работает с моей стороны. Я получаю предупреждение каждый раз, когда цвет меняется. Вы установили оповещение? Можете выложить скриншот настроек этого оповещения?
Я использовал divergence_past = divergence[1] divlong = divergence >=0 and divergence_past <= 0 divshort = divergence <=0 and divergence_past >= 0
в случае изменения цвета линии
См. Условия оповещения и Как сделать оповещение доступным из моего скрипта? о том, как добавить оповещения в ваш скрипт. Если вам нужна помощь с этим, опубликуйте весь код. Это просто фрагмент, который не компилируется.