![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
Victor, Renat, genel olarak, sizi doğru bir şekilde kaydetti, Alexey gerekli son kontrolü gösterdi ve daha önce, anlamın belirsizliğini önlemek için ve herhangi bir koşulu kaçırmadan her parametre için gerekli tüm kontrolleri tüm nüanslarla yapın!
Ve bunun kullanımı nedir? Sonuçta her fonksiyonda _LastError değerini sıfırlıyorum. Her zaman hafızamda kalmaz...
3 parametreden hiçbiri değişmediyse, OrderModify'a dokunulması gerekmediği için başka bir kontrol gereklidir.
Seni anladım. Yardım etmedi. İşte benim modifikasyon yöntemimden bir kod parçası:
Burada hata değerinin sıfırlandığını açıkça görebilirsiniz.Sonra piyasa bilgilerini alır. Eğer değişiklik test cihazındaysa... o zaman... Alexey tarafından önerilen kontrolü yapıyorum ve.. eğer değişiklik başarılı değilse, o zaman... günlüğü yazıp günlüğe yazdırıyoruz..
Genel olarak ResetLastError() arasında herhangi bir hata olmadığı aşikardır.. Yanlış olacak bir durum yok.
dergi:
Seni anladım. Yardım etmedi. İşte benim modifikasyon yöntemimden bir kod parçası:
Burada hata değerinin sıfırlandığını açıkça görebilirsiniz.Sonra piyasa bilgilerini alır. Eğer değişiklik test cihazında ise... o zaman... Alexey tarafından önerilen kontrolü yapıyorum ve.. eğer değişiklik başarılı değilse, o zaman... logu yazıp günlüğe yazdırıyoruz..
Genel olarak ResetLastError() arasında herhangi bir hata olmadığı aşikardır.. Yanlış olacak bir durum yok.
dergi:
Yani her şey...
EA'da sınıf yöntemini şöyle çağırırım:
İşte sınıfın ilgilendiğimiz kısmı:
İşte günlüğün bir kısmı:
Açıklamama izin ver. Değişiklik, fOrderModify() yönteminde gerçekleşir. Bu fOrderModify() yöntemine girişte, gövdenin başında, order parametrelerinin mevcut değerleri ve yeni planlananlar yazdırılır. Görülebilir:
Günlükteki bu parça:
Parametrelerin farklı olduğu görülebilir. Herhangi bir sorun olmamalı.Yani her şey...
EA'da sınıf yöntemini şöyle çağırırım:
İşte sınıfın ilgilendiğimiz kısmı:
İşte günlüğün bir kısmı:
Bir şey anlamıyorum, sipariş beklemedeyse Bid'in bununla ne ilgisi var?
Teklif her zaman SellLimit'ten daha düşüktür, if(New_OOP < Bid) satırı asla doğru olmaz... buna göre değişiklik sorunsuz gider.
Ve ayrıca bir dizi hata alabilir mi? Sonuçta, belgeler siyah beyaz olarak _LastError değişkeninin son hatanın numarasını sakladığını söylüyor. Ve sıfırlaması ResetLastError() işlevi tarafından gerçekleştirilir. _LastError çağrıları arasında daha fazla hata yoksa, _LastError son hatanın değerini depolar. Yol boyunca daha fazla hatam olmadı. Ve mesele bu değil.
Kesinlikle yanılıyorsunuz. Son hata hala birçok önemli fonksiyonda sıfırlanıyor. Bu, WinAPI'de de çalışır.
Bu nedenle, hata kodunu oluştuktan hemen sonra yerel bir değişkende saklayın ve birçok ara işlevinizde bu sistem değişkenini on kez temizledikten sonra kullanmaya çalışmayın.
Üzgünüz, SellLimit mesafenizi korumanızı gerektiriyor:
değil ( New_OOP <Teklif ) devam ederse ; ve ( New_OOP -dist*Point < Bid ) devam ederse ;
Bu lanet hata nasıl kaldırılır? O beni çoktan yakaladı. Fonksiyonun her giriş parametresini kontrol ediyorum. Şu anda elimde şu şekilde:
Onlar. parametre değiştirilmediyse, değiştirmeye gerek yoktur. Bunu daha önce hiç yapmadım, ama...
Ardından parametrelerim şu şekilde sipariş değiştirme yöntemine iletilir:
Hv günlük çıktısı:
Günlüğün, değişiklik gibi bildirildiği ortaya çıktı: Tamam ve ardından ... bir hata. Ayarların hiçbiri değişmedi.
Sipariş beklemede. Böylece açılış fiyatını değiştirebilir, durdurabilir ve alabilirsiniz. Ve bu, anladığım kadarıyla belgelerle çelişmedi.
Kim benzerleriyle karşılaştı? Nasıl karar verilir?