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

 

Python 5.0.33 için MetaTrader 5 yayınlandı:

pip install --upgrade metatrader5
 
Christian :

copy_rates_from, M1 zaman çerçevesinde yeterli veri sağlamıyor.


Bu doğru hareket tarzı mı?

Grafiklerde çubuk sayısı sınırınız var, bu sınırı Terminal'de kaldırmanız gerekiyor (Araçlar->Seçenekler->Çizelgede Maksimum çubuklar).
Terminalin sonraki yapılarında, böyle bir istekte bulunurken bir hata (Yok) döndüreceğiz.

 
Metaquotes :

Python 5.0.33 için MetaTrader 5 yayınlandı:

Mükemmel! Tüm birim testleri geçti. pymt5adapter, MetaTrader5 5.0.33'ü kullanacak şekilde yükseltildi.

Her iki paket de aşağıdaki komutla yükseltilebilir.




pip install -U pymt5adapter 

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


Not: Takvim modülü, pymt5adapter'dan kalıcı olarak kaldırılmıştır.

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'ın başlatılması henüz geçmedi veya daha doğrusu geçti, ancak stoplimit kabul edilemez hale geldi.
 
Yarın torunumla Python öğrenmeye başlayalım.
 

Python 5.0.33

@Almaz
matplotlib paket rakamını çıkarmaz.
Konsoldan veya python IDE'den şekil çalıştırılır.

 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 :

Python 5.0.33

matplotlib paket rakamını göstermez.
Konsoldan veya python IDE'den şekil başlar.

Bunu dene

pip install -U pymt5adapter pandas mplfinance

kod

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 :

Bunu dene

kod

teşekkür ederim. mplfinance ilginç kütüphane.
Ama bir alt plana ihtiyacım var

Bu kütüphane böyle bir rakam gösterebilir mi?

 
Roman :

Python 5.0.33

@Almaz
matplotlib paket rakamını çıkarmaz.
Konsoldan veya python IDE'den şekil çalıştırılır.

Bunun Terminal'in altından komut dosyasının başlatılması olduğunu anlıyorum? Kontrol edildi, çalışıyor.

1. Uzmanlar sekmesinde (Araç Kutusunun alt kısmında) hangi hataların yazdığına bakın.

2. MetaEditor'da ayarların matplotlib ile doğru Python'a giden doğru yolu içerdiğini kontrol edin, MetaEditor'daki ayarları değiştirdikten sonra terminali yeniden başlatmanız gerekir, çünkü terminal bu ayarları yalnızca başlangıçta alır.

MetaEditor Derleyici Seçenekleri

3. mt5.initialize() içinde terminalin tam yolunu belirtmemek daha iyidir, eğer Terminal'in kendisinden python betikleri çalıştırırsanız, doğru olanı kendileri bulurlar, yani. onları başlatmak.

 
Almaz :

Bunun Terminal'in altından betiğin başlatılması olduğunu anlıyorum? Kontrol edildi, çalışıyor.

1. Uzmanlar sekmesinde (Araç Kutusunun alt kısmında) hangi hataların yazdığına bakın.

2. MetaEditor'da ayarların matplotlib ile doğru Python'a giden doğru yolu içerdiğini kontrol edin, MetaEditor'daki ayarları değiştirdikten sonra terminali yeniden başlatmanız gerekir, çünkü terminal bu ayarları yalnızca başlangıçta alır.

3. mt5.initialize() içinde terminalin tam yolunu belirtmemek daha iyidir, eğer Terminal'in kendisinden python betikleri çalıştırırsanız, doğru olanı kendileri bulurlar, yani. onları başlatmak.

Teşekkürler Elmas.
Hata yok. Görüntülenen Uzmanlar sekmesi:

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

Yollar doğru.
mt5.initialize() içindeki tam yolu sildim, terminali yeniden başlattım ve şekil görüntülenmeye başladı.