You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MT5 Python模块按日期下载OHLC数据时时间对齐问题求助

MT5 Python模块按日期下载OHLC数据时区对齐问题

使用MT5 Python模块下载OHLC数据时,copy_rates_from_pos方法一切正常,但按日期范围下载时,获取到的数据时间与MT5图表上的时间无法对齐。

背景

经纪商时区为GMT+2/+3,夏令时切换规则与纽约一致,没有完全匹配的标准时区(例如雅典时区的夏令时切换日期不同)。

已尝试的三种方案

  • 方案1:使用无时区信息的datetime对象设置日期范围
    示例代码:

    now_date = datetime.now()
    

    结果:获取到的K线比图表最新K线早3小时,例如图表最新K线时间为8:03,数据框中最新K线为5:03,且OHLC值对应图表5:03的K线。

  • 方案2:按照MT5官网建议切换为UTC时区
    示例代码:

    now_date = datetime.now(pytz.timezone("Etc/UTC"))
    

    结果:获取到的时间比图表最新K线晚1小时,且OHLC数据与对应分钟的K线不匹配。

  • 方案3:通过UTC和纽约时区转换适配经纪商GMT偏移
    示例代码:

    nyc_timezone = pytz.timezone('America/New_York')
    utc_now = datetime.now(pytz.utc)
    nyc_time = utc_now.astimezone(nyc_timezone)
    if nyc_time.dst() != timedelta(0):
        broker_offset = 3 - (-4)  # +3 GMT minus -4 GMT (NYC DST offset)
    else:
        broker_offset = 2 - (-5)  # +2 GMT minus -5 GMT (NYC standard offset)
    broker_time = nyc_time + timedelta(hours=broker_offset)
    broker_time = broker_time.replace(second=0, microsecond=0)
    

    结果:获取到的时间比图表最新K线晚1小时,OHLC数据与对应分钟的K线也不匹配。

恳请指导如何通过MT5模块按日期正确下载数据,感谢帮助。


内容的提问来源于stack exchange,提问作者Jonathan Stearns

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 13:23:18