有个事想请教一下,我这两天在写一个Python下单脚本,通过MetaTrader5这个库连MT5,前面都挺顺的,就是历史K线这里卡住了。
情况是这样的:我用 copy_rates_from_pos 去取欧美M15最近的数据,比如想拿最后100根,结果返回的数组里最后三根总是缺的,或者干脆是空的。一开始我以为是品种名称写错了,试了“EURUSD”“EURUSD.a”还有带后缀的,能连上但结果一样。后来我又换成 copy_rates_range,指定了起止时间,还是拿不到最新的三根。终端里MT5图表本身是正常刷新的,K线也在走,就是Python这边取不到末尾。
我查过一些资料,有人说要等新K线收盘,有人说要开 symbol_select 把品种加到市场报价,这两个我都试了,还是不行。也怀疑过是不是VPS时间和经纪商服务器时间差了几秒,但看日志好像没报时间错。偶尔会弹一句 “Invalid params” 或者返回 None,但大部分时候是静默少几根。
我现在有点懵,不知道是MT5那边数据还没落盘,还是我取数据的姿势不对。有没有汇友遇到过类似情况,最后三根到底该怎么稳定拿到?
更新一下:后来发现是MT5终端里欧元那个图表根本没打开,我手动点开后脚本立马就取到完整数据了,大家引以为戒。
情况是这样的:我用 copy_rates_from_pos 去取欧美M15最近的数据,比如想拿最后100根,结果返回的数组里最后三根总是缺的,或者干脆是空的。一开始我以为是品种名称写错了,试了“EURUSD”“EURUSD.a”还有带后缀的,能连上但结果一样。后来我又换成 copy_rates_range,指定了起止时间,还是拿不到最新的三根。终端里MT5图表本身是正常刷新的,K线也在走,就是Python这边取不到末尾。
我查过一些资料,有人说要等新K线收盘,有人说要开 symbol_select 把品种加到市场报价,这两个我都试了,还是不行。也怀疑过是不是VPS时间和经纪商服务器时间差了几秒,但看日志好像没报时间错。偶尔会弹一句 “Invalid params” 或者返回 None,但大部分时候是静默少几根。
我现在有点懵,不知道是MT5那边数据还没落盘,还是我取数据的姿势不对。有没有汇友遇到过类似情况,最后三根到底该怎么稳定拿到?
更新一下:后来发现是MT5终端里欧元那个图表根本没打开,我手动点开后脚本立马就取到完整数据了,大家引以为戒。
