EA-69545 · 突破
VR Breakdown level
该EA实现了一个简单的突破策略,当价格突破前一根K线的最高价时买入,跌破前一根K线的最低价时卖出。每个tick检查持仓并设置止损止盈,交易触发后重置突破水平,等待下一个新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 都可能亏钱。
高:回测中爆仓,或使用马丁/网格加仓且不设止损。偏高:马丁或网格加仓但有止损,或不设止损且可同时持有多个仓位。 标签的含义和我们的发现 →
策略分析
策略概念基于价格突破前一根K线的最高价和最低价进行交易,属于经典的突破策略。入场条件为:当Ask价格大于等于前一根K线最高价时开多单,当Bid价格小于等于前一根K线最低价时开空单。出场条件依赖固定的止损和止盈点数(止损200点,止盈400点),止盈是止损的两倍,风险收益比为1:2。仓位管理仅使用固定手数(0.01手),在初始化时根据品种的最小手数步长进行校正,但若校正后手数低于最小允许值则设为0,可能导致EA无法交易。资金管理方面没有动态仓位调整或资金比例计算,完全依赖用户手动设定手数。策略在每次交易成功后会重置突破水平,避免同一水平重复入场,直到新K线形成才更新水平。
优势
- 策略逻辑简洁清晰,代码易于理解和维护
- 止损止盈比例1:2,具有正期望的风险收益比
- 每次交易后重置突破水平,避免在同一水平反复开仓
- 使用魔幻号过滤持仓,不会干扰其他EA或手动交易
- 包含止损止盈的合规性检查(CheckSL_TP),尊重经纪商的最小止损距离要求
劣势
- 没有检查是否已有同方向持仓,可能在同一突破方向上反复开仓导致过度暴露
- 固定手数无动态仓位管理,无法根据账户资金或波动率调整风险
- 突破策略在震荡行情中会产生大量假突破导致连续亏损
- 没有交易次数限制或最大持仓限制,风险敞口不可控
- 如果手数校正后低于最小手数则设为0,EA将静默无法交易且无警告提示
改进建议
- 增加持仓数量限制和同方向持仓检查,避免过度开仓
- 添加动态仓位管理(如基于账户余额百分比或ATR波动率),替代固定手数
- 增加震荡行情过滤器(如ADX或ATR阈值),在低波动率或横盘时暂停交易
- 当手数校正后低于最小值时,应在OnInit中返回INIT_FAILED并输出错误日志
- 添加最大回撤保护或每日最大亏损限制,防止极端行情下的巨额亏损
风险评估
总体风险: 中等
- 无持仓数量限制,可能在同一方向重复开仓导致过度暴露
- 突破策略在震荡市中会产生大量假信号和连续亏损
- 无最大回撤或每日亏损保护机制
- 手数校正失败时静默设为0,用户可能不知EA无法交易
评估得分
代码质量3.0
策略逻辑2.0
风险管理2.0
稳健性2.0
创新性1.0
文档3.0
综合2.2
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
iLots | 0.01 | 交易手数 |
iTimeFrame | PERIOD_CURRENT | 分析所用的时间周期 |
iTakeProfit | 400 | 止盈点数 |
iStopLoss | 200 | 止损点数 |
iMagicNumber | 227 | EA订单唯一标识符(魔幻号) |
iSlippage | 30 | 最大允许滑点(点数) |
同类 EA:突破
回测是历史模拟,不代表未来收益,不构成投资建议。