首页 > 解决方案 > 如何在 pinescript(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 根连续蜡烛反对趋势时,它会切换到中性,但随着趋势继续向 1 个方向移动,它可以恢复到 +-2 (这是我们离中立的“回调”不超过 2 次。我已经为此绞尽脑汁好几天了,但如果有人有任何想法,我们将不胜感激。

标签: variablesabstractpine-scripttrend

解决方案



推荐阅读