我最近尝试使用python在Jupyter Notebook中使用metatrader5。我使用以下命令安装了metatrader5:
pip install MetaTrader5当我使用此代码复制EUR_USD数据的复制率时,出现错误。代码如下:
from datetime import datetime
import matplotlib.pyplot as plt
import pandas as pd
import MetaTrader5 as mt5
import pytz
mt5.initialize()
print(mt5.terminal_info())
print(mt5.version())
pd.set_option('display.max_columns', 500)
pd.set_option('display.width', 1500)
timezone = pytz.timezone("Etc/UTC")
utc_from = datetime(2017, 1, 5, tzinfo=timezone)
utc_to = datetime(2019, 12, 27, hour = 23, tzinfo=timezone)
rates = mt5.copy_rates_range("EURUSD", mt5.TIMEFRAME_M1, utc_from, utc_to)
print("Display obtained data 'as is'")
counter=0
for rate in rates:
counter+=1
if counter<=10:
print(rate)然后发生了一个错误:
Display obtained data 'as is'
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-10-5307ec9302f7> in <module>
2 print("Display obtained data 'as is'")
3 counter=0
----> 4 for rate in rates:
5 counter+=1
6 if counter<=10:
TypeError: 'NoneType' object is not iterable我发现rates中没有值,这意味着mt5.copy_rates_range()似乎不起作用。代码适用于time frame D1,H1,但适用于time frame M1不起作用。
有没有解决这个问题的办法?谢谢
发布于 2021-05-19 05:52:00
您只能复制设置数量的条形图。我不知道这是故意的还是个bug。使用较小的日期范围或较大的时间范围。一年的最短时间是5分钟。
https://stackoverflow.com/questions/66899837
复制相似问题