Pine Script 如何为现有多头入场策略添加MACD线高于信号线条件
Pine Script新增MACD入场过滤条件解决方案
不需要使用if或loop结构,Pine Script的strategy.entry函数的when参数本身支持多条件拼接,直接叠加MACD判断规则即可。
你只需要把已定义的MACD线、信号线变量和原有多头条件用逻辑与and拼接,放在when参数里就行,具体修改方法如下:
- 先确认你定义的MACD线、信号线变量名,下文以通用命名
macdLine、signalLine为例,你可以替换成自己的变量名 - 两种过滤规则可按需选择:
- 宽松过滤:只要MACD线位于信号线上方的所有时段,符合原有多头条件都可入场,使用
macdLine > signalLine - 严格交叉过滤:仅在MACD线上穿信号线的当根K线,符合原有多头条件才可入场,使用
ta.crossover(macdLine, signalLine)
- 宽松过滤:只要MACD线位于信号线上方的所有时段,符合原有多头条件都可入场,使用
修改后的代码示例:
// 你之前已完成的MACD定义代码(示例,无需改动) // [macdLine, signalLine, histLine] = ta.macd(close, 12, 26, 9) // 新增MACD条件后的多头入场代码 strategy.entry("L", strategy.long, 1, when = long and macdLine > signalLine) // 原有平仓逻辑保持不变 strategy.close("L", when = short)
内容的提问来源于stack exchange,提问作者Trader_M
相关产品推荐
相关产品推荐

