Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Hiçbir şey anlamadın. Bir dönüş yaptığımızda oluşan kuyruğun On-fonksiyonuna giriyoruz. Bu, ilk OrderSend'in doğru ikincisini göndermesinden sonra HEMEN önleyecek bir duraklamaya neden olabilir .
Duraklama/gecikme nedir? 3 yapıyı kopyalarken?
Döndükten sonra tüm On-fonksiyonlarını kaydederek, ilk OrderSend'in tamamlanması hakkında bir mesaj içeren On-fonksiyonunu bekleyerek bir kuyruk biriktirmeyi öneriyorsunuz. Ve sonra sadece ikinci OrderSend'i gönderin.
Tüm olayları biriktirmek gerekli değildir . Bir sonraki olayın kopyalanmasını beklemeyin - olayları iade etmeden önce işleyebilir ve bunun için ön koşullar ortaya çıkar çıkmaz ikinci bir Sipariş Gönderimi gönderebilirsiniz.
Aynı zamanda, ilk OrderSend sırasında bir pozisyon alımının gerçekleştirilebileceğini hala anlamıyorsunuz, ancak OnTradeTransaction, ilk OrderSend'deki son OnTradeTransaction'dan daha sonra (aynı mikrosaniyede, ancak daha sonra) sırada olacak.
Böyle bir durumda nasıl yardımcı olabilirsiniz?
bool HandleNextEvent(ENUM_EVENT_TYPE);
Burada son olacak, orada ne var
Hiçbir şey anlamadın. Bir dönüş yaptığımızda oluşan kuyruğun On-fonksiyonuna giriyoruz. Bu, ilk OrderSend'in doğru ikincisini göndermesinden sonra HEMEN önleyen bir duraklamaya neden olabilir.
Döndükten sonra tüm On-fonksiyonlarını kaydederek, ilk OrderSend'in tamamlanması hakkında bir mesaj içeren On-fonksiyonunu bekleyerek bir kuyruk biriktirmeyi öneriyorsunuz. Ve sonra sadece ikinci OrderSend'i gönderin.
Aynı zamanda, ilk OrderSend sırasında bir pozisyon alımının gerçekleştirilebileceğini hala anlamıyorsunuz, ancak OnTradeTransaction, ilk OrderSend'deki son OnTradeTransaction'dan daha sonra (aynı mikrosaniyede, ancak daha sonra) sırada olacak.
Sıra yok. Yeni olay, mevcut olaydan sonra işlenecek ve bu süre içinde meydana gelen tüm olaylar yok sayılacaktır.
Bence sorunun çözümü, herhangi bir siparişe "abone olma" yeteneği olacaktır. Onlar. böylece terminal, siparişteki herhangi bir işlemin meydana gelmesi üzerine bir olay oluşturur.
Ancak bu, biz değil geliştiriciler tarafından uygulanmalıdır. Tüm kararlarımız, öyle ya da böyle , işlemlerin geçmişine geri dönecek. Mikrosaniyede öyle bir kritikliğim yok ama gerçek
Anlaşmanın geçtiğini/başarısız olduğunu, seviyelerin çalıştığını veya birinin terminalden konumu düzelttiğini öğrenmek için farklı karmaşıklıktaki bisikletleri yazmak can sıkıcıdır.
Her ne kadar basit bir şey gibi görünse de - bir pozisyon için bir anlaşma olayı - ve her şey çok daha basit hale gelecekti.
Ancak bu, biz değil geliştiriciler tarafından uygulanmalıdır.
Geliştiricilerin yalnızca araçları sağlaması gerekir. MQL aslında düşük seviyeli bir programlama dilidir (tıpkı C++ gibi). Üzerinde görev açısından değil, hesaplamalar açısından tartışıyorsunuz. Ve tüm üst düzey kararları kendiniz veriyorsunuz. Araçlardan yoksun olabilir, ancak hazır çözümler olmayabilir
Duraklama/gecikme nedir? 3 yapıyı kopyalarken?
Çeşitli olaylardan oluşan bir sıra işlenirken.
Böyle bir durumda nasıl yardımcı olabilirsiniz?
Burada son olacak, orada ne var
Alımla kapanış hakkında bilgi sahibi olacağım.
Sıra yok. Yeni olay, mevcut olaydan sonra işlenecek ve bu süre içinde meydana gelen tüm olaylar yok sayılacaktır.
beceriksiz.
Çeşitli olaylardan oluşan bir sıra işlenirken.
Alımla kapanış hakkında bilgi sahibi olacağım.
Gerçekten ( HandleNextEvent ile kod olmadan) temel şeyleri anlamadığım gerçeği üzerinde duralım.
Son olarak, önerilen HandleNextEvent ile benim yazdıklarım arasındaki farkın özyineleme yoluyla, benimki ise bir döngüden geçtiğine dikkat çekiyorum. Sonuçta, bir ve aynı . Ek olarak, sıram başlangıçta net bir şekilde oluşturulmuştur ve onu yönetebilirsiniz ... bazı olayları hemen işlersiniz, bazılarını daha sonra ertelersiniz - tam özgürlük ve önerilen HandleNextEvent işlevi aracılığıyla - eliniz ve ayağınız bağlanır
Aynı zamanda, aynı kontrol, aynı Terminal'deki savaş ticaret danışmanına bağlandı, Uyarı. Nedeni ne olabilir?
Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum
MT5 ve iş başında hız
Anton , 2020.05.29 16:21
Maksimum ve ortalama süreyi kontrol etmek için komut dosyası:
2474.
Çok iyi oldu. Değiştirildiyse - Teşekkürler. Dövüş modundaki performansı takip edeceğim.
Not: Savaş modunda, işlemler yapıldığında hemen hemen her zaman gecikme olur (yalnızca 5 milisaniyeden uzun olan durumları gösteriyorum).
Aksi takdirde, 2470'den çok daha iyi görünüyor.