EA-29797 · 趋势跟踪
my_ts15
这个EA是一个追踪止损工具,根据移动平均线和价格距离参数来修改已有持仓的止损位。它本身不开仓,但在止损超过最大允许距离时可以平仓。追踪逻辑根据持仓是否盈利,在MA追踪和价格追踪之间动态调整。
打开交互版(权益曲线、切换品种)基本信息
回测结果(H1,约 1 年)
暂未回测:这个 EA 还没能自动转换。
策略分析
这个EA的核心策略概念是利用移动平均线作为动态支撑/阻力来追踪止损,实现趋势跟踪式的利润保护。入场条件方面,该EA不负责开仓,仅管理已有持仓的止损。出场条件有两个:一是当价格触及动态追踪止损位时由止损单触发平仓,二是当持仓亏损超过max_sl点数且pre_init开启时强制平仓。仓位管理方面,该EA不涉及开仓手数设置,仅修改已有仓位的止损和止盈。资金管理方面,max_sl参数提供了最大止损限制功能,防止单笔亏损过大。追踪止损逻辑区分盈利和亏损两种状态:盈利时使用较紧的trail_behind_price距离追踪,亏损时使用较宽的trail_behind_negative距离追踪,同时MA线作为另一个追踪基准,取两者中较优者。
优势
- 双模式追踪止损:同时使用MA线和价格距离两个基准,取较优值,提供更灵活的止损保护
- 区分盈利/亏损状态:盈利时收紧追踪距离,亏损时放宽追踪距离,避免在回调中被过早止损出局
- 最大止损限制功能:pre_init和max_sl参数可以限制单笔最大亏损,具备基本的风控能力
- 支持多空双向:对多头和空头持仓分别实现对称的追踪止损逻辑
- 可视化MA线:可在图表上显示MA指标线,便于直观判断追踪止损位置
劣势
- 没有新K线检查:每个tick都会执行追踪逻辑,可能导致频繁发送修改请求,增加服务器负担和被拒绝的风险
- 没有点差过滤:在点差较大时追踪止损可能被立即触发,导致不必要的止损出场
- PositionModify返回值未检查:调用PositionModify后未验证是否成功,可能在静默失败中遗漏止损修改
- 仅支持当前图表品种:硬编码了_Symbol过滤,无法跨品种管理持仓
- trail_step为0时可能导致每个tick都发送修改请求,即使止损位变化极小
改进建议
- 添加新K线检查或最小时间间隔检查,避免每个tick都执行止损修改逻辑
- 检查PositionModify和PositionClose的返回值,处理交易请求失败的情况
- 添加点差过滤和最小止损距离检查,确保止损位符合经纪商的最小止损水平要求
- 添加OnTradeTransaction回调来监控止损修改是否真正执行成功
风险评估
总体风险: 低风险
- 每个tick执行止损修改可能导致频繁请求被服务器拒绝
- 未检查交易操作返回值,止损修改可能静默失败导致持仓缺少保护
- 强制平仓功能(pre_init)在快速行情中可能因滑点而无法按预期价格执行
评估得分
代码质量3.0
策略逻辑3.0
风险管理3.0
稳健性2.0
创新性2.0
文档1.0
综合2.3
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
TS_ma_period | 50 | 移动平均线周期 |
TS_ma_shift | 0 | MA偏移量 |
TS_ma_method | MODE_LWMA | MA平滑类型(线性加权移动平均) |
TS_applied_price | PRICE_WEIGHTED | MA应用价格类型(加权价格) |
TS_show | true | 是否显示指标线 |
pre_init | false | 是否强制执行最大止损限制 |
max_sl | 100 | 最大止损点数限制 |
MA_bars_trail | 1 | MA追踪信号回溯K线数 |
trail_behind_MA | 5 | MA后方的追踪止损点数 |
trail_behind_price | 30 | 盈利时价格后方的追踪止损点数 |
trail_behind_negative | 60 | 亏损时价格后方的追踪止损点数 |
trail_step | 0 | 追踪止损最小变动步长 |
同类 EA:趋势跟踪
回测是历史模拟,不代表未来收益,不构成投资建议。