Pine script 设置价格必须高于/低于给定移动平均线的条件

Pine script 设置价格必须高于/低于给定移动平均线的条件,pine-script,Pine Script,这个问题的实质是如何“检查”价格是否高于或低于移动平均线,作为发出信号并允许创建警报的标准的一部分 我将包括我的示例脚本供参考: study(title="Reverse MACD with buy/sell indicators", overlay=true) fastMA = input(title="Fast moving average", type = integer, defval = 1, minval = 7) slowMA = input

这个问题的实质是如何“检查”价格是否高于或低于移动平均线,作为发出信号并允许创建警报的标准的一部分

我将包括我的示例脚本供参考:

study(title="Reverse MACD with buy/sell indicators", overlay=true)
fastMA = input(title="Fast moving average", type = integer, defval = 1, minval = 7)
slowMA = input(title="Slow moving average", type = integer, defval = 10, minval = 7)
signalLength = input(9,minval=1)

[currMacd,_,_] = macd(close[0], fastMA, slowMA, signalLength)
[prevMacd,_,_] = macd(close[1], fastMA, slowMA, signalLength)
signal = ema(currMacd, signalLength)

crossoverBear = cross(currMacd, signal) and currMacd < signal ? avg(currMacd, signal) : na
crossoverBull = cross(currMacd, signal) and currMacd > signal ? avg(currMacd, signal) : na

plotshape(crossoverBear, title='MACD-BEAR', style=shape.triangledown, text='', location=location.abovebar, color=red, textcolor=black, size=size.tiny) 
plotshape(crossoverBull, title='MACD-BULL', style=shape.triangleup, text='', location=location.belowbar, color=green, textcolor=black, size=size.tiny) 

alertcondition(crossoverBear, "MACD Bear", "MACD Bearish Crossover")
alertcondition(crossoverBull, "MACD Bull", "MACD Bullish Crossover")
研究(title=“用买入/卖出指标反转MACD”,overlay=true)
fastMA=输入(title=“快速移动平均”,type=integer,deffal=1,minval=7)
slowMA=输入(title=“慢速移动平均”,type=整数,deffal=10,minval=7)
信号长度=输入(9,最小值=1)
[currMacd,,]=macd(关闭[0],快速移动,慢速移动,信号长度)
[prevMacd,,]=macd(关闭[1],快速移动,慢速移动,信号长度)
信号=ema(电流、信号长度)
crossoverBear=交叉(电流、信号)和电流<信号?平均值(电流、信号):不适用
CrossOverfull=交叉(电流、信号)和电流>信号?平均值(电流、信号):不适用
plotshape(crossoverBear,title='MACD-BEAR',style=shape.triangledown,text='',location=location.overBar,color=red,textcolor=black,size=size.tiny)
plotshape(crossoverBull,title='MACD-BULL',style=shape.triangleup,text='',location=location.belowbar,color=绿色,textcolor=黑色,size=size.tiny)
alertcondition(交叉超负荷、“MACD熊市”、“MACD熊市交叉”)
alertcondition(交叉超买、“MACD牛市”、“MACD牛市交叉”)
目前,它基于快速移动平均交叉(值1和7,见第3行和第4行)生成信号。我还有两个额外的移动平均线,我正在手动添加到我的图表中作为参考(20和50毫安)。这些当前未在脚本中引用。如果我听从信号,他们会帮助我取得资格

为了减少收到如此多不相关的信号,我想在脚本中加入相对于20&50毫安仓位的价格

也就是说,我希望指标箭头和alertconditions仅在价格高于/低于两条移动平均线时有效(参考时正好是50和20条移动平均线)

(在我的例子中,熊市指数必须同时高于20和50;牛市指数必须同时低于20和50 MA)