Bir siparişin seçili olup olmadığı nasıl kontrol edilir - sayfa 11
![MQL5 - MetaTrader 5 müşteri terminalinde yerleşik ticaret stratejileri dili](https://c.mql5.com/i/registerlandings/logo-2.png)
Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret 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
Evet desem daha kolay olur mu? :)
Evet. İşte bu yerde:
int li_LastTicket = OrderTicket();
Çağrılmadan önce OrderSelect'e çağrı yapılmadıysa, kodunuz 4105 çalışma zamanı hatası üretecektir. Her onay işaretinin sonuna bir GetLastError kontrolü koyun ve bu hatayı yakalayın.
Kodumda bu hata olmayacak çünkü bu işlev OrderSelect() SONRASI olarak adlandırılıyor. Ve kodun kontrolü, danışmanın tüm yürütülebilir işlevlerinin ortak bir yapısı olmadan kodların yazıldığı zamanlardan beri kalmıştır.
Ayrıca, işlevlerimin çoğunda hata işleme işlevi vardır ve bunlardan çok dikkatli bir şekilde kurtulurum. Ayrıca, aradığınız yanıt gibi bir hata oluşturan bir dizi işlev vardır: " Sipariş daha önce seçildi mi, seçilmedi mi ?!"
Not Bu arada, derlenmiş kitaplıklardan OrderSelect() işlevleriyle çalışmanın bir özelliğini (birisi için yararlı olabilir) hatırladım: bir sıra seçilir (nasıl olduğu önemli değil), OrderTicket() seçilen sıranın numarasını döndürür . Derlenmiş kitaplıkta bulunan bir fonksiyondan bu seçilen sıranın özelliklerini almak istiyorsak, HİÇBİR ŞEY çalışmayacaktır. Bu sırayı tekrar (tekrar) seçmeniz gerekir.
Daha kolay mı değil mi bilmiyorum ama ilk yıldan itibaren aldılar, öyle bir zaman vardı ki, yoksa asla askerlik yapmazdım!
Ve ne, bilet ve sihirbaz zaten tanımlayıcı olmaktan çıktı mı? Yoksa aynı anda iki veya üç siparişle çalışmak önemli mi? Diziler var, bu dizilerin işleyip güncelleyeceği fonksiyonlar var. Yoksa temelde bir hataya düşmemek mi? O yüzden vurulma. Fazladan bir orderselect'in testi yavaşlattığı konusunda sızlanmayın. Her şeyin bir zamanı ve yeri vardır. Bir fonksiyondan diğerine geçerken, sıranın tekrar seçilmesi gerekeceğinden emin olun ve önceki fonksiyondan işleme verilerini bir dizide saklayın.
Ve bunu beğendim:)
Dmitry, bir işlevin sınırlarını terk etmeden bile, sipariş seçiminin işaretinin değişmeyeceğinden emin olamaz.
Peki ben neden bahsediyorum. İşlevlerimin evrenselliği yok, her biri kesinlikle kendi işiyle meşgul. Alım satımı bile ayrı. slowzoll ve tamamen yürütülene kadar işlevi bırakmaz. Öyleyse bırak sipariş numaraları değişsin, duraklar sürünsün, ancak bilet ve sihir kalacaktır.