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

 
Сергей Таболин :

Yeni başlayanlardan bir soru daha.

Durum şu. bir göstergem var. Grafiğe eklendiğinde "soğuk" modunda 7-8 saniye olarak hesaplanır.

Şimdi her şeyi python'da aynı şekilde yazdım. Aradaki fark, python'un verileri bir .csv dosyasına yazmasıdır.

Anlıyorum, MT5 ile bağlantıdaki kayıplar, diğer genel anlar.... Ama 3 saate karşı 8 saniye..... ???????? GİBİ ???????????

C++'dan yüzlerce kat daha yavaş bir dilden ne bekliyorsunuz?

Python'da hızlı olan her şey C++ modülleri olarak yazılır. Uygun bir hızlı modül yoksa, her şey sonsuz derecede yavaş olacaktır.


copy_ticks_range ve Python API'sindeki verileri çıkarmak için diğer yöntemler, tarafımızca bu verileri MQL5'e döndürme düzeyinde son derece verimli ve hızlı bir şekilde yazılır.
 
Renat Fatkhullin :

C++'dan yüzlerce kat daha yavaş bir dilden ne bekliyorsunuz?

Python'da hızlı olan her şey C++ modülleri olarak yazılır. Uygun bir hızlı modül yoksa, her şey sonsuz derecede yavaş olacaktır.


copy_ticks_range ve Python API'deki diğer veri çıkarma yöntemleri, tarafımızca bu verileri MQL5'e döndürme düzeyinde son derece verimli ve hızlı bir şekilde yazılır.

Daha yavaş, o kadar da değil....

Cevabınız için teşekkürler Renat. Böyle bir hızın yalnızca Python'un vicdanına bağlı olduğunu anlıyorum? Ben kendim ne MT'de kene çağırmanın ne de bir dosyaya veri yazmanın işi bu kadar yavaşlatamayacağını düşündüm ...

 

Şimdi, dilin performansına neden bu kadar çaba harcadığımızı anlıyor musunuz?

Aksi takdirde, modern ciltleri işlemek imkansızdır.

Python'u tek başına değil, onun için yazılmış verimli kitaplıklara (C++'da) bir köprü olarak destekliyoruz.

 
Renat, yeni test cihazıyla ne kadar ilerlediğinize dair hızlı bir genel bakış verebilir misiniz?

O zaman test cihazını Python ile kullanmak için API işlevi kesinlikle dahil edilecektir, değil mi?

selamlar
 
Christian :

O zaman test cihazını Python ile kullanmak için API işlevi mutlaka dahil edilecektir, değil mi?

Numara. Test edeni mahvetmek için intihar edeceğimizi ve kendimizinkinden yüzlerce kat daha yavaş bir dil seçeceğimizi düşünmek saflık olur.

Üçüncü taraf C++ kitaplıklarını MQL5 modüllerine yeniden derleme fikrimizi geliştirmemiz bizim için çok daha karlı. Bunu yapmak için editöre harici bir LLVM derleyicisi eklemeye başladık.

 
Renat Fatkhullin :

Numara. Test edeni mahvetmek için intihar edeceğimizi ve kendimizinkinden yüzlerce kat daha yavaş bir dil seçeceğimizi düşünmek saflık olur.

Üçüncü taraf C++ kitaplıklarını MQL5 modüllerine yeniden derleme fikrimizi geliştirmemiz bizim için çok daha karlı. Bunu yapmak için editöre harici bir LLVM derleyicisi eklemeye başladık.

Programın mql projesine bağlı C/C++ .lib veya .a statik kitaplıklarını destekleyen fikrin geliştirilmesi için herhangi bir umut var mı?

 
Roman :

Programın mql projesine bağlı C/C++ .lib veya .a statik kitaplıklarını destekleyen fikrin geliştirilmesi için herhangi bir umut var mı?

Numara. Açık erişim kontrolü ile her zaman herhangi bir DLL kullanabilirsiniz.

 
Anlıyorum, MT5 ile bağlantıdaki kayıplar, diğer genel anlar.... Ama 3 saate karşı 8 saniye..... ???????? GİBİ ???????????

Ne yaptığı ve verileri nasıl elde ettiğiniz net değil kelimelere göre yavaşlayan Python kodunuzun bir örneğine bakın. Ve neden sürekli dosyaya yazıyor? Sonunda yapılamaz mı?

 
Renat Fatkhullin :

Numara. Test edeni mahvetmek için intihar edeceğimizi ve kendimizinkinden yüzlerce kat daha yavaş bir dil seçeceğimizi düşünmek saflık olur.

Üçüncü taraf C++ kitaplıklarını MQL5 modüllerine yeniden derleme fikrimizi geliştirmemiz bizim için çok daha karlı. Bunu yapmak için editöre harici bir LLVM derleyicisi eklemeye başladık.

Ve varsayımsal olarak ONNX desteği alırsak, ithal modeller MQL'nin kendisinden daha mı yavaş olacak?

 

Çıktıda garip bir şey fark ettim:

[89, '2020.01.16', 3, 15, 3, 16, Timedelta('0 days 01:16:53.966000')]
[90, '2020.01.16', 3, 16, 3, 17, Timedelta('0 days 00:25:39.266000')]
[91, '2020.01.16', 3, 17, 4, 12, Timedelta('0 days 19:07:12.757000')]
[92, '2020.01.17', 4, 12, 4, 13, Timedelta('0 days 00:36:14')]
[93, '2020.01.17', 4, 13, 4, 15, Timedelta('0 days 02:21:01.630000')]
[94, '2020.01.17', 4, 15, 4, 17, Timedelta('0 days 02:12:28.692000')]
[95, '2020.01.17', 4, 17, 0, 11, Timedelta('0 days 17:30:16.404000')]

== 00:36:14.000000 mi?

Neden: