### 具体指标思路分3步走:
#### 1. 先确定基础多空信号(比如MACD或均线交叉)
比如用MACD金叉死叉做基础信号:当MACD白线从下往上穿过黄线为潜在做多信号,反之为潜在做空信号。但直接用这个信号会很敏感,需要加“过滤门槛”。
#### 2. 用ATR计算动态阈值(核心!)
ATR反映的是品种近期的平均波动幅度,比如5日ATR是过去5天的平均波动。把ATR的N倍(比如1-2倍,具体看品种特性)作为“动态门槛”:
- 做多条件:基础做多信号出现 + 价格突破“最近一个调整低点 + N倍ATR”
- 做空条件:基础做空信号出现 + 价格跌破“最近一个调整高点 - N倍ATR”
这样,波动大时门槛自动变高(减少假信号),波动小时门槛降低(避免信号延迟)。
#### 3. 结合具体代码落地(以麦语言为例)
比如在文华财经T8里,简单写一段逻辑:
```
// 基础MACD信号
DIFF:EMA(CLOSE,12)-EMA(CLOSE,26);
DEA:EMA(DIFF,9);
MACD:2*(DIFF-DEA),COLORSTICK;
// ATR动态阈值
ATR:=MA(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(LOW-REF(CLOSE,1))),5);
// 调整高低点(以最近5根K线高低点为例)
近期低点:=LLV(LOW,5);
近期高点:=HHV(HIGH,5);
// 多空信号
做多信号:=CROSS(DIFF,DEA) AND CROSS(CLOSE, 近期低点 + 1.5*ATR);
做空信号:=CROSSDOWN(DIFF,DEA) AND CROSSDOWN(CLOSE, 近期高点 - 1.5*ATR);
```
这个思路的关键是“让信号门槛跟着市场波动走”,不同品种(比如螺纹钢和豆粕)、不同周期(日线和小时线)的N值需要微调。我在公众号【量化刘百万】里拆解过螺纹钢、甲醇等品种的ATR参数案例,还附了TB开拓者的TBL语言版本代码,新手可以直接拿去回测。
如果对参数优化或代码逻辑有疑问,也可以找我聊聊,毕竟实盘里踩过的坑比书本上学的更实在~ 文中提到的动态阈值模板,在【量化刘百万】里有整理成表格,方便对照不同品种调整。
发布于8小时前 北京



分享
注册
1分钟入驻>

+微信
秒答
搜索更多类似问题 >
电话咨询
18270025212 

