MetaTrader 5 Python User Group - como usar o Python no Metatrader - página 21

 

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

O exemplo usa uma função diferente, um erro:

# obter barras com USDJPY M5 a partir de 01.04.2019 no fuso horário UTC
taxas=MT5CopyRatesFrom("USDJPY",MT5_TIMEFRAME_M5,utc_from, utc_to)

esperado: 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...
 

Para converter a data/hora para um fuso horário específico, a ajuda sugere a utilização da data/hora UTC

No entanto, isto não afecta nada. Ao definir qualquer fuso horário, a hora terminal é tomada (no meu caso é GMT+2)

 
Rashid Umarov:
Qual é o número de construção?

instalar pip - actualizar MetaTrader5

Requisito já actualizado: MetaTrader5 em c:works\mt_websocket_server\\ib\ib\ib\ib\ib\ib\ib\iwebsocket_server\iwebsocket_server\iwebsocket\iwebsocket\iwebsocket (5.0.8)



 
podemos mudar tudo para um só lugar?
MetaTrader 5 Python User Group - как использовать Python в Метатрейдере
MetaTrader 5 Python User Group - как использовать Python в Метатрейдере
  • 2019.11.25
  • www.mql5.com
Мы готовим модуль MetaTrader 5 для Python, аналогичную R...
 
Maxim Dmitrievsky:
Podemos mudar tudo para um só lugar?

O que é? Todo o fio da discussão?

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

O que é? Todo o fio da discussão?

Sim, para colocar toda esta coisa da pitão num só lugar.

Os moderadores vão movê-lo.

 
Maxim Dmitrievsky:

Sim, ter tudo sobre píton num só lugar.

Os moderadores vão movê-lo.

Muito bem, se eles podem movê-lo, que o movam. Re-criar, não realmente ...
 

Fórum sobre comércio, sistemas automatizados de comércio e testes de estratégia comercial

MetaTrader5 python lib e MT5CopyRatesFrom - weirdness or bug?

Dmitry Prokopyev, 2019.11.30 10:59

Olá a todos.

Deparou com esta estranheza nos dados devolvidos pelo MT5CopyRatesRange e outras funções.

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)

Tudo é trivial, mas a produção que temos:

                 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))

Quero chamar a vossa atenção para:

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)

ir para o terminal, ver baixa/alta para esta moldura:

Vemos quebaixo=1.22557,alto=1.22989

A pergunta é se isto é um bug ou as chaves do MT5Rate são de alguma forma configuráveis?


MetaTrader 5 Python User Group - как использовать Python в Метатрейдере
MetaTrader 5 Python User Group - как использовать Python в Метатрейдере
  • 2019.11.25
  • www.mql5.com
Мы готовим модуль MetaTrader 5 для Python, аналогичную R...
 
Passamos agora a este fio.
Razão: