Я работаю над созданием индикатора тренда в 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 «откатах» от нейтрали. Я ломал голову над этим уже несколько дней, но если у кого-то есть какие-либо идеи, любая помощь будет оценена.