Mql5 dilinin özellikleri, incelikleri ve çalışma yöntemleri - sayfa 201
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
Bu gibi durumlar için birkaç yardımcı makro veriyorum.
1. Bazen makronuzun içinde bir parametrenin ayarlanıp ayarlanmadığını belirleme isteği vardır. IS_PARAMETER_SET(p), p verildiğinde true döndüren bir ifade belirtir (dize değişkeni == NULL olsa bile).
Dikkat: İfade, derleme aşamasında ön işlemeden sonra değerlendirilir!!!, yani. #ifdef IS_PARAMETER_SET(p) #else gibi bir şeyi uygulamak için kullanılamaz. (bu, aşağıdaki diğer makrolar için de geçerlidir)
2. Parametre ayarlanmadığında derleme hatası almamak için parametre değerini açıkça bir dizgeye dönüştürmeniz gerekiyorsa, __EVAL_STR(p) kullanabilirsiniz. p belirtilmemişse veya açıkça bir NULL değişmezi olarak belirtilmişse, "" döndürür. Diziler, yapılar ve sınıflar için geçerli değildir.
3. Bir parametrenin bir sayıya açık dönüşümü - __EVAL_NON_STR(p). p verilmezse 0 döndürür.p bir dize olduğunda yanlış çalışır!
Kod ve kullanım örnekleri:
RannForex-Server demo hesabında aşağıdaki kod ile bu Expert Advisor'ı çalıştırırsanız hemen bu durumu yeniden oluşturabilirsiniz.
Sonuç.
Yol boyunca, komut dosyası (her zaman ilk kez değil) eşzamanlı bir OrderSend'in yürütülmesinde bir hata gösterir.
OrderSend'i birkaç on/yüz milisaniye boyunca yürüttükten sonra, sipariş fiyatı eskidir ve OrderSend'in başarıyla yerleştirdiği fiyat değildir.
Aynı biletler konusuna dönersek, bazı sonuçlar çıkarabiliriz.
PS Birisi başka bir ticaret sunucusunda çoğaltmayı başardıysa, adı paylaşın.
Arama dizisi : Oshibka 010.
Kısmi tatmin meselesine tekrar dönüyorum.
1. Lütfen 3. maddeye göre netleştirin: "Kısmi-ertelemeyi silmeden oluşan pozisyonu kapatabilirsiniz. Ancak bundan sonra erteleme işe yararsa, daha önce kapatılan pozisyonun biletine eşit bir biletle anlaşma açacaktır. yani, belirli bir biletle bir pozisyonu kapattığınızda ve daha sonra pozisyon aynı biletle tekrar ortaya çıktığında bir durum olabilir."
Bu durumda POSITION_IDENTIFIER, POSITION_TICKET'e eşit miydi, değil miydi?
2. Daha önce "POSITION_TICKET != POSITION_IDENTIFIER" başlığında farklı bir MT5 mantığı gösterdiniz.
https://www.mql5.com/ru/forum/227423/page2#comment_6543129bulgular
Bunun, komisyoncu hackinin özellikleri değil, MT5'in normal davranışı olduğunu düşünürsek, o zaman
Tecrübelerinize göre, MT5 tarafından hangi durumlarda/çalışma modlarında hangi şemanın kullanıldığı genel bir model var mı?
3. Son olarak, "POSITION_TICKET != POSITION_IDENTIFIER" olduğu gerçek durumlar oldu mu?
Bir makro çağırırken, herhangi bir parametre belirtemezsiniz (atlayın), bazen özellikle belirtilmemiş bir parametreyle çalışan bir makro olasılığını sağlamak istersiniz.
Herhangi bir makroda belirtilmemiş bir parametrenin derleyici tarafından boş bir dize olarak algılandığı ortaya çıktı?
bir bakıma evet , ancak "boş alan gibi" demek daha doğru olabilir. Anlatması zor. :-(.
Ama #p tam olarak bir dizgeye dönüşür ==""
bir bakıma evet , ancak "boş alan gibi" demek daha doğru olabilir. Anlatması zor. :-(.
Ama #p tam olarak bir dizgeye dönüşür ==""
Teşekkürler, ilginç nokta.
@fxsaber
Bak, lütfen şu soru: https://www.mql5.com/ru/forum/170952/page201#comment_21964923
Kısmi infaz meselesine tekrar dönüyorum.
1. Lütfen 3. maddeye göre netleştirin: "Kısmi-ertelemeyi silmeden oluşan pozisyonu kapatabilirsiniz. Ancak bundan sonra erteleme işe yararsa, daha önce kapatılan pozisyonun biletine eşit bir biletle anlaşma açacaktır. yani, belirli bir biletle bir pozisyonu kapattığınızda ve daha sonra pozisyon aynı biletle tekrar ortaya çıktığında bir durum olabilir."
Bu durumda POSITION_IDENTIFIER, POSITION_TICKET'e eşit miydi, değil miydi?
2. Daha önce "POSITION_TICKET != POSITION_IDENTIFIER" başlığında farklı bir MT5 mantığı gösterdiniz.
https://www.mql5.com/ru/forum/227423/page2#comment_6543129Tecrübelerinize göre, MT5 tarafından hangi durumlarda/çalışma modlarında hangi şemanın kullanıldığı genel bir model var mı?
3. Son olarak, "POSITION_TICKET != POSITION_IDENTIFIER" olduğu gerçek durumlar oldu mu?
Her iki bağlantı da kısmi yürütmenin farklı uygulamalarından bahseder. Bu, MT5 tarafından değil, aracı yazılım tarafından belirlenir.
Uyumsuzluk bileti ve kimlik eşleşmedi.
Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum
Kitaplıklar: Kullanım
fxsaber , 2021.05.01 14:17
GetMicrosecondCount , önceki çağrıdan daha düşük bir değer döndürebilir (ULONG taşması yok). bu tür durumlara örnekler.Her hat, üç MT4 terminalinde farklı Uzman Danışmanlar tarafından alınır.
Ve bu, MT5'te olur, ancak MT4'te çok daha az sıklıkta olur.
Dikkat olmak.