You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

带多入场条件的买入指标:复选框控制筛选信号失效问题求助

问题解决:复选框控制EMA买入信号失效修复

问题根源

  1. 逻辑错误:原代码中关闭复选框时返回na,但and逻辑运算里只要存在na,整个表达式结果就会变成na,plotshape不会把na判定为有效信号。
  2. 语法笔误:代码里的and nd是拼写错误,正确应为and。

修正方案

当复选框关闭时,将对应条件设为true(即该条件自动满足,不参与筛选),仅让开启的条件参与and运算,同时修正语法错误:

//@version=5
indicator("Test", overlay=true)

// 复选框设置
ShowMA1 = input.bool(true, "20 EMA")
ShowMA2 = input.bool(true, "50 EMA")
ShowMA3 = input.bool(true, "100 EMA")
ShowMA4 = input.bool(true, "200 EMA")

// 均线条件定义
MA1 = close > ta.ema(close, 20)
MA2 = close > ta.ema(close, 50)
MA3 = close > ta.ema(close, 100)
MA4 = close > ta.ema(close, 200)

// 生成买入信号:关闭的复选框对应条件自动为true,仅校验开启的条件
BuySignal = (ShowMA1 ? MA1 : true) and (ShowMA2 ? MA2 : true) and (ShowMA3 ? MA3 : true) and (ShowMA4 ? MA4 : true)

// 绘制买入信号
plotshape(BuySignal, title="BUY", text="BUY", location=location.belowbar, style=shape.labelup, size=size.tiny, color=color.rgb(7, 104, 201), textcolor=color.white, transp=0)

关键说明

  • 关闭某个复选框时,ShowMAx ? MAx : true会返回true,相当于该条件不做限制,仅让开启的条件共同生效。
  • 修正了语法错误后,逻辑运算能正常执行,开启任意组合的复选框都能生成对应信号。

内容的提问来源于stack exchange,提问作者user2334436

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 16:05:09