MetaTrader 5 Python User Group - wie man Python in Metatrader verwendet - Seite 21

 

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

In dem Beispiel wird eine andere Funktion verwendet, ein Fehler:

# Erhalten Sie Balken mit USDJPY M5 vom 01.04.2019 in der UTC-Zeitzone
Kurse=MT5CopyRatesFrom("USDJPY",MT5_TIMEFRAME_M5,utc_from, utc_to)

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

Um die Datumsangabe in eine bestimmte Zeitzone zu konvertieren, empfiehlt die Hilfe die Verwendung von datetime UTC

Dies hat jedoch keine Auswirkungen. Bei der Einstellung einer Zeitzone wird die Terminalzeit verwendet (in meinem Fall GMT+2)

 
 
Rashid Umarov:
Wie lautet die Baunummer?

pip install --aktualisieren MetaTrader5

Anforderung bereits aktuell: MetaTrader5 in c:\works\mt_websocket_server\.env\lib\site-packages (5.0.8)



 
Können wir alles an einen Ort verlegen?
MetaTrader 5 Python User Group - как использовать Python в Метатрейдере
MetaTrader 5 Python User Group - как использовать Python в Метатрейдере
  • 2019.11.25
  • www.mql5.com
Мы готовим модуль MetaTrader 5 для Python, аналогичную R...
 
Maxim Dmitrievsky:
Können wir alles an einen Ort bringen?

Welche ist es? Der gesamte Diskussionsfaden?

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

Welche ist es? Der gesamte Diskussionsfaden?

Ja, um die ganze Python-Sache an einem Ort zu haben.

Die Moderatoren werden es verschieben.

 
Maxim Dmitrievsky:

Ja, um alles über Python an einem Ort zu haben.

Die Moderatoren werden es verschieben.

Okay, wenn sie ihn bewegen können, sollen sie ihn bewegen. Neu erschaffen, nicht wirklich ...
 

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

MetaTrader5 python lib und MT5CopyRatesFrom - Seltsamkeit oder Fehler?

Dmitry Prokopyev, 2019.11.30 10:59

Hallo zusammen.

Ich bin auf diese Merkwürdigkeit in den Daten gestoßen, die von MT5CopyRatesRange und anderen Funktionen zurückgegeben werden.

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)

Alles ist trivial, aber der Output, den wir haben:

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

Ich möchte Ihre Aufmerksamkeit auf Folgendes lenken:

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)

gehen Sie zum Terminal, siehe niedrig/hoch für diesen Rahmen:

Wir sehen, dass derTiefstwert=1,22557, derHöchstwert=1,22989 ist.

Frage ist dies ein Fehler oder sind Tasten für die MT5Rate irgendwie konfigurierbar?


MetaTrader 5 Python User Group - как использовать Python в Метатрейдере
MetaTrader 5 Python User Group - как использовать Python в Метатрейдере
  • 2019.11.25
  • www.mql5.com
Мы готовим модуль MetaTrader 5 для Python, аналогичную R...
 
Jetzt in diesen Thread verschoben.