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

 
Maxim Dmitrievsky :

dize olarak, ayırıcılarla ayrılmış bir komut ve bir parametre listesi gönderebilirsiniz. EA mesajı ayrıştırdığında, ne yapacağını anlayacaktır.


Sipariş Gönder komutu?

Dizelerin formatı ne olmalıdır? sicim? Soketlerle ilgili örnekte, mql5 soket istemcisinden gelen dizenin sonuca iletildiğini görebilirsiniz: socketreceive( int sock, int timeout).. result+= CharArrayToString (rsp, 0 ,rsp_len); .. dönüş sonucu;

 
slukin :

Sipariş Gönder komutu?

Dizelerin formatı ne olmalıdır? sicim? Soketlerle ilgili örnekte, mql5 soket istemcisinden gelen dizenin sonuca iletildiğini görebilirsiniz: socketreceive( int sock, int timeout).. result+= CharArrayToString (rsp, 0 ,rsp_len); .. dönüş sonucu;

OrderSend() değil, yalnızca ilk 3 karakterin, örneğin "SATIN AL" ve ardından argüman listesinin geldiği bir dize: lot, take, next. EA satırı okur, ilk 3 harfin satın alındığını görür ve bir tetikleme isteği oluşturur

onlar. uygulamalar arasında ücretsiz olarak kendi basit değişim protokolünüzü oluşturmanız yeterli
 
Maxim Dmitrievsky :

OrderSend() değil, yalnızca ilk 3 karakterin, örneğin "SATIN AL" ve ardından argüman listesinin geldiği bir dize: lot, take, next. EA satırı okur, ilk 3 harfin satın alındığını görür ve bir tetikleme isteği oluşturur

onlar. uygulamalar arasında ücretsiz olarak kendi basit değişim protokolünüzü oluşturmanız yeterli


Deneyimli bir geliştiriciden bir örnek çok yardımcı olacaktır.

 
Roffild :

Terminale zaten tam teşekküllü bir Python bağladım ve hepiniz değişimi frenli prizler ve borular aracılığıyla yürütüyorsunuz.

Zor değilse, herhangi bir zaman diliminde tek bir testin ne kadar sürdüğünü yazın?

Yani test cihazında optimizasyonun ne kadar sürdüğü sorusu ilgi çekiyor ve herhangi bir yanlış hesaplama var mı?

Önceki yorumlarda, bunu anlamak için biraz arka plana (JAVA bilgisi vb.) ihtiyacınız olduğunu yazmışsınız.

Biraz C# ve Python biliyorum, MQL4,5'te programlayabilirim, kitaplıklarınızda ustalaşmak benim için nispeten kolay olacak mı, ne kadar karmaşıklar?

 
slukin :

Deneyimli bir geliştiriciden bir örnek çok yardımcı olacaktır.

örneklerle makale daha sonra olmadıkça henüz çiğnemek için zaman yok

 
forexman77 :

Zor değilse, herhangi bir zaman diliminde tek bir testin ne kadar sürdüğünü yazın?

Yani test cihazında optimizasyonun ne kadar sürdüğü sorusu ilgi çekiyor ve herhangi bir yanlış hesaplama var mı?

Önceki yorumlarda, bunu anlamak için biraz arka plana (JAVA bilgisi vb.) ihtiyacınız olduğunu yazmışsınız.

Biraz C# ve Python biliyorum, MQL4,5'te programlayabilirim, kitaplıklarınızda ustalaşmak benim için nispeten kolay olacak mı, ne kadar karmaşıklar?

Her zamanki gibi test cihazında optimizasyon. Python'a aktarılırken ve geri aktarılırken veri bozulmasından kaynaklanan yanlış hesaplamalar hariç tutulur, çünkü aktarım RAM'den geçer ve kararsız yuvalar veya dosyalardan yapılmaz.

Evet, MQL, Java, Python kodunu kütüphaneme doldurdum. Ancak Apache Spark vb.'ye ihtiyacınız yoksa Java kullanmanız gerekmez.

 

MetaTrader 5 platform beta build 2055: Python ile entegrasyon, C++'daki gibi kapsam ve strateji test cihazında büyük iyileştirmeler

Terminal: Добавлено API для запроса данных из терминала MetaTrader 5 через приложения, использующие язык  Python

Python, komut dosyaları ve uygulamalar geliştirmek için modern bir üst düzey programlama dilidir. Makine öğrenimi, süreç otomasyonu, veri analizi ve görselleştirme için birçok kitaplık içerir.

Python için MetaTrader paketi, doğrudan MetaTrader 5 terminalinden süreçler arası iletişim yoluyla değişim bilgilerinin kolay ve hızlı bir şekilde elde edilmesi için tasarlanmıştır.Bu şekilde elde edilen veriler, istatistiksel hesaplamalar ve makine öğrenimi için daha fazla kullanılabilir.



Bağ

  1. Python'un en son sürümünü https://www.python.org/downloads/windows adresinden indirin.
  2. Python'u kurarken, komut satırından Python betiklerini çalıştırabilmeniz için "Add Python XX to PATH%" onay kutusunu işaretleyin.
  3. MetaTrader5 modülünü komut satırından yükleyin
    pip install MetaTrader5
  4. matplotlib ve pytz paketleri ekleyin
    pip install matplotlib
    pip install pytz

Fonksiyonlar

  • MT5Initialize - MetaTrader 5 terminali ile bağlantı kurar
  • MT5Shutdown - MetaTrader 5 terminaline önceden kurulmuş bağlantıyı kapatır
  • MT5TerminalInfo - bağlı MetaTrader 5 terminalinin durumunu ve parametrelerini alır
  • MT5Version - MetaTrader 5 terminalinin sürümünü döndürür
  • MT5WaitForTerminal - MetaTrader 5 terminalinin ticaret sunucusuna bağlanmasını bekler
  • MT5CopyRatesFrom - belirtilen tarihten itibaren MetaTrader 5 terminalinden çubukları alır
  • MT5CopyRatesFromPos - belirtilen dizinden başlayarak MetaTrader 5 terminalinden çubuklar alır
  • MT5CopyRatesRange - MetaTrader 5 terminalinden belirtilen tarih aralığındaki çubukları alır
  • MT5CopyTicksFrom - belirtilen tarihten itibaren MetaTrader 5 terminalinden keneler alır
  • MT5CopyTicksRange - MetaTrader 5 terminalinden belirtilen tarih aralığı için keneler alır
Welcome to Python.org
Welcome to Python.org
  • 2019.05.15
  • www.python.org
The official home of the Python Programming Language
 

Ne olmuş? Bu yönde çalışan var mı? Coşku yok.

İyi şanlar

 
Vladimir Perervenko :

Ne olmuş? Bu yönde çalışan var mı? Coşku yok.

İyi şanlar

Bunda, hayır. Ve NS testleri için python kullanıyorum.
 
Roffild :

Her zamanki gibi test cihazında optimizasyon. Python'a aktarılırken ve geri aktarılırken veri bozulmasından kaynaklanan yanlış hesaplamalar hariç tutulur, çünkü aktarım RAM üzerinden gerçekleşir ve kararsız yuvalar veya dosyalar üzerinden yapılmaz.

Evet, MQL, Java, Python kodunu kütüphaneme doldurdum. Ancak Apache Spark vb.'ye ihtiyacınız yoksa Java kullanmanız gerekmez.

Belleğin daha hızlı olduğuna katılıyorum, ancak soketlerin veya boruların sabit olmadığına ve bir konektör düzenlerken belleğin çılgın hızının gereksiz olduğuna katılmıyorum. bir gecikme değişimi var <--- (bir ara sunucu mümkündür) ---> bir makinenin içindeki yüzlerce seri soketin bile fazlasıyla yeterli olduğu bir terminal ...

Neden: