关于mt5历史回测点差大的问题 - 页 2

 
huangshhky:

大侠  你是怎么解决这个问题的,我现在也遇到同样的问题了。

回复错了,跟历史数据有关系,不同的历史数据来源,点差不同
 
huangshhky:

大侠  你是怎么解决这个问题的,我现在也遇到同样的问题了。

MT5中点差的模拟

卖价和买价之间的价格差异称为点差。在测试期间,并没有对点差建模,而是从历史数据中获取点差。如果历史数据中的点差小于或等于零,则测试代理使用所请求历史数据当时的点差。

在策略测试程序中,点差始终被视为浮动的。即 SymbolInfoInteger(symbol, SYMBOL_SPREAD_FLOAT) 始终返回 true。

此外,历史数据包含价格变动值和交易数量。对于数据的存储与检索,我们使用一个特殊的 MqlRates 结构:

struct MqlRates
  {
   datetime time;         // 柱形开始时间
   double   open;         // 开盘价
   double   high;         // 最高价
   double   low;          // 最低价
   double   close;        // 收盘价
   long     tick_volume;  // 每个价格变动的交易量
   int      spread;       // 点差
   long     real_volume;  // 市场交易量
  };
 

使用MT5回测

2023年质量能达到99%

往前面,2022,2021,2020,简直无法直视,只达到32%

这是为什么?