EA-1459 · 动量
Exp_MBKAsctrend3
该EA基于MBKAsctrend3自定义指标进行交易,该指标使用三个不同周期的威廉指标(WPR)加权组合来生成买卖信号。在信号出现时开仓,在反转信号出现时平掉反向仓位,并支持可配置的资金管理和止损止盈。
打开交互版(权益曲线、切换品种)基本信息
回测结果(H1,约 1 年)
暂未回测:这个 EA 还没能自动转换。
策略分析
策略核心是基于三个不同周期(9/33/77)的WPR指标加权组合,通过权重(1.0/3.0/1.0)计算综合动量信号来判断趋势方向。入场条件为:当指标上轨(UpValue)在指定信号柱上出现非零非空值时触发买入信号,当下轨(DnValue)出现时触发卖出信号。出场条件包括两种:一是反向信号出现时平仓(如持有空仓时出现上轨信号则平空),二是通过StopLoss和TakeProfit固定点数止损止盈。仓位管理采用MM参数控制,负值表示固定手数,正值表示按存款比例计算手数。该EA还包含历史回溯逻辑,在未收到直接平仓信号时会向前搜索历史柱寻找最近的平仓信号,以确定是否需要平掉当前持仓。策略默认使用H4周期,属于中期动量跟踪类型。
优势
- 多周期WPR加权组合有效平滑了单一指标的噪音信号,提高了信号可靠性
- 支持灵活的资金管理方式(固定手数或存款比例),适应不同交易需求
- 具备完善的买卖和平仓权限控制,可以灵活配置只买、只卖或双向交易
- 使用IsNewBar机制避免同一根K线内重复交易,减少了过度交易风险
劣势
- 历史回溯平仓逻辑(第155-181行)遍历所有历史柱,在数据量大时可能导致严重性能问题
- 止损1000点止盈2000点的默认值过大,可能在很多品种上不合适
- 缺少点差过滤和波动率过滤,在高点差或低波动环境下可能产生不利交易
- 没有对指标句柄的有效性进行充分检查,OnInit失败时EA仍继续运行
改进建议
- 为历史回溯平仓逻辑添加最大回溯柱数限制,避免性能问题
- 增加点差过滤和ATR波动率过滤,避免在不利市场条件下开仓
- 在OnInit中指标句柄获取失败时返回INIT_FAILED而非继续运行
风险评估
总体风险: 中等
- 指标句柄获取失败时EA不会停止运行,可能在无信号的情况下持续执行交易逻辑
- 历史回溯遍历无上限,极端情况下可能遍历数万根K线导致交易线程阻塞
- 没有点差检查,在流动性差的市场中滑点可能远超预期
评估得分
代码质量3.0
策略逻辑3.0
风险管理2.0
稳健性2.0
创新性3.0
文档2.0
综合2.5
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
MM | -0.1 | 资金管理参数,负值为固定手数,正值为存款比例 |
StopLoss_ | 1000 | 止损点数 |
TakeProfit_ | 2000 | 止盈点数 |
Deviation_ | 10 | 最大价格滑点(点数) |
BuyPosOpen | true | 允许买入开仓 |
SellPosOpen | true | 允许卖出开仓 |
BuyPosClose | true | 允许平掉多头仓位 |
SellPosClose | true | 允许平掉空头仓位 |
InpInd_Timeframe | PERIOD_H4 | MBKAsctrend3指标时间周期 |
WPRLength1 | 9 | WPR1指标周期 |
WPRLength2 | 33 | WPR2指标周期 |
WPRLength3 | 77 | WPR3指标周期 |
Swing | 3 | 波动参数 |
AverSwing | -5 | 平均波动参数 |
W1 | 1.0 | WPR1指标权重 |
W2 | 3.0 | WPR2指标权重 |
W3 | 1.0 | WPR3指标权重 |
SignalBar | 1 | 获取入场信号的柱索引 |
同类 EA:动量
回测是历史模拟,不代表未来收益,不构成投资建议。