### 先说说为啥要优化?
普通指标要么太敏感(比如5日线交叉),要么太滞后(比如60日线),关键是没考虑「当下市场到底是在趋势还是盘整」。优化后的指标得解决两个问题:① 趋势明确时不踏空 ② 盘整时少出信号。
### 优化后的3步过滤公式(文华财经T8可用,麦语言版)
#### 1. 趋势方向判断(双均线定方向)
用「短期均线-长期均线」的差值判断趋势,比如20日减60日(参数可按品种调,农产品波动小可用15/45,工业品波动大可用25/75):
```
MA_SHORT := MA(CLOSE,20);
MA_LONG := MA(CLOSE,60);
TREND := MA_SHORT - MA_LONG; // 正值为潜在多头,负值为潜在空头
```
#### 2. 波动率过滤(ATR筛掉盘整信号)
盘整期就算均线有交叉,也可能是假突破,用ATR(平均真实波幅)判断当下波动够不够:
```
ATR := MA(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(LOW-REF(CLOSE,1))),14);
VOLATILITY_FILTER := ATR > MA(ATR,60)*1.2; // 只有当波动比近60天平均高20%,才认为有趋势动能
```
#### 3. 信号确认(双条件同时满足才出信号)
多空信号必须同时过两关:趋势方向对 + 波动率够:
```
// 多头信号:趋势向上+波动率达标+短期均线上穿长期
LONG_SIGNAL := TREND>0 AND VOLATILITY_FILTER AND CROSS(MA_SHORT,MA_LONG);
// 空头信号:趋势向下+波动率达标+短期均线下穿长期
SHORT_SIGNAL := TREND<0 AND VOLATILITY_FILTER AND CROSSDOWN(MA_SHORT,MA_LONG);
```
### 关键参数怎么调?
别死磕固定数值!比如螺纹钢日线用20/60均线+ATR倍数1.2,豆粕日线就得调到15/45均线+ATR倍数1.1(波动小的品种,波动率阈值要低一点)。这些品种适配参数表,在公众号【量化刘百万】里按「农产品/工业品」分类整理过,不用自己一个个试。
最后说句大实话:指标是工具不是圣杯。比如最近黑色系波动大,ATR倍数可以临时调到1.3,避免追高;震荡市就把倍数提到1.5,少出手。如果你想看看不同品种的实盘信号案例,在【量化刘百万】里有近3个月的螺纹钢、豆粕信号回测记录,能直观看到参数怎么跟着市场变。
发布于2026-1-4 16:28 北京



分享
注册
1分钟入驻>

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

