Я работаю над созданием индикатора тренда в tradingview, чтобы отслеживать, в каком направлении идет тренд. В частности, мне нужна переменная, которая будет оставаться неизменной в течение нескольких дней, но при выполнении определенного условия она изменится. Кажется, что это должно быть просто сделать, но каждый раз, когда я пытаюсь, меня бросает в бесконечный l oop, и я не могу осознать это. Переменная «Тренд»
///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 последовательных свечи против тренда, он переключается на нейтральный, но по мере того, как тренд продолжает двигаться в 1 направлении, он может увеличиваться до + -2 (Это было то, что мы никогда не отклоняемся более чем на 2 "отката" от нейтрального. Я ломал голову над этим уже несколько дней, но если у кого-то есть идеи, любая помощь может быть оцененным.