Exp_Directed_Movement_Candle
该EA基于Directed_Movement_Candle自定义指标进行交易,该指标采用双重平滑RSI方法来确定方向性动量。当指标发出看涨动量信号(颜色值为2)时开多仓,发出看跌动量信号(颜色值为0)时开空仓,并设有可配置的止损和止盈水平。EA使用新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 都可能亏钱。
高:回测中爆仓,或使用马丁/网格加仓且不设止损。偏高:马丁或网格加仓但有止损,或不设止损且可同时持有多个仓位。 标签的含义和我们的发现 →
策略分析
策略概念基于Directed_Movement_Candle指标,该指标内部使用RSI经过两层不同平滑算法处理后的结果来判断市场方向性动量。入场条件为:当指标缓冲区4的当前值为2(看涨)且前一根K线值小于2时开多仓;当当前值为0(看跌)且前一根K线值大于0时开空仓。出场条件包括:当指标信号反转时主动平仓(多转空时平多仓,空转多时平空仓),以及固定的止损1000点和止盈2000点。仓位管理通过MM参数控制,支持固定手数或基于保证金比例的动态手数模式。资金管理使用MarginMode枚举选择手数计算方式,默认0.1的保证金比例相对保守。策略允许用户独立控制买入和卖出的开仓与平仓开关,提供了灵活的交易方向配置。
优势
- 双平滑RSI指标设计减少了虚假信号,双重过滤提高了信号可靠性
- 开仓和平仓开关独立可配,允许只做单向交易或仅使用信号平仓
- 使用新K线检测机制避免同一K线内重复开仓,减少了过度交易风险
- 止损和止盈均有设置,提供了基本的风险控制框架
- 指标加载失败时有错误检查和处理,初始化较为健壮
劣势
- 止损1000点和止盈2000点的固定值过大,在大多数品种上风险极高
- 缺乏点差过滤,在H4周期虽然影响较小但在流动性差时仍可能被滑点影响
- 没有持仓检查逻辑,可能在已有同方向持仓时重复开仓
- HighLevel/MiddleLevel/LowLevel参数在代码中声明但未在交易逻辑中使用,属于无效参数
- 依赖外部自定义指标Directed_Movement_Candle,若指标未安装则EA无法运行且错误提示不够明确
改进建议
- 增加持仓检查逻辑,避免同方向重复开仓导致仓位过重
- 将止损止盈改为基于ATR的动态计算,适应不同品种的波动特性
- 删除HighLevel/MiddleLevel/LowLevel等未使用的参数,或将其纳入实际交易逻辑中
- 增加点差过滤和最大持仓数量限制,提升风险控制能力
风险评估
总体风险: 中等
- 止损1000点固定值过大,在波动剧烈品种上可能造成巨额亏损
- 缺乏持仓检查可能导致同方向重复开仓,仓位过度集中
- 依赖外部自定义指标,若指标文件缺失或版本不匹配会导致EA无法正常交易
评估得分
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
MM | 0.1 | 资金管理参数,控制仓位大小比例 |
MMMode | LOT | 手数计算模式(固定手数或基于保证金) |
StopLoss_ | 1000 | 止损点数 |
TakeProfit_ | 2000 | 止盈点数 |
Deviation_ | 10 | 最大允许滑点 |
BuyPosOpen | true | 是否允许买入开仓 |
SellPosOpen | true | 是否允许卖出开仓 |
BuyPosClose | true | 是否允许买入平仓 |
SellPosClose | true | 是否允许卖出平仓 |
InpInd_Timeframe | PERIOD_H4 | 指标使用的时间周期 |
SignalBar | 1 | 用于获取交易信号的K线编号 |
Mode | MODE_SECOND | RSI平滑模式选择(第一种或第二种) |
RSIPeriod | 14 | RSI周期长度 |
MA_Method1 | MODE_SMA_ | 第一层平滑方法 |
Length1 | 12 | 第一层平滑周期长度 |
Phase1 | 15 | 第一层平滑相位参数 |
MA_Method2 | MODE_JJMA | 第二层平滑方法 |
Length2 | 5 | 第二层平滑周期长度 |
Phase2 | 15 | 第二层平滑相位参数 |
Shift | 0 | 指标偏移量 |
HighLevel | 70 | 超买水平线 |
MiddleLevel | 50 | 中轴水平线 |
LowLevel | 30 | 超卖水平线 |
同类 EA:动量
回测是历史模拟,不代表未来收益,不构成投资建议。