Как сделать глобальную переменную в pinescript(Tradingview)

Я работаю над созданием индикатора тренда в TradingView, чтобы отслеживать направление тренда. В частности, мне нужна переменная, которая будет оставаться неизменной в течение нескольких дней, но при выполнении определенного условия она изменится. Кажется, что это должно быть просто сделать, но каждый раз, когда я пытаюсь, я попадаю в бесконечный цикл, и я не могу понять это. Переменная «Тренд»


///Condition
pos = close > open
neg = close < open

pos_cond = pos and pos[1]
neg_cond = neg and neg[1]

///Variables to keep track of trend

Trend = iff(***pos_cond or neg_cond not met***, Trend[1], Trend + real_trend)

trend_change_neg = iff(pos_cond, 1, 0)
trend_change_pos = iff(neg_cond, -1, 0)

real_trend = trend_change_neg + trend_change_pos

Trend = iff(Trend > 2, 2, iff(Trend < -2, -2, Trend))

/////////plots
plotshape(Trend > 0, color = color.green, location = location.top, style = shape.square, title="TrendLong")

plotshape( Trend == 0, color = color.yellow, location = location.top, style = shape.square, title = "TrendNeutral")

plotshape( Trend < 0, color = color.red, location = location.top, style = shape.square, title = "TrendShort")

Итак, в основном, что я хочу сделать, это сохранить промежуточный итог для тренда, где каждый раз, когда есть 2 последовательные свечи против тренда, он переключается на нейтральный, но по мере того, как тренд продолжает двигаться в одном направлении, он может вернуться к +-2 (Это было то, что мы никогда не находимся более чем в 2 «откатах» от нейтрали. Я ломал голову над этим уже несколько дней, но если у кого-то есть какие-либо идеи, любая помощь будет оценена.


person Jason Maynard    schedule 20.06.2020    source источник


Ответы (1)


Вам нужно использовать вар. Пример:

var a = 0
a:=close>open?1:0
  

https://www.tradingview.com/pine-script-docs/en/v4/language/Expressions_declarations_and_statements.html

person Denzel    schedule 20.06.2020