如何在TradingView Pine编辑器中结合DeMark9与MACD生成合并买卖信号
整合DeMark9与MACD组合信号的Pine脚本
以下是修改后可直接运行的完整代码,默认用最通用的MACD金叉/死叉作为判断条件,你也可以根据自身需求调整MACD的触发规则:
//DeMark_9_+_MACD_Combined_Indicator study("Nathan's Bot Indicator (MACD Filtered)",overlay=true) // 原有DeMark9计算逻辑 TD = close > close[4] ? nz(TD[1]) + 1 : 0 TS = close < close[4] ? nz(TS[1]) + 1 : 0 TDUp = TD - valuewhen(TD < TD[1], TD , 1 ) TDDn = TS - valuewhen(TS < TS[1], TS , 1 ) // 新增MACD计算逻辑,默认参数12/26/9可自行修改 [macdLine, signalLine, _] = macd(close, 12, 26, 9) // MACD买入条件:默认MACD金叉,可按需修改规则 macd_buy_condition = crossover(macdLine, signalLine) // MACD卖出条件:默认MACD死叉,可按需修改规则 macd_sell_condition = crossunder(macdLine, signalLine) // 原有DeMark 7、8计数标记,无过滤 plotshape(TDUp==7 ? true : na, style=shape.triangledown, text="7", color=green, location=location.abovebar) plotshape(TDUp==8 ? true : na, style=shape.triangledown, text="8", color=green, location=location.abovebar) // 卖出信号:DeMark9出现在K线上方 + MACD卖出条件成立 plotshape(TDUp==9 and macd_sell_condition ? true : na, style=shape.triangledown, text="⚠️", color=green, location=location.abovebar) plotshape(TDDn==7 ? true : na, style=shape.triangleup, text="7", color=red, location=location.belowbar) plotshape(TDDn==8 ? true : na, style=shape.triangleup, text="8", color=red, location=location.belowbar) // 买入信号:DeMark9出现在K线下方 + MACD买入条件成立 plotshape(TDDn==9 and macd_buy_condition ? true : na, style=shape.triangleup, text="✅", color=red, location=location.belowbar)
- 脚本保留了原有DeMark9的7、8计数标记,仅对最终的9号买卖信号叠加了MACD过滤条件,符合你要求的多指标同时满足才触发信号的规则
- 若你需要调整MACD的判断规则,直接修改
macd_buy_condition和macd_sell_condition的赋值即可,比如要判断MACD值大于0作为买入条件,只需改成macd_buy_condition = macdLine > 0 - 若你需要给7、8计数也加上MACD过滤,参照9号信号的写法,在对应plotshape的判断条件里加上
and macd_xx_condition即可
内容的提问来源于stack exchange,提问作者Nathan M
相关产品推荐
相关产品推荐

