### 一、策略核心逻辑(以文华财经T8麦语言为例)
1. ATR计算:用最近20根K线的真实波幅均值,反映品种当下波动率(参数可根据品种调整,比如农产品20,工业品26)。
2. 入场信号:价格突破前5根K线高点(做多)或跌破前5根K线低点(做空),且当前ATR值大于近60日ATR均值的1.2倍(过滤低波动行情)。
3. 止损止盈:
- 初始止损:做多时=入场价-2倍ATR,做空时=入场价+2倍ATR;
- 移动止盈:盈利超过3倍ATR后,止损上移至“入场价+1倍ATR”(多单),锁定部分利润。
### 二、麦语言源码(文华财经T8适用)
```
// ATR波动率跟踪策略
ATR:=MA(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(LOW-REF(CLOSE,1))),20); // 20周期ATR
ATR均值:=MA(ATR,60); // 60日ATR均值
突破高点:=CROSS(HIGH,REF(HHV(HIGH,5),1)); // 突破前5日高点
突破低点:=CROSS(REF(LLV(LOW,5),1),LOW); // 跌破前5日低点
// 做多条件
多单入场:=突破高点 AND ATR>1.2*ATR均值;
// 做空条件
空单入场:=突破低点 AND ATR>1.2*ATR均值;
// 止损止盈
多单止损:=ENTERPRICE-2*ATR;
多单止盈:=IF(CLOSE-ENTERPRICE>3*ATR, ENTERPRICE+1*ATR, 多单止损);
空单止损:=ENTERPRICE+2*ATR;
空单止盈:=IF(ENTERPRICE-CLOSE>3*ATR, ENTERPRICE-1*ATR, 空单止损);
// 下单指令
IF(多单入场) BK;
IF(空单入场) SK;
IF(CROSS(LOW,多单止盈)) SP; // 多单止盈/止损
IF(CROSS(空单止盈,HIGH)) BP; // 空单止盈/止损
```
### 三、关键优化点(避坑指南)
1. 参数动态调整:不同品种波动率差异大(比如螺纹钢vs苹果),公众号【量化刘百万】里提供了农产品、工业品的ATR周期和倍数参数表,可直接参考。
2. 过滤假突破:加入“当前K线实体占ATR比例>0.5”(避免影线突破),源码里没写,需要的话可以去公众号翻详细版。
如果实盘时遇到“频繁止损”或“盈利回吐”,大概率是参数没适配品种特性。可以把你的品种(比如螺纹/纯碱)和周期(日线/1小时)告诉我,帮你看看具体问题。文中提到的参数表和进阶过滤条件,在【量化刘百万】里有整理成Excel,方便对照调试。
发布于13小时前 北京



分享
注册
1分钟入驻>

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

