当我将时间从 2019 更改为 2018 以从 Metatrader 获取数据时出现错误

Get Error when I change the time from 2019 to 2018 to get data from Metatrader

我使用 MetaTrader 和 Pandas 库获取外汇价格并存储到 csv 文件。 当我将年份设置为 2019 年及之后 (2020,2021) 时,一切都很好。但是当我设置为 2018 年或更早的年份时,我从 Panda 那里得到了错误。似乎当数据变得庞大时,这种情况就会发生。 我的代码是:

def Get_Date_from_to(PAIR , TF , Location):
    timezone = pytz.timezone("Etc/UTC")
    year = datetime.now().year
    month = datetime.now().month
    day = datetime.now().day
    hour = datetime.now().hour
    minute = datetime.now().minute
    second = datetime.now().second
    if not mt5.initialize():
        print("initialize() failed, error code =",mt5.last_error())
        quit()
    date_from = datetime(2018, 1 , 1 , tzinfo=timezone)
    date_to = datetime(year,month,day,hour, minute, second , tzinfo=timezone)
    rates = mt5.copy_rates_range(PAIR, TF, date_from, date_to)
    # create DataFrame out of the obtained data
    rates_frame = pd.DataFrame(rates)
    # convert time in seconds into the 'datetime' format
    rates_frame['time']=pd.to_datetime(rates_frame['time'], unit='s')
    rates_frame.to_csv(Location)

我得到这个错误:

rates_frame['time']=pd.to_datetime(rates_frame['time'], unit='s')
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\site-packages\pandas\core\frame.py", line 3024, in __getitem__
    indexer = self.columns.get_loc(key)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\site-packages\pandas\core\indexes\base.py", line 3082, in get_loc
    raise KeyError(key) from err
KeyError: 'time'

我在 Meta Trader 中将图表中的 最大柱数 增加到 100000,现在一切正常。

MetaTrader > 选项 > 图表 > 图表中的最大柱数