EA_MALR_v_1-01
该EA使用自定义MALR(移动平均线性回归)指标进行通道突破交易。价格突破上轨时做多,突破下轨时做空。支持仓位反转、加仓摊平、基于权益的仓位增加以及移动止损功能。
打开交互版(权益曲线、切换品种)基本信息
回测结果(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 | — | — | — | — | — | 暂不支持转换 |
这个 EA 从未交易的原因:转换后没有留下任何开仓规则。
由 MQL5 自动转换为 Python,所有 EA 使用同一套规则回测:按 MT5 手数计仓(外汇每手 10 万单位、黄金每手 100 盎司),1:100 杠杆,同一时间只有一张挂单,净值跌破初始资金 10% 时强平。夏普比率按权益曲线计算。标为不可靠的结果仅供参考。
爆仓风险: 未发现爆仓模式
代码里没有发现常见的爆仓模式,回测中账户也没有爆仓。但这不是保证,任何 EA 都可能亏钱。
高:回测中爆仓,或使用马丁/网格加仓且不设止损。偏高:马丁或网格加仓但有止损,或不设止损且可同时持有多个仓位。 标签的含义和我们的发现 →
策略分析
该EA的核心策略基于自定义MALR指标的通道突破。入场条件为:当收盘价从前一根K线低于上轨变为当前K线高于上轨时做多,反之当收盘价从前一根K线高于下轨变为当前K线低于下轨时做空。出场条件包括固定止损/止盈、移动止损以及仓位反转时平仓。仓位管理方面,支持三种模式:主单开仓(mode=1)、加仓摊平(mode=2,在浮亏达到指定点数时以相同手数加仓)和仓位反转(mode=3,平掉当前仓位后以乘数倍手数反向开仓)。资金管理方面,当启用use_increase时,手数根据账户权益与最大回撤的比值动态调整,即手数=Lot×权益/Max_drawdown。移动止损功能可在盈利达到指定点数后激活,按trail点数跟踪止损。整体策略存在马丁格尔倾向,尤其是反转模式下手数乘以koff_multiplication,可能导致仓位快速放大。
优势
- 支持多种仓位管理模式(主单、摊平、反转),策略灵活度高
- 基于权益的动态手数调整有助于在盈利时放大收益、亏损时缩减仓位
- 移动止损功能可保护已实现利润,降低回撤风险
- 新K线检测机制避免同一根K线重复开仓
劣势
- 仓位反转模式下手数乘以2倍,连续反转会导致马丁格尔式仓位膨胀,风险极高
- 仅支持单品种单仓位(使用Symbol()选择),无法多品种交易
- 加仓摊平功能在单边行情中会不断加仓导致严重浮亏
- 使用PositionSelect(Symbol())而非遍历所有仓位,在hedging账户模式下可能选错仓位
- SL/TP修改重试机制使用Sleep(1000)阻塞,在实时交易中可能错过行情
改进建议
- 移除或限制仓位反转的手数乘数增长,设置最大反转次数或最大手数上限
- 增加点差过滤和波动率过滤,避免在极端行情下盲目开仓
- 改用PositionGetTicket遍历仓位而非PositionSelect,兼容对冲账户模式
- 将Sleep阻塞改为事件驱动方式修改止损止盈
风险评估
总体风险: 高风险
- 反转模式下手数乘以2倍,连续反转造成马丁格尔式指数增长,可能爆仓
- 摊平功能在单边行情中持续加仓,无最大加仓次数限制
- 止损2550点过大(约255点),单笔亏损可能巨大
- 仅依赖Symbol()选择仓位,在hedging账户下可能操作错误仓位
评估得分
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
Lot | 0.1 | 基础手数 |
sl | 2550 | 止损点数 |
tp | 2578 | 止盈点数 |
Slippage | 65 | 允许滑点 |
magic | 20121017 | 订单魔术号 |
N_modify_sltp | 7 | 修改止损止盈重试次数 |
use_Averaging | false | 是否启用加仓摊平 |
loss_forAveraging | 500 | 触发加仓的浮亏点数 |
Position_overturn | true | 是否启用仓位反转 |
koff_multiplication | 2.0 | 反转时手数乘数 |
use_increase | true | 是否启用基于权益的仓位增加 |
Max_drawdown | 5000 | 最大回撤金额(用于计算动态手数) |
Trail_StopLoss | false | 是否启用移动止损 |
trail | 200 | 移动止损跟踪点数 |
Activate_by_profit | true | 是否需盈利达到阈值才激活移动止损 |
profit | 50 | 激活移动止损的盈利点数 |
MAPeriod | 120 | MALR指标的均线周期 |
MAShift | 0 | MALR指标的均线偏移 |
AppliedPrice | PRICE_CLOSE | MALR指标的适用价格类型 |
ChannelReversal | 1.1 | 通道反转系数 |
ChannelBreakout | 1.1 | 通道突破系数 |
同类 EA:突破
回测是历史模拟,不代表未来收益,不构成投资建议。