Exp_BvsB
该EA使用BvsB(空头vs多头)自定义指标,基于指标线与信号线的交叉逻辑生成交易信号。当指标线从上方穿越信号线时开多仓,从下方穿越时开空仓,支持可配置的仓位管理、止损和止盈。通过SmoothAlgorithms库支持多种平滑方法和适用价格类型。
打开交互版(权益曲线、切换品种)基本信息
回测结果(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的核心策略是BvsB指标的交叉信号交易,属于动量反转类型策略。入场条件为:当指标线(Ind)在上一根K线高于信号线(Sign)且当前K线指标线低于等于信号线时,触发买入信号;反之当指标线在上一根K线低于信号线且当前K线指标线高于等于信号线时,触发卖出信号。出场条件依赖止损和止盈的固定点数设置,同时支持基于信号反向的平仓(BUY_Close/SELL_Close)。仓位管理通过MM参数和MMMode枚举控制,支持基于自由保证金、余额、亏损后保证金、亏损后余额或固定手数五种模式。资金管理委托给TradeAlgorithms.mqh库中的BuyPositionOpen/SellPositionOpen函数处理。EA使用IsNewBar机制确保每个K线只计算一次信号,避免重复交易,并设置了Deviation参数控制滑点容忍度。
优势
- 支持多种平滑算法(10种),策略灵活性强,可适应不同市场条件
- 使用IsNewBar机制防止同一K线重复开仓,避免过度交易
- 买入和卖出的开仓与平仓操作可独立开关控制,策略配置灵活
- 支持5种仓位管理模式,满足不同风险偏好的资金管理需求
- 有Recount机制确保指标数据获取失败时重试,增强鲁棒性
劣势
- 止损和止盈为固定点数,未考虑市场波动性(ATR),在不同波动环境下风险不一致
- 缺少持仓检查,可能在已有同向持仓时重复开仓
- 没有点差过滤机制,在大幅点差时仍可能开仓,增加交易成本
- 依赖自定义指标BvsB和外部库,增加了部署和调试的复杂度
- SignalBar=1为默认值意味着使用已完成K线信号,但在IsNewBar条件中也允许SignalBar=0即实时信号,可能导致信号不稳定
改进建议
- 增加ATR动态止损止盈功能,根据市场波动自动调整止损止盈距离
- 添加持仓检查逻辑,避免同向重复开仓,并可加入最大持仓数量限制
- 增加点差过滤和交易时间过滤,避免在高点差和非活跃时段交易
风险评估
总体风险: 中等
- 缺少持仓检查,可能同向重复开仓导致仓位过重
- 固定止损止盈未适配市场波动性,低波动时止损过宽浪费利润,高波动时止损过窄容易被扫
- 没有点差过滤,高点差环境下交易成本不可控
评估得分
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
MM | 0.1 | 资金管理比例或手数 |
MMMode | LOT | 手数计算模式(自由保证金/余额/亏损后保证金/亏损后余额/固定手数) |
StopLoss_ | 1000 | 止损点数 |
TakeProfit_ | 2000 | 止盈点数 |
Deviation_ | 10 | 最大允许滑点 |
BuyPosOpen | true | 是否允许开多仓 |
SellPosOpen | true | 是否允许开空仓 |
BuyPosClose | true | 是否允许信号平多仓 |
SellPosClose | true | 是否允许信号平空仓 |
InpInd_Timeframe | PERIOD_H4 | 指标计算时间周期 |
BvsB_Method | MODE_SMA | BvsB平滑方法(SMA/EMA/SMMA/LWMA/JJMA/JurX/ParMA/T3/VIDYA/AMA) |
XLength | 12 | BvsB指标计算周期长度 |
XPhase | 15 | 平滑相位参数 |
IPC | PRICE_CLOSE | 指标计算所用价格类型 |
SignalBar | 1 | 信号检测的K线索引位置 |
同类 EA:动量
回测是历史模拟,不代表未来收益,不构成投资建议。