EA-1290 · 趋势跟踪
Exp_3XMA_Ishimoku
该EA基于石毛概念的三重平滑移动平均系统,将中央XMA线与由高低价平滑得出的上下包络线进行比较。当XMA上穿包络上限时产生买入信号,下穿包络下限时产生卖出信号,支持可配置平滑算法和多时间框架。
打开交互版(权益曲线、切换品种)基本信息
回测结果(H1,约 1 年)
| 品种 | 盈亏 | 年化 | 最大回撤 | 交易数 | 胜率 | 夏普 | 恢复因子 | 最长连亏 | 每笔期望 | 状态 |
|---|---|---|---|---|---|---|---|---|---|---|
| EURUSD | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | 自定义指标为近似 |
| GBPUSD | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | 自定义指标为近似 |
| USDJPY | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | 自定义指标为近似 |
| XAUUSD | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | 自定义指标为近似 |
由 MQL5 自动转换为 Python,所有 EA 使用同一套规则回测:按 MT5 手数计仓(外汇每手 10 万单位、黄金每手 100 盎司),1:100 杠杆,同一时间只有一张挂单,净值跌破初始资金 10% 时强平。夏普比率按权益曲线计算。标为不可靠的结果仅供参考。
爆仓风险: 未发现爆仓模式
代码里没有发现常见的爆仓模式,回测中账户也没有爆仓。但这不是保证,任何 EA 都可能亏钱。
高:回测中爆仓,或使用马丁/网格加仓且不设止损。偏高:马丁或网格加仓但有止损,或不设止损且可同时持有多个仓位。 标签的含义和我们的发现 →
策略分析
策略核心是基于三重平滑移动平均的石毛趋势跟踪系统。入场条件:当XMA值从下方突破上下包络线的最大值时触发买入信号,当XMA值从上方跌破上下包络线的最小值时触发卖出信号。出场条件:通过独立的买卖平仓权限控制,买入信号同时触发空头平仓,卖出信号同时触发多头平仓。仓位管理使用固定手数或基于存款比例的资金管理参数MM,负值代表固定手数大小。止损止盈采用固定点数方式,分别为1000点和2000点。策略使用三个不同周期的XMA(8/25/80)构建多层次的平滑体系,支持SMA、EMA、JJMA、JurX等多种平滑算法。
优势
- 三重平滑体系(8/25/80周期)提供多层次的噪音过滤,信号更加可靠
- 支持多种平滑算法(SMA/EMA/JJMA/JurX等),灵活度高,可适应不同市场环境
- 独立的买卖开仓和平仓权限控制,可以单独启用或禁用每个方向的操作
- 有新K线检测机制,避免同一根K线内重复交易
- 止损止盈参数齐全,具备基本的风险控制框架
劣势
- 止损1000点和止盈2000点的固定值过大,在多数品种上可能导致不必要的风险敞口
- 缺乏点差过滤和交易时间过滤,在点差较大或流动性差的市场时段可能产生不利成交
- 没有持仓数量检查,可能重复开仓导致仓位过大
- MM参数为负值时表示固定手数的设计不够直观,容易误用
- 依赖外部自定义指标3XMA_Ishimoku,如果该指标未正确安装则EA无法运行且仅打印日志而非停止初始化
改进建议
- 增加点差过滤和交易时段过滤,避免在不利条件下开仓
- 添加最大持仓数量限制和资金管理优化,防止过度集中仓位
- 将指标句柄获取失败时返回INIT_FAILED而非继续运行,并增加更完善的错误处理机制
风险评估
总体风险: 中等
- 指标句柄获取失败时EA仍继续运行,OnTick中所有CopyBuffer调用将失败并导致持续Recount
- 没有最大持仓数量检查,理论上可以在每个新信号上无限开仓
- 固定止损止盈点数不考虑品种波动率差异,可能对某些品种不适合
- MM参数负值表示固定手数的语义不直观,用户可能误设为过大手数
评估得分
代码质量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 | 指标时间框架 |
Up_period1 | 3 | 高价计算周期1 |
Dn_period1 | 3 | 低价计算周期1 |
Up_period2 | 6 | 高价计算周期2 |
Dn_period2 | 6 | 低价计算周期2 |
Up_period3 | 9 | 高价计算周期3 |
Dn_period3 | 9 | 低价计算周期3 |
Up_mode1 | HIGH | 高点搜索时间序列1 |
Dn_mode1 | LOW | 低点搜索时间序列1 |
Up_mode2 | HIGH | 高点搜索时间序列2 |
Dn_mode2 | LOW | 低点搜索时间序列2 |
Up_mode3 | HIGH | 高点搜索时间序列3 |
Dn_mode3 | LOW | 低点搜索时间序列3 |
XMA1_Method | MODE_SMA | 平滑方法1 |
XMA2_Method | MODE_SMA | 平滑方法2 |
XMA3_Method | MODE_SMA | 平滑方法3 |
XLength1 | 8 | 平滑深度1 |
XLength2 | 25 | 平滑深度2 |
XLength3 | 80 | 平滑深度3 |
XPhase | 15 | 平滑参数(JJMA范围-100~+100,VIDIA为CMO周期,AMA为慢MA周期) |
SignalBar | 1 | 获取入场信号的K线索引 |
同类 EA:趋势跟踪
回测是历史模拟,不代表未来收益,不构成投资建议。