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

 
Renat Fatkhullin :

5.0.15 sürümünden bu yana, python kitaplığı eskisiyle uyumlu olmayan ve en son terminal beta sürümünü gerektiren yeni bir biçimde çalışır.

Güncellenmiş belgeleri ve örnekleri yakında yayınlayacağız

Kütüphanenin eski sürümünü geçici olarak indirmek mümkün müdür?

 
Dmitri Custurov :

Kütüphanenin eski sürümünü geçici olarak indirmek mümkün müdür?

https://pypi.org/project/MetaTrader5/5.0.11/#files

MetaTrader5
MetaTrader5
  • 2020.01.24
  • pypi.org
Download the file for your platform. If you're not sure which to choose, learn more about installing packages. Files for MetaTrader5, version 5.0.11 Filename, size File type Python version Upload date Hashes MetaTrader5-5.0.11-cp36-cp36m-win32.whl (31.7 kB) MetaTrader5-5.0.11-cp36-cp36m-win_amd64.whl (43.3 kB...
 

Entegrasyonlar hakkında fikrimi belirtmeden edemeyeceğim. İki elim var. Python, sinir ağları, yapay zeka, derleyici uzantıları ve daha fazlası...

Ama bir AMA var.

Harika geliştirme ortamı ne olursa olsun, devasa olmalı, değil mi? Ve araçları sıradan ilkel ise, nasıl kütle olabilir? HAYIR - sıradan ilkeller değil, AMA GENIUS İLKELLER. SÜPER KOMPLEKS İLKELLER.

CCanvas sınıfını ele alalım - bu, grafik ilkellerin bir derlemesidir. Onlardan kaç tane toplanabilir? Çok güzelsin. Ve bunun için ne kadar beyin ve çalışma gerekiyor? - DENİZ. BİR ŞEY yaratmak için bir beyin ve emek denizi. Kaç tanesi buna muktedir? - Birimler.

Yine ana soru: APRIORI bir kişinin olağanüstü tasarım yeteneklerine sahip olduğunu varsayarsa, geliştirme ortamının araçları nasıl büyük ölçüde talep edilebilir hale gelebilir? Kitle üzerinde, bu durumda, hiçbir soru olamaz.

Kısaca tekrar edeyim:

Bir kişi Python, C++, MQL5, Algoritmik ticarete aşinaysa ve olağanüstü tasarım yeteneklerine sahipse, ŞEY'ini hangi profesyonel ortamda yaratması onun için ne fark eder? Olasılıkların MİNİMUM'unu kullanır ve sonucun MAKSİMUM'unu üretir. Gerisi, her şeyi arka arkaya kullanmaya çalışacak ve araç setinin karmaşıklığının eşiğinden dolayı hiçbir şey yaratmayacaktır.

Peki kim ve ne hedeflenmelidir?

 

Aşağıdaki sürüm, mevcut minimum 5.0.10'a kadar

444

Görünüşe göre güncellemeleri beklememiz gerekecek.

 

Herkese selamlar!

Örnekleri doğru izlememe rağmen neden bu hatayı alıyorum?

Herkese selam!

Örnekleri doğru izlememe rağmen neden bu hatayı alıyorum?


 
Renat Fatkhullin :
Python görsel stüdyoya dahil mi?

Farklı sistemler tarafından dolaylı veya otomatik olarak ayarlanan piton hayvanat bahçesi nedeniyle, kütüphaneleri kolayca başka bir python kopyasına kurabilir ve ardından diğer kopyaları çalıştırmayı deneyebilirsiniz.

Pitonlarla uğraşın lütfen. Python'a geçen herkes, hayatlarının geri kalanında kütüphaneler, bağımlılıklar ve uyumsuzluklarla savaşmaya hazır olmalıdır.

Kütüphanelerden bir ortam oluşturmak ve bazı kütüphane güncellemelerinin bilinmeyen sayıda kütüphaneyi bozmaması için dua etmek bir pitonistin kaderidir.

Python hayvanat bahçesi yok. Çevre (çevre) kavramı vardır. Bir bilgisayarın birden fazla ortamı olabilir. Kullanıcı hangi Ortamın kullanılacağını seçer.

Komut dosyası yürütülmeden önce Python ortamı başlatılmalıdır.

Bunu kitaplığımda dikkate aldım . Ortam başlatma işlevinin kodu buradadır.

MetaTrader 5 (MQL5) + Python 3 DLL для Forex, CFD и Futures
  • roffild.com
Использование MetaTrader с Python 3 на финансовых фондовых биржах, Forex, CFD и Futures. Из MetaTrader можно получать котировки в Python, но нет полноценной связи между ними. Пост одного из разработчиков. Главная идея и отличие этой обертки от остальных: обмен данными между MQL и Python через заранее созданные функции. Это самый быстрый и...
 

Belki MetaEditor'dan vazgeçmenin zamanı gelmiştir? Tam teşekküllü hazır bir tane alabiliyorsanız, neden IDE'nize farklı teknolojiler sokuyorsunuz?

Artık herkes IDE için bir modül oluşturuyor:

microsoft görsel stüdyo kodu

jetbrains intellij fikri

 
Roffild :

Python hayvanat bahçesi yok. Çevre (çevre) kavramı vardır. Bir bilgisayarın birden fazla ortamı olabilir. Kullanıcı hangi Ortamın kullanılacağını seçer.

Komut dosyası yürütülmeden önce Python ortamı başlatılmalıdır.

Bunu kitaplığımda dikkate aldım . Ortam başlatma işlevinin kodu buradadır.

Ortamları kolayca destekliyoruz. Editördeki derleyici ayarlarına bakın lütfen.

Hayvanat bahçesinden, terminalin bir ortam seçebileceği (örneğin, varsayılan yol) ve kitaplıkların kullanıcı tarafından başka bir ortama manuel olarak kurulacağı anlamında konuştum.


Yarın, terminalin ilgili yeni bir beta sürümünü ve yeni bir normal python kütüphanesini yayınlayacağız. API'yi ve kütüphaneyi sıfırdan yeniden yazdığımız için tüm eski yöntemler ve örnekler çalışamaz durumda.

Yeni API seti geniştir ve ticareti tam olarak yönetmenize ve açık pozisyonlara ve işlem geçmişine erişmenize olanak tanır.

Artık Metatrader için tam teşekküllü robotları doğrudan Python'da yazabilirsiniz.

 

Python 5.0.18 için MetaTrader 5'in yeni sürümü ve MetaTrader 5 build 2319'un beta sürümü:

  • beta MT5, Yardım -> Beta sürümünü kontrol et aracılığıyla indirilir
  • piton kitaplığı:
    pip install --upgrade metatrader5
    

Her şey api değiştiği için eski örnekler artık çalışmıyor.

İşte yeni özellik seti:

initialize(path=None)                              Establish connection with the MetaTrader 5 Terminal
wait()                                             Wait for the MetaTrader 5 Terminal to connect to a broker's server
shutdown()                                         Disconnect from the MetaTrader 5 Terminal

version ()                                          Get the MetaTrader 5 Terminal version
terminal_info()                                    Get the parameters of the MetaTrader 5 terminal
account_info()                                     Returns information of current account

copy_ticks_from(symbol, from, count, flags)                Get ticks starting from the specific date
copy_ticks_range(symbol, from, to, flags)                  Get ticks from the specified period
copy_rates_from(symbol, timeframe, from, count)            Get bars starting from the specific date
copy_rates_from_pos(symbol, timeframe, start_pos, count)   Get bars starting from the specified position
copy_rates_range(symbol, timeframe, date_from, date_to)    Get bars from the specified period

positions_total()                                          Returns the number of open positions
positions_get([symbol=\"SYMBOL\"],[ticket=TICKET])         Returns all open positions, can be filtered by symbol or ticket

orders_total()                                             Returns the number of orders
orders_get([symbol=\"SYMBOL\"],[ticket=TICKET])            Returns all orders, can be filtered by symbol or ticket

history_orders_total(from, to)                             Returns the number of orders in selected range from the history
history_orders_get(from, to)                               Returns orders in selected range from the history or filtered by position id, ticket

history_deals_total(from, to)                              Returns the number of deals in selected range from the history
history_deals_get(from, to)                                Returns deals in selected range from the history or filtered by position id, ticket

order_check(request)                                                Checks if there are enough funds to execute the required trade operation
order_send(request)                                                 Sends trade requests to a server
order_calc_margin(action, symbol, volume, price)                    Calculates the margin required for the specified order
order_calc_profit(action, symbol, volume, price_open, price_close)  Calculates the profit for the current account, in the current market conditions, based on the parameters passed

symbol_info(symbol)                                        Returns full information for a specified symbol
symbol_info_tick(symbol)                                   Returns current prices of a specified symbol
symbol_select(symbol,[enable])                             Selects a symbol in the Market Watch window or removes a symbol from the window

Misal:

import MetaTrader5 as mt5
import time

mt5.initialize()
mt5.wait()

dev = 0.00010 ;
symbol = "EURUSD"
buy_price = 0

mt5.symbol_select(symbol)

time.sleep( 1 )
p = mt5.symbol_info_tick(symbol)
prev_price = p.ask

while True:
    p = mt5.symbol_info_tick(symbol)
    print(p.bid, '/' ,p.ask)
    
     if p.ask > prev_price and buy_price == 0 :
            print( "Buy " , p.ask)
            r = mt5.Buy(symbol, 0.01 )
             if r.retcode == mt5. TRADE_RETCODE_DONE :
                buy_price = p.ask;
    elif buy_price > 0 and p.ask + dev < buy_price:
        print( "Buy(close) " , p.bid)
        mt5.Close(symbol)
        buy_price = 0

    prev_price = p.ask
    time.sleep( 1 )

mt5.shutdown()
 
Renat Fatkhullin :

Python 5.0.18 için MetaTrader 5'in yeni sürümü ve MetaTrader 5 build 2319'un beta sürümü:

  • Yardım yoluyla beta MT5 indirme -> Beta sürümünü kontrol edin
  • piton kitaplığı:

Her şey api değiştiği için eski örnekler artık çalışmıyor.

Her şey dinamik olarak değişir.

Gerçekten bu karmaşaya girmek istemiyorum.

ONNX ile WinML uygulamasını beklemeye değer. Ve ondan önce, ML teorisine dalın. Neyse ki, şimdi çok sayıda mevcut literatür ve çeşitli kurslar var.