Exp_iDeMarkerSign
该EA基于自定义iDeMarkerSign指标的交易信号进行操作,该指标通过DeMarker震荡器的超买超卖水平来识别交易机会。当指标在低位发出向上信号时开多仓,在高位发出向下信号时开空仓,并支持反向信号平仓逻辑。仓位管理通过支持多种保证金模式的资金管理模块实现。
打开交互版(权益曲线、切换品种)基本信息
回测结果(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的核心策略是利用DeMarker指标的极值区域反转信号进行交易。入场条件为:当iDeMarkerSign指标在超卖区域(DnLevel=0.3以下)产生上穿信号时开多仓,当在超买区域(UpLevel=0.7以上)产生下穿信号时开空仓。出场条件包括止损和止盈的固定点数设置,以及反向信号出现时的平仓机制——代码中有一段逻辑会在当前无反向信号时回溯历史K线寻找更早的平仓信号。仓位管理支持五种模式:固定手数、基于自由保证金、基于余额、基于净自由保证金和基于净余额的比例计算。资金管理通过TradeAlgorithms.mqh库函数实现,包含滑点容忍度设置。策略默认在H4周期运行,使用SignalBar=1即前一根已收盘K线的信号来确认交易,这是一种避免未来数据的合理做法。
优势
- 使用已收盘K线(SignalBar=1)确认信号,避免未来数据重绘问题
- 支持五种仓位计算模式,资金管理灵活度高
- 反向信号平仓机制提供了除止损止盈外的额外退出策略
- 设有滑点容忍度参数,增强了实际交易中的执行鲁棒性
- 买卖开关独立控制,可灵活配置只做单方向交易
劣势
- ATR_Period变量未声明为input类型,用户无法在参数面板中修改
- 回溯历史K线查找平仓信号的逻辑效率低且可能导致不一致的平仓判断
- 缺少点差过滤和交易时间过滤,在恶劣条件下可能仍会开仓
- 止损1000点和止盈2000点的默认值过大,对大多数品种不实用
- 未检查是否已有同方向持仓就直接开仓,可能导致重复建仓
改进建议
- 将ATR_Period改为input类型并添加点差过滤和交易时段过滤功能
- 增加同方向持仓检查逻辑,避免重复开仓,并优化回溯平仓信号搜索的效率和可靠性
风险评估
总体风险: 中等
- 无同方向持仓检查可能导致重复建仓放大风险
- 缺少点差和时段过滤在高成本时段可能产生不利成交
- 固定止损止盈值不适应所有品种的波动特性
评估得分
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
MM | 0.1 | 资金管理比例或固定手数 |
MMMode | LOT | 保证金计算模式(自由保证金/余额/净保证金/净余额/固定手数) |
StopLoss_ | 1000 | 止损点数 |
TakeProfit_ | 2000 | 止盈点数 |
Deviation_ | 10 | 最大滑点容忍度 |
BuyPosOpen | true | 是否允许开多仓 |
SellPosOpen | true | 是否允许开空仓 |
BuyPosClose | true | 是否允许反向信号平多仓 |
SellPosClose | true | 是否允许反向信号平空仓 |
InpInd_Timeframe | PERIOD_H4 | iDeMarkerSign指标运行的时间周期 |
ATR_Period | 14 | ATR周期(用于指标内部计算) |
iDeMarkerPeriod | 14 | DeMarker指标周期 |
UpLevel | 0.7 | 超买水平阈值 |
DnLevel | 0.3 | 超卖水平阈值 |
SignalBar | 1 | 用于获取交易信号的K线索引 |
同类 EA:动量
回测是历史模拟,不代表未来收益,不构成投资建议。