MetaTrader 5 Python 사용자 그룹 - Metatrader에서 Python을 사용하는 방법 - 페이지 21

 

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

이 예에서는 다른 함수인 오류를 사용합니다.

# UTC 시간대에서 2019년 4월 1일부터 USDJPY M5로 막대 가져오기
요금 = 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...
 

datetime을 특정 시간대에 가져오려면 도움말에서 datetime UTC 사용을 제안합니다.

그러나 이것은 아무 영향도 미치지 않습니다. 임의의 시간대를 설정할 때 터미널 시간이 사용됩니다(내 경우에는 GMT+2).

 
 
Rashid Umarov :
빌드 번호 ?

pip install --MetaTrader5 업그레이드

요구 사항이 이미 최신 상태입니다. c:\works\mt_websocket_server\.env\lib\site-packages(5.0.8)의 MetaTrader5



 
모든 것을 한 곳 으로 옮길 수 있습니까?
MetaTrader 5 Python User Group - как использовать Python в Метатрейдере
MetaTrader 5 Python User Group - как использовать Python в Метатрейдере
  • 2019.11.25
  • www.mql5.com
Мы готовим модуль MetaTrader 5 для Python, аналогичную R...
 
Maxim Dmitrievsky :
모든 것을 한 곳 으로 옮길 수 있습니까?

정확히 무엇? 전체 토론 스레드?

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

정확히 무엇? 전체 토론 스레드?

예, 한 곳에서 모든 것이 파이썬에 관한 것이었습니다.

중재자가 mb를 전송합니다.

 
Maxim Dmitrievsky :

예, 한 곳에서 모든 것이 파이썬에 관한 것이었습니다.

중재자가 mb를 전송합니다.

규범, 당신이 전송할 수 있다면 던져 보자. 어떻게 든 옳지 않은 것을 재현하십시오 ...
 

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

MetaTrader5 python lib 및 MT5CopyRatesFrom - 이상하거나 버그입니까?

드미트리 프로코피예프 , 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)

터미널로 이동하여 이 프레임의 low/hight를 확인합니다.

우리는 낮은 = 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...
 
지금 이 스레드로 이동했습니다.