#pine-script
Вопрос:
По какой-то причине иногда предыдущий бар возвращает значение false, когда оно должно быть истинным. Я пытаюсь отображать вертикальную полосу всякий раз, когда меняется тренд.
Я создал тестовый индикатор на основе супертренда, и вы можете видеть, что при ссылке на предыдущее значение он иногда не работает (вертикальная линия не отображается), но если я ссылаюсь на значение 2 бара назад, отображается вертикальная линия!
//@version=5 indicator("test", overlay=true, timeframe="3", timeframe_gaps=false) atrPeriod = input(25, "ATR Length") factor = input.float(15, "Factor", step = 0.01) [supertrend, direction] = ta.supertrend(factor, atrPeriod) supertrendUp = direction lt; 0 supertrendUpPrev = direction[1] lt; 0 supertrendDown = direction gt; 0 supertrendDownPrev = direction[1] gt; 0 bodyMiddle = plot((open close) / 2, display=display.none) upTrend = plot(direction lt; 0 ? supertrend : na, "Up Trend", color = color.green , style=plot.style_linebr, linewidth=3) downTrend = plot(direction gt; 0? supertrend : na, "Down Trend", color = color.red, style=plot.style_linebr, linewidth=3) // bgcolor(supertrendDown ? color.purple : na) // bgcolor(supertrendUp ? color.yellow :na) //doesn't always work bgcolor(direction lt; 0 and direction[1] gt; 0 ? color.green : na) bgcolor(direction gt; 0 and direction[1] lt; 0 ? color.red : na) //seems to work //bgcolor(direction lt; 0 and direction[2] gt; 0 ? color.green : na) //bgcolor(direction gt; 0 and direction[2] lt; 0 ? color.red : na)
Вызовы на direction[1]
gt; 0 и gt; direction[1]
направление[2] gt; 0 и направление[2] gt;
Обратите внимание, что вертикальные полосы не отображаются со direction[1]
значениями…
Комментарии:
1. Можете ли вы прикрепить скриншот? В моем случае это работает.