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

 

Python 5.0.33용 MetaTrader 5 출시:

pip install --upgrade metatrader5
 
Christian :

copy_rates_from은 M1 기간에 충분한 데이터를 제공하지 않습니다.


이것이 올바른 조치입니까?

차트의 막대 수에 제한이 있습니다. 터미널에서 이 제한을 제거해야 합니다(도구->옵션->차트의 최대 막대).
터미널의 다음 빌드에서는 이러한 요청을 시도할 때 오류(없음)를 반환합니다.

 
Metaquotes :

Python 5.0.33용 MetaTrader 5 출시:

대박! 모든 단위 테스트를 통과했습니다. pymt5adapter가 MetaTrader5 5.0.33을 사용하도록 업그레이드되었습니다.

두 패키지 모두 다음 명령으로 업그레이드할 수 있습니다.




pip install -U pymt5adapter 

https://pypi.org/project/pymt5adapter/


참고: 캘린더 모듈은 pymt5adapter에서 영구적으로 제거되었습니다.

pymt5adapter
pymt5adapter
  • 2020.05.26
  • pypi.org
A drop in replacement wrapper for the MetaTrader5 package
 
1.BUY order send (): by EURUSD 0.01 lots at 1.0949 

2. order_send failed, retcode = 10016 
   retcode = 10016 
   deal = 0 
   order = 0 
   volume = 0.0 
   price = 0.0 
   bid = 0.0 
   ask = 0.0 
   comment = Invalid stops 
   request_id = 0 
   retcode_external = 0 

   request = TradeRequest (action = 1, magic = 234000, order = 0, symbol = 'EURUSD', volume = 0.01, price = 1.0949, stoplimit = 0.0 , sl = 1.0939, tp = 1.0979, 
   deviation = 0, type = 0, type_filling = 0, type_time = 0, expiration = 0, commen 

t = 'EURUSD Buy.', Position = 0, position_by = 0) 
stoplimit = 0.0의 초기화는 그냥 통과하지 못했거나 오히려 통과했지만 stoplimit가 허용되지 않게 되었습니다.
 
내일부터 손녀와 함께 파이썬을 배우자.
 

파이썬 5.0.33

@알마즈
matplotlib 패키지 그림을 출력하지 않습니다.
콘솔 또는 python IDE에서 그림이 실행됩니다.

 2020.05 . 28 22 : 47 : 51.654 mplib (EURUSD,M5)       Figure( 640 x480)
# -*- coding: utf- 8 -*-

import MetaTrader5 as mt5
import matplotlib.pyplot as plt

Win = 11

if not mt5.initialize("C:\Program Files\MetaTrader 5 \\terminal64.exe"):
    print("mt5.initialize() failed, error code = ", mt5.last_error())
    quit()   
    
rates = mt5.copy_rates_from_pos("EURUSD", mt5.TIMEFRAME_M5, 1 , Win)   
close = rates['close']       
    
mt5.shutdown()    


fig = plt.figure()

ax1 = fig.add_subplot( 3 , 1 , 1 )
ax2 = fig.add_subplot( 3 , 1 , 2 )
ax3 = fig.add_subplot( 3 , 1 , 3 )

ax1.plot(close, color =( 0.60 , 0.60 , 0.60 ), linestyle='dashed', linewidth = 1 )
ax2.plot(close, color =( 0.60 , 0.60 , 0.60 ), linestyle='dashed', linewidth = 1 )
ax3.plot(close, color =( 0.60 , 0.60 , 0.60 ), linestyle='dashed', linewidth = 1 )

plt.show()
 
Roman :

파이썬 5.0.33

matplotlib 패키지 그림을 표시하지 않습니다.
콘솔이나 파이썬 IDE에서 그림이 시작됩니다.

이 시도

pip install -U pymt5adapter pandas mplfinance

암호

import mplfinance as mpf
import pandas as pd
import pymt5adapter as mta


def main():
    rates = mta.copy_rates_from_pos( "EURUSD" , mta.TIMEFRAME.H1, start_pos= 0 , count= 50 )
    df = pd.DataFrame(rates).rename(columns={ 'tick_volume' : 'volume' })
    df.columns = (s.title() for s in df.columns)
    df[ 'Time' ] = pd.to_datetime(df[ 'Time' ], unit= 's' )
    df = df.set_index( 'Time' )
    print(df)
    mpf.plot(df, type= 'candle' , mav=( 7 , 15 ), volume=True)


if __name__ == '__main__' :
    with mta.connected():
        main()


 
nicholi shen :

이 시도

암호

감사합니다. mplfinance 흥미로운 라이브러리.
하지만 난 서브플롯이 필요해

이 라이브러리가 그러한 그림을 표시할 수 있습니까?

 
Roman :

파이썬 5.0.33

@알마즈
matplotlib 패키지 그림을 출력하지 않습니다.
콘솔 또는 python IDE에서 그림이 실행됩니다.

나는 이것이 터미널 아래에서 스크립트의 시작임을 이해합니까? 확인했습니다. 작동합니다.

1. 전문가 탭(도구 상자 하단)에 어떤 오류가 작성되었는지 확인합니다.

2. 설정이 matplotlib를 사용하여 올바른 Python에 대한 올바른 경로를 포함하는지 MetaEditor에서 확인합니다. MetaEditor에서 설정을 변경한 후 터미널을 다시 시작해야 합니다. 왜냐하면 터미널은 시작할 때만 이러한 설정을 선택합니다.

메타에디터 컴파일러 옵션

3. 터미널 자체에서 python 스크립트를 실행하는 경우 mt5.initialize()에서 터미널에 대한 정확한 경로를 지정하지 않는 것이 좋습니다. 시작합니다.

 
Almaz :

나는 이것이 터미널 아래에서 스크립트의 시작임을 이해합니까? 확인했습니다. 작동합니다.

1. 전문가 탭(도구 상자 하단)에 어떤 오류가 작성되었는지 확인합니다.

2. 설정이 matplotlib를 사용하여 올바른 Python에 대한 올바른 경로를 포함하는지 MetaEditor에서 확인합니다. MetaEditor에서 설정을 변경한 후 터미널을 다시 시작해야 합니다. 왜냐하면 터미널은 시작할 때만 이러한 설정을 선택합니다.

3. 터미널 자체에서 python 스크립트를 실행하는 경우 mt5.initialize()에서 터미널에 대한 정확한 경로를 지정하지 않는 것이 좋습니다. 그들을 시작합니다.

고마워 다이아몬드.
오류가 없습니다. 표시되는 전문가 탭:

 2020.05 . 28 22 : 47 : 51.654 mplib (EURUSD,M5)       Figure( 640 x480)

경로가 정확합니다.
mt5.initialize()에서 정확한 경로를 삭제하고 터미널을 다시 시작하면 그림이 표시되기 시작했습니다.