MetaTrader 5 Python用户组 - 如何在Metatrader中使用Python - 页 21

 

https://www.mql5.com/ru/docs/integration/python_metatrader5/mt5copyratesrange_py

这个例子使用了一个不同的函数,一个错误。

#从2019年4月1日开始在UTC时区获得USDJPY M5的条形图
rates=MT5CopyRatesFrom("USDJPY",MT5_TIMEFRAME_M5,utc_from, utc_to)

预期:MT5CopyRatesRange()

Документация по MQL5: Интеграция / MetaTrader для Python / MT5CopyRatesRange
Документация по MQL5: Интеграция / MetaTrader для Python / MT5CopyRatesRange
  • www.mql5.com
# создадим объекты datetime в таймзоне UTC, чтобы не применялось смещение локальной таймзоны                             MT5Rate(time=datetime.datetime(2019, 4, 1, 0, 0),  open=110.994, low=110.994, high=110.966, close=110.966, tick_volume=12, spread=22, real_volume=0...
 

要将日期时间转换为一个特定的时区,帮助建议使用日期时间UTC

然而,这并不影响任何事情。当设置任何时区时,将采用终端时间(在我的情况下,它是GMT+2)。

 
建号
 
Rashid Umarov:
建造号 是什么?

pip install --upgrade MetaTrader5

要求已经更新:MetaTrader5在c:\works\mt_websocket_server\.env\lib\site-packages(5.0.8)中。



 
我们可以把所有东西都搬到一个地方 吗?
MetaTrader 5 Python User Group - как использовать Python в Метатрейдере
MetaTrader 5 Python User Group - как использовать Python в Метатрейдере
  • 2019.11.25
  • www.mql5.com
Мы готовим модуль MetaTrader 5 для Python, аналогичную R...
 
Maxim Dmitrievsky:
我们可以把它全部搬到一个地方 吗?

是哪一个呢?整个讨论主题?

 
Дмитрий Прокопьев:

是哪一个呢?整个讨论主题?

是的,要把整个Python的事情放在一个地方。

版主会移动它。

 
Maxim Dmitrievsky:

是的,在一个地方拥有关于Python的一切。

版主将移动它。

好吧,如果他们能移动它,就让他们移动吧。重新创建,不是真的...
 

关于交易、自动交易系统和交易策略测试的论坛

MetaTrader5 python lib和MT5CopyRatesFrom - 奇怪还是错误?

Dmitry Prokopyev, 2019.11.30 10:59

大家好。

在MT5CopyRatesRange和其他函数返回的数据中遇到了这种怪事。

from datetime import datetime
from MetaTrader5 import *
import pandas as pd
import json

from pytz import timezone
utc_tz = timezone('Etc/UTC')
 
MT5Initialize()
MT5WaitForTerminal()

# rates = MT5CopyRatesRange("EURUSD", MT5_TIMEFRAME_H1, datetime(2018,4,3), datetime(2018,4,4))
rates = MT5CopyRatesFrom("EURUSD", MT5_TIMEFRAME_H1, datetime(2018,4,3,17, tzinfo=utc_tz), 5)

MT5Shutdown()
rates_frame = pd.DataFrame(rates, columns=['time', 'open', 'low', 'high', 'close', 'tick_volume', 'spread', 'real_volume'])
print(rates_frame)
print(rates)

一切都是微不足道的,但我们的产出。

                 time     open      low     high    close  tick_volume  spread  real_volume
0 2018-04-03 13:00:00  1.23073  1.23154  1.22861  1.22882         5090       1            0
1 2018-04-03 14:00:00  1.22882  1.23057  1.22863  1.23018         6112       1            0
2 2018-04-03 15:00:00  1.23018  1.23149  1.22919  1.22957         6691       1            0
3 2018-04-03 16:00:00  1.22957  1.22989  1.22557  1.22580        11956       1            0
4 2018-04-03 17:00:00  1.22580  1.22746  1.22536  1.22730        10275       1            0
(MT5Rate(time=datetime.datetime(2018, 4, 3, 13, 0), open=1.2307299999999999, low=1.23154, high=1.22861, close=1.22882, tick_volume=5090, spread=1, real_volume=0), 
MT5Rate(time=datetime.datetime(2018, 4, 3, 14, 0), open=1.22882, low=1.23057, high=1.2286299999999999, close=1.23018, tick_volume=6112, spread=1, real_volume=0), 
MT5Rate(time=datetime.datetime(2018, 4, 3, 15, 0), open=1.23018, low=1.23149, high=1.22919, close=1.22957, tick_volume=6691, spread=1, real_volume=0), 
MT5Rate(time=datetime.datetime(2018,4, 3, 16, 0), open=1.22957, low=1.22989, high=1.22557, close=1.2258, tick_volume=11956, spread=1, real_volume=0), 
MT5Rate(time=datetime.datetime(2018, 4, 3, 17, 0), open=1.2258, low=1.22746, high=1.22536, close=1.2273, tick_volume=10275, spread=1, real_volume=0))

我想提请你们注意。

MT5Rate(time=datetime.datetime(2018,4, 3, 16, 0), open=1.22957,low=1.22989, high=1.22557, close=1.2258, tick_volume=11956, spread=1, real_volume=0)

到终端,看到这个框架的低/高。

我们看到,低点=1.22557高点=1.22989

问题是这是一个错误,还是MT5Rate的键可以以某种方式配置?


MetaTrader 5 Python User Group - как использовать Python в Метатрейдере
MetaTrader 5 Python User Group - как использовать Python в Метатрейдере
  • 2019.11.25
  • www.mql5.com
Мы готовим модуль MetaTrader 5 для Python, аналогичную R...
 
现在移到了这个主题。