MetaTrader 5 Python Kullanıcı Grubu - Metatrader'da Python nasıl kullanılır - sayfa 21

 

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

Örnek, bir hata olan başka bir işlevi kullanır:

# UTC saat diliminde 04/01/2019 tarihinden itibaren USDJPY M5 ile çubuklar alın
oranlar = MT5CopyRatesFrom ( "USDJPY" , MT5_TIMEFRAME_M5 , utc_from , utc_to)

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

Tarih saatini belirli bir saat dilimine getirmek için yardım, tarih saat UTC'yi kullanmanızı önerir.

Ancak, bu hiçbir şeyi etkilemez. Herhangi bir saat dilimini ayarlarken, terminal saati alınır (benim durumumda GMT+2)

 
 
Rashid Umarov :
Yapı numarası ?

pip kurulumu -- MetaTrader5'i yükseltin

Gereksinim zaten güncel: c:\works\mt_websocket_server\.env\lib\site-packages (5.0.8) içinde MetaTrader5



 
Her şeyi tek bir yere taşımak mümkün mü?
MetaTrader 5 Python User Group - как использовать Python в Метатрейдере
MetaTrader 5 Python User Group - как использовать Python в Метатрейдере
  • 2019.11.25
  • www.mql5.com
Мы готовим модуль MetaTrader 5 для Python, аналогичную R...
 
Maxim Dmitrievsky :
Her şeyi tek bir yere taşımak mümkün mü?

Tam olarak ne? Tüm tartışma başlığı?

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

Tam olarak ne? Tüm tartışma başlığı?

evet, yani bir yerde her şey pitonla ilgiliydi

moderatörler mb'yi aktaracak

 
Maxim Dmitrievsky :

evet, yani bir yerde her şey pitonla ilgiliydi

moderatörler mb'yi aktaracak

Norm, aktarabiliyorsan bırak atılsın. Yeniden yarat, bir şekilde doğru değil ...
 

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

MetaTrader5 python lib ve MT5CopyRatesFrom - garip mi yoksa hata mı?

Dmitry Prokopiev , 2019.11.30 10:59

Merhaba.

MT5CopyRatesRange ve diğer işlevlerin döndürdüğü verilerde böyle bir tuhaflıkla karşılaştım.

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)

Her şey önemsiz, ancak çıktıda elimizde:

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

dikkat etmek istiyorum:

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)

terminale gidin, bu çerçeve için düşük/yüksekliğe bakın:

Düşük = 1.22557 olduğunu görüyoruz,   yüksek= 1.22989

Soru bir hata mı, yoksa MT5Rate anahtarları bir şekilde yapılandırılmış mı?


MetaTrader 5 Python User Group - как использовать Python в Метатрейдере
MetaTrader 5 Python User Group - как использовать Python в Метатрейдере
  • 2019.11.25
  • www.mql5.com
Мы готовим модуль MetaTrader 5 для Python, аналогичную R...
 
Şimdi bu konuya taşındı.
Neden: