EA_AML_1-01
该EA基于自适应市场水平(AML)自定义指标进行交易,该指标利用分形维度分析创建自适应平滑线。当AML值处于前一根K线的开收盘区间内时,根据阳线或阴线方向开仓;启用反向交易时,收到相反信号会平仓并反转。
打开交互版(权益曲线、切换品种)基本信息
回测结果(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 都可能亏钱。
高:回测中爆仓,或使用马丁/网格加仓且不设止损。偏高:马丁或网格加仓但有止损,或不设止损且可同时持有多个仓位。 标签的含义和我们的发现 →
策略分析
策略概念基于自适应市场水平(AML)指标,该指标通过分形维度计算自适应平滑系数alpha,对加权价格进行指数平滑,当平滑值变化超过阈值时更新AML线,否则保持前值。入场条件为:当无持仓时,若AML值位于前一根阳线的开盘价与收盘价之间则买入,若位于前一根阴线的开收盘之间则卖出。出场条件依赖止损和止盈参数,同时在启用反向交易时,若当前持多单且出现卖出信号则平多开空,反之亦然。仓位管理支持固定手数和基于余额与最大回撤比例的自适应手数计算两种模式。资金管理方面,自适应手数模式下按账户余额与最大回撤比值乘以基础手数来计算,并设有最大手数限制。止损止盈在开仓后通过多次尝试修改订单来设置,最多尝试N_modify_sltp次。
优势
- 使用分形维度自适应平滑,指标能根据市场波动性自动调节灵敏度
- 支持反向信号平仓反手,可在趋势转变时及时调整仓位方向
- 提供自适应手数模式,根据账户余额动态调整仓位大小
- 止损止盈修改有重试机制,提高了订单修改的成功率
- 仅在新K线开盘时执行交易逻辑,避免逐tick重复计算
劣势
- 仅支持单品种单仓位交易,使用PositionSelect(Symbol())无法处理同品种多单
- SL/TP值以点数设置但默认TP远大于SL(3500 vs 500),风险收益比虽好但TP极难触达
- 止损止盈在开仓后通过修改方式设置而非直接在订单中设置,存在修改失败导致裸仓的风险
- close()函数中OrderSend失败后调用GetLastError()但未使用返回值,错误处理形同虚设
- 自适应手数模式下Max_drawdown参数含义不明确,且未考虑已占用保证金
- 缺少点差过滤、交易时段限制等基本风控措施
改进建议
- 将止损止盈直接在开仓订单中设置(MqlTradeRequest的sl/tp字段),避免修改失败导致的裸仓风险
- 增加点差过滤和交易时段控制,防止在高点差或低流动性时段开仓
- 改用订单遍历方式管理仓位而非PositionSelect,以支持多策略同品种并行运行
风险评估
总体风险: 中等
- 止损止盈通过修改方式设置,修改失败则仓位无止损保护
- TP设置为SL的7倍,大部分交易可能最终由止损触发而非止盈
- 缺少点差过滤,高点差环境下可能不利成交
- close()函数错误处理不完善,OrderSend失败后未正确记录和处理错误
评估得分
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
Lots | 0.1 | 固定交易手数 |
TP | 3500 | 止盈点数 |
SL | 500 | 止损点数 |
Slippage | 45 | 允许滑点 |
magic | 20120830 | 订单魔术数 |
N_modify_sltp | 7 | 修改止损止盈最大尝试次数 |
use_opposite | true | 是否启用反向信号平仓反手 |
use_Multpl | false | 是否启用自适应手数模式 |
Max_drawdown | 1800 | 自适应手数模式的最大回撤参考值 |
Fractal | 70 | AML指标分形周期参数 |
Lag | 18 | AML指标滞后参数 |
Shift | 0 | AML指标水平偏移 |
同类 EA:均值回归
回测是历史模拟,不代表未来收益,不构成投资建议。