Вы можете создать серию, которая будет содержать ваш результат триггера на каждом баре.
Затем вы можете просто сослаться на значение триггера на предыдущем баре, используя конструкцию [1]
, и построить close[1]
на текущем баре.
Если вы не хотите, чтобы значение в серии отображалось, вы можете построить график для значения na
, например:
signal_on_previous_candle ? previousClose : na
?:
- это тернарный оператор , который является сокращенным оператором if-then-else
.
Приведенный выше код также может быть записан как
if signal_on_previous_candle
previousClose
else
na
Я думаю, это то, что вы ищете
//@version=4
study("bullPlot", overlay=true)
var bool signal_on_candle = false
signal_trigger_time = timestamp(year(timenow), month(timenow), dayofmonth(timenow), 11, 30, 0)
signal_triggered = time == signal_trigger_time
if signal_triggered
signal_on_candle := true
else
signal_on_candle := false
signal_on_previous_candle = signal_on_candle[1]
previousClose = close[1]
plot(signal_on_previous_candle ? previousClose : na, title="Dot",style=plot.style_circles, color=color.yellow, linewidth=5)
Этот код может быть короче, но он приведен в иллюстративных целях.