Volatility_HFT_EA
该EA使用两条简单移动均线(SMA5和SMA25)生成买入信号,入场条件基于短期均线与收盘价的偏离值及均线上斜条件。它在新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 都可能亏钱。
高:回测中爆仓,或使用马丁/网格加仓且不设止损。偏高:马丁或网格加仓但有止损,或不设止损且可同时持有多个仓位。 标签的含义和我们的发现 →
策略分析
策略概念基于短期均线与价格之间的偏离作为波动性信号,当偏离值超过阈值(-0.0015)且短期均线呈上斜趋势时触发买入。入场条件为:val[0](MA5与收盘价之差)小于-0.0015,且MA_Val1[0]大于MA_Val1[2],表示价格低于均线且均线上升。出场条件依赖固定止损(15点,5/3位小数经纪商自动调整)和以MA5当前值作为止盈。仓位管理使用SymbolInfoDouble获取最小交易手数,未实现任何加仓或仓位调整逻辑。资金管理部分存在严重缺陷:margin变量未初始化即与free_margin比较,实际上条件判断形同虚设,几乎总是通过。卖出逻辑被完全注释掉,EA只做多不做空,策略不完整。
优势
- 使用新K线判断避免同一根K线重复交易,逻辑合理
- 包含数据同步检查和重试机制,对历史数据加载有一定容错
- 止损和止盈参数可配置,5/3位小数经纪商自动乘10调整
- 交易前检查是否已有同方向持仓,防止重复开仓
劣势
- 卖出逻辑被完全注释掉,EA只做多,策略严重不完整
- margin变量未初始化即用于条件判断,资金管理检查形同虚设
- EA_Magic参数未在买单中使用(硬编码15489),参数与实际行为不一致
- TakeProfit参数在买单中未使用(止盈设为MA值),参数名与功能不符
- 偏离阈值-0.0015硬编码,对不同品种和价格水平不具适应性
- 仅检查单品种单持仓,不支持多单同时存在的情况
改进建议
- 修复margin变量初始化问题,使用OrderCalcMargin正确计算所需保证金后再比较
- 恢复卖出逻辑并使用EA_Magic参数,使策略完整且参数一致
- 将偏离阈值改为可配置参数,或根据ATD/ATR动态计算以适应不同品种
风险评估
总体风险: 需谨慎
- margin变量未初始化导致资金检查失效,可能在不满足保证金条件时下单
- 硬编码止盈以MA值为目标,可能过于接近入场价导致频繁微利平仓
- 仅做多策略在下跌行情中完全无法获利,存在方向性风险敞口
- ORDER_FILLING_FOK填充模式在某些经纪商可能被拒绝
评估得分
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
StopLoss | 15 | 止损点数 |
TakeProfit | 15 | 止盈点数(实际未使用,买单止盈以MA值为准) |
EA_Magic | 12345 | EA魔术编号(实际买单硬编码为15489) |
同类 EA:剥头皮
回测是历史模拟,不代表未来收益,不构成投资建议。