·服务中心 开户宝

期货量化交易策略源码分享-ATR波动率跟踪策略

还有疑问? 16850 位专业答主在线答疑

立即追问
期货量化交易策略源码分享-ATR波动率跟踪策略
叩富问财 · 835浏览 · 1个回答

量化刘经理 期货

帮助4.4万好评3.6万入驻4年

首发回答
新手做期货量化时,最头疼的就是波动率策略“拿不住趋势”——要么刚入场就被震荡止损,要么趋势来了却没及时加仓。其实ATR(平均真实波幅)是跟踪波动率的“神器”,关键是要把入场、止损、加仓逻辑串起来。我自己实盘验证过不少ATR策略,在公众号【量化刘百万】里整理过不同品种的参数适配案例,下面说个基础版思路:


### 一、策略核心逻辑(以文华财经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,方便对照调试。

发布于2026-2-6 09:12 北京

当前我在线 直接咨询我

举报

关注
同城推荐
查看更多顾问
相关问题
大家都在搜
优选期商
查看更多
相关资讯
搜索更多相关资讯
首页>30秒问财 >期货量化交易策略源码分享-ATR波动率跟踪策略