如何在pinescript中创建全局变量(Tradingview)

Jas*_*ard 4 variables abstract trend pine-script

我正在努力在交易视图中创建一个趋势指标来跟踪趋势的走向。具体来说,我想要一个变量在几天内保持不变,但当满足特定条件时它会发生变化。看起来应该很简单,但每次我尝试时,我都会陷入一个永无休止的循环,而且我似乎无法理解它。变量“趋势”


///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")

Run Code Online (Sandbox Code Playgroud)

所以基本上我想做的是保持趋势的运行总计,每次有 2 个连续的蜡烛与趋势相反,它就会切换到中性,但随着趋势继续向 1 方向移动,它可以恢复到 +-2 (这就是我们离中立的距离永远不会超过 2 个“回调”。我已经为此绞尽脑汁好几天了,但如果有人有任何想法,任何帮助将不胜感激。