Exp_XDPOCandle
该EA基于自定义XDPOCandle指标的信号进行交易,该指标使用双重平滑算法生成彩色K线信号。当指标发出看涨动量信号(颜色值2)时开多仓,发出看跌动量信号(颜色值0)时开空仓,并可在信号反转时平仓。
打开交互版(权益曲线、切换品种)基本信息
回测结果(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采用基于XDPOCandle指标的动量跟踪策略,核心逻辑是利用双重平滑算法(第一层和第二层平滑)对价格数据进行处理,生成彩色K线信号。入场条件为:当指标缓冲区4的当前值从非2变为2时开多仓,从非0变为0时开空仓,这种变化检测机制确保只在信号转变时触发交易。出场条件包括止损和止盈的硬性设置,以及信号反转时的主动平仓(BuyPosClose和SellPosClose参数控制)。仓位管理通过MM参数控制下单手数比例,MMMode参数决定是固定手数还是基于资金的动态计算。资金管理方面,止损1000点、止盈2000点设置提供了1:2的风险回报比,但0.1的MM值暗示使用10%的可用保证金进行交易。策略采用新K线检测机制(IsNewBar)避免重复信号,同时支持在指定SignalBar上即时执行以实现更快的响应。
优势
- 使用双重平滑算法处理价格数据,能有效过滤市场噪音,减少虚假信号
- 信号变化检测机制确保仅在趋势转变时入场,避免重复开仓
- 提供独立的多空开仓和平仓开关,灵活性高,可根据市场环境灵活调整
- 止损止盈比例1:2,具有正期望值的风险回报设计
- 使用新K线检测机制避免同一K线内重复触发交易
劣势
- 依赖自定义指标XDPOCandle,缺乏对该指标内部逻辑的透明度和验证
- 止损1000点设置过大,在波动较大的品种上可能承受较大亏损
- 缺乏点差过滤和交易时间过滤,在不利市场条件下仍会开仓
- MM=0.1的保证金使用比例在杠杆较高时可能导致过度交易
- 没有明确的持仓数量限制,可能在震荡行情中频繁开平仓产生过多手续费
改进建议
- 增加点差过滤机制,当点差超过阈值时暂停开仓以避免滑点过大
- 增加交易时段过滤,避免在低流动性时段(如亚盘过渡期)开仓
- 添加移动止损或保本止损功能,在盈利达到一定幅度后锁定利润
- 对XDPOCandle指标进行回测验证,明确其在不同市场状态下的表现特征
风险评估
总体风险: 中等
- 止损1000点过大,单笔交易亏损可能占账户较大比例
- 缺乏点差和交易时段过滤,可能在不利条件下入场
- 依赖未经验证的自定义指标,指标失效时策略将完全失效
- MM基于保证金比例的手数计算在高杠杆下风险放大
评估得分
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
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线索引,0为当前K线 |
MA_Method1 | MODE_SMA_ | 第一层平滑算法类型 |
Length1 | 12 | 第一层平滑周期长度 |
Phase1 | 15 | 第一层平滑相位参数 |
MA_Method2 | MODE_T3 | 第二层平滑算法类型 |
Length2 | 5 | 第二层平滑周期长度 |
Phase2 | 15 | 第二层平滑相位参数 |
同类 EA:动量
回测是历史模拟,不代表未来收益,不构成投资建议。