你测试的时候 dn的时间是未来时间,实际时间还没有到达,实际K线个数就是当下时间到d0之间的K线个数。
dn不是未来时间,是当前时间,通过TimeCurrent函数返回的。
你发贴的时候(23:16), 在GMT+2的平台上的时间是17:16,那么 dn = 2020.10.26 18:03:06 是个未来的时间。
我验证了Bars()的参数如果是未来的时间,返回的也是实际的K线个数,没有问题。
你再试试,用十字光标拉一下,看看到底是多少个K线。
要考虑品种的实际开盘时间,比如黄金就不是零点开盘。
我的理解是,TimeCurrent返回的是服务器的时间,由于时差就看着像未来的时间。证据是MT4的时间轴上也是这个未来时间,并且实际显示数据的,所以这是时差,不是未来时间。
MTUser2015:
我的理解是,TimeCurrent返回的是服务器的时间,由于时差就看着像未来的时间。证据是MT4的时间轴上也是这个未来时间,并且实际显示数据的,所以这是时差,不是未来时间。
我的理解是,TimeCurrent返回的是服务器的时间,由于时差就看着像未来的时间。证据是MT4的时间轴上也是这个未来时间,并且实际显示数据的,所以这是时差,不是未来时间。
我的理解是没给你计算多了,那可能就很正常
或者你去对应的图表上刷新一下试试,在或者下载一下数据
最后的办法,就是……自己数一数
MTUser2015:
开始时间d0是:2020.10.26 00:00:00
结束时间dn是:2020.10.26 18:03:06
如下调用Bars函数:
int howmany0 = Bars(DEFAULT_SYMBOL, PERIOD_H1, d0, dn);
int howmanyM5_0 = Bars(DEFAULT_SYMBOL, PERIOD_M5, d0, dn);
结果 howmany0等于18,这个可以理解,18个小时有18个K线
howmanyM5_0等于205,这个就不好理解了。
18个小时一共是18 * 12 = 216个5分钟,那么5分钟的K线应该是216个才对啊。现在返回205,相差11根K线。请问这个是怎么计算的呢?
谢谢。
开始时间d0是:2020.10.26 00:00:00
结束时间dn是:2020.10.26 18:03:06
如下调用Bars函数:
int howmany0 = Bars(DEFAULT_SYMBOL, PERIOD_H1, d0, dn);
int howmanyM5_0 = Bars(DEFAULT_SYMBOL, PERIOD_M5, d0, dn);
结果 howmany0等于18,这个可以理解,18个小时有18个K线
howmanyM5_0等于205,这个就不好理解了。
18个小时一共是18 * 12 = 216个5分钟,那么5分钟的K线应该是216个才对啊。现在返回205,相差11根K线。请问这个是怎么计算的呢?
谢谢。