大家好!今天要和大家聊聊一个在 MetaTrader 4 上运行的 EA——Backbone。这款专家顾问(EA)主要是根据交易方向的持续变化来进行操作,具体取决于盈利、止损和移动止损的设置。它会逐步开仓,方向正好和之前平仓的相反。当达到盈利、止损或移动止损的条件时,所有仓位会同步平仓。
值得一提的是,Backbone 不依赖任何指标、数学模型或复杂的决策。它的盈利能力源于一个简单的原则:盈利仓位的持续时间要大于亏损仓位的持续时间。
时间框架与优化
Backbone 可以在任何时间框架下使用,但每个时间框架下的最佳盈利、止损和移动止损水平都不同。我以 EURUSD 的 H1 时间框架为例,优化时间段为 2007 年 10 月 1 日至 2008 年 9 月 30 日。为了加快优化速度,我设置了一个关键参数,确保所有交易决策只在新K线出现时进行,同时在优化过程中使用“仅开盘价”。在优化结果验证时,我使用了“每个 tick”模式,具体结果如下。
输入参数
以下是针对 EURUSD H1 时间框架的最佳输入参数(时间段:2007/10/01 - 2008/09/30):
- extern double MaxRisk = 0.5; // 所有交易的最大风险
- extern int ntmax = 10; // 单向最大交易数量
- extern int TakeProfit = 170;
- extern int StopLoss = 40; // 0: 禁用; >0: 启用
- extern int TrailingStop = 300; // 0: 禁用; >0: 启用(止损必须启用)
与大多数优化过的 EA 一样,Backbone 仅在优化时间范围内表现良好,如果进行“样本外”检验,它的表现可能会大打折扣。例如,如果 Backbone 参加了 2008 年的锦标赛,它的账户余额将为 104 美元。 尽管如此,Backbone 仍然可以作为构建更复杂和更有盈利能力的 EA 的基础,通过添加不同种类的亏损交易过滤器来提升其表现。我的建议是:首先在 MetaTrader 的优化器中优化 Backbone 的盈利、止损和移动止损参数。然后固定优化后的盈利、止损和移动止损,添加过滤器,仅优化过滤器的参数。
祝大家好运!

策略测试报告
Backbone
InterbankFX-MT4 演示账户 2(版本 220)
| 交易品种 | EURUSD(欧元对美元) | ||||
| 时间段 | 1 小时(H1) 2007.10.01 00:00 - 2008.09.29 23:00(2007.10.01 - 2008.09.30) | ||||
| 模型 | 每个 Tick(基于所有可用的最小时间框架的最精确方法) | ||||
| 参数 | MaxRisk=0.5; ntmax=10; TakeProfit=170; StopLoss=40; TrailingStop=300; | ||||
| 测试中的 Bars | 7086 | 模拟的 Ticks | 3103036 | 建模质量 | n/a |
| 不匹配图表错误 | 219 | ||||
| 初始存款 | 10000.00 | ||||
| 总净利润 | 9882406.34 | 总利润 | 31810499.95 | 总亏损 | -21928093.61 |
| 利润因子 | 1.45 | 预期收益 | 4607.18 | ||
| 绝对回撤 | 672.94 | 最大回撤 | 2039240.00 (20.33%) | 相对回撤 | 82.13% (1922003.87) |
| 总交易次数 | 2145 | 做空交易(胜率 %) | 1138 (26.27%) | 做多交易(胜率 %) | 1007 (31.28%) |
| 盈利交易 (% 总数) | 614 (28.62%) | 亏损交易 (% 总数) | 1531 (71.38%) | ||
| 最大 | 盈利交易 | 85560.00 | 亏损交易 | -23220.00 | |
| 平均 | 盈利交易 | 51808.63 | 亏损交易 | -14322.73 | |
| 最大 | 连续盈利(盈利金额) | 22 (1861260.00) | 连续亏损(亏损金额) | 79 (-1591660.00) | |
| 最大 | 连续盈利(胜利次数) | 1861260.00 (22) | 连续亏损(失败次数) | -1591660.00 (79) | |
| 平均 | 连续盈利 | 7 | 连续亏损 | 16 | |
评论 0