首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用python在MetaTrader5中复制速率范围时间帧M1

使用python在MetaTrader5中复制速率范围时间帧M1
EN

Stack Overflow用户
提问于 2021-04-01 15:03:36
回答 1查看 215关注 0票数 0

我最近尝试使用python在Jupyter Notebook中使用metatrader5。我使用以下命令安装了metatrader5:

代码语言:javascript
复制
pip install MetaTrader5

当我使用此代码复制EUR_USD数据的复制率时,出现错误。代码如下:

代码语言:javascript
复制
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)

然后发生了一个错误:

代码语言:javascript
复制
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不起作用。

有没有解决这个问题的办法?谢谢

EN

回答 1

Stack Overflow用户

发布于 2021-05-19 05:52:00

您只能复制设置数量的条形图。我不知道这是故意的还是个bug。使用较小的日期范围或较大的时间范围。一年的最短时间是5分钟。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66899837

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档