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 bildirdiğ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?
Hata kodunu yanlış kullanıyorsunuz, birçok işlevinizden sonra gelen hata kodunun zaten geçersiz kılındığını unutuyorsunuz.
Bu nedenle, bir hata oluşursa, kodunun yerel bir değişkene kaydedilmesi ve sonraki birçok aramanızdan sonra ancak oradan yazdırılması gerekir.
Hata kodunu yanlış kullanıyorsunuz, birçok işlevinizden sonra gelen hata kodunun zaten geçersiz kılındığını unutuyorsunuz.
Bu nedenle, bir hata oluşursa, kodunun yerel bir değişkene kaydedilmesi ve sonraki birçok aramanızdan sonra ancak oradan yazdırılması gerekir.
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.
Üstelik her yöntemde hatalar için değişkenler ayarlayıp ardından bu değişkenleri Expert Advisors'da yazdırmak çok mantıklı değil.
Sonuçta, hataları toplamak için bir değişken varsa, neden bunları üretelim?
Evillive , bu nasıl çek yok? yukarıda yazdım:
if (OrderOpenPrice() != ND (fd_MurreyLevelsValue[ 11 ])) \\ Если текущая цена не равна новой.. из массива, то.. New_OOP = ND (fd_MurreyLevelsValue[ 11 ]); \\.. новая цена равна этому новому значению цены из массива( расчитанного ). else New_OOP = OrderOpenPrice(); \\ Иначе новая цена равно текущей цене выбранного ордера. Т.е. не изменяется. if (OrderStopLoss() != ND (fd_MurreyLevelsValue[ 12 ])) New_SL = ND (fd_MurreyLevelsValue[ 12 ]); else New_SL = OrderStopLoss(); if (OrderTakeProfit() != ND (fd_MurreyLevelsValue[ 2 ])) New_TP = ND (fd_MurreyLevelsValue[ 2 ]); else New_TP = OrderTakeProfit();
İlki için bir yorum bile yaptı. Her şey temel olmasına rağmen.
Başka nasıl kontrol edebilirsiniz?
anladım bu yüzden ayrıldım
Eşit olmadığını ve olmasını beklediğiniz yere yönlendirildiğini iki kez kontrol ediyorum!
Boris , ne demek istiyorsun? Sonuçta, açıkça yazdım ki fiyat böyle değilse .. o zaman öyle ... aksi halde ... güncel ... Başka ne var? 20 kere kontrol edebilirsiniz... :) Sonuçta bu mantıklı değil. İki gündür bu kod üzerinde çalışıyorum. Daha önce bir şekilde böyle bir söve rastlamamıştı. Şimdi karşı karşıya. Tüm bu yöntemleri zaten defalarca yazdım ve test ettim. Burada bir sorunla karşılaştım.
Gerçek şu ki, ben daha çok başka taktiklerin hayranıyım. Ama son baykuşları yazarken bu aksaklıkla karşılaştım. Şimdi kendim nereye gideceğimi bilmiyorum, tk. tüm kodu yukarı ve aşağı yazdırdıktan sonra, başka düşüncem yok. Bu nedenle OrderModify() işlevi yerleşiktir. Ve nasıl uygulanacağını bilmiyorum.
Evillive , bu nasıl çek yok? yukarıda yazdım:
İlki için bir yorum bile yaptı. Her şey temel olmasına rağmen.
Başka nasıl kontrol edebilirsiniz?
Viktor, yani kontrol ettikten sonra yeni bir değer atanır veya atanmaz ... Ama kontrol etmeniz gerekiyor
if (OrderOpenPrice() != ND (fd_MurreyLevelsValue[ 11 ]) // Если текущая цена не равна новой.. из массива || OrderStopLoss() != ND (fd_MurreyLevelsValue[ 12 ]) // или || OrderTakeProfit() != ND (fd_MurreyLevelsValue[ 2 ])) // или // если одно из условий выполнено пойдём в модифай...
Viktor, yani kontrol ettikten sonra yeni bir değer atanır veya atanmaz ... Ama kontrol etmeniz gerekiyor
Alexey ve geçirilen işlevlerin değerinin değişmezliğini nerede kontrol ediyorsunuz? Bunu zaten dikkate aldım. Ve başlangıçta genel olarak değişiklik ihtiyacı karşılanır. Seviyeler var, türkiye seviyenin değiştiğini bildirdiyse , devam edin ...
Boris , ne demek istiyorsun? Sonuçta, açıkça yazdım ki fiyat böyle değilse .. o zaman öyle ... aksi halde ... güncel ... Başka ne var? 20 kere kontrol edebilirsiniz... :) Sonuçta bu mantıklı değil. İki gündür bu kod üzerinde çalışıyorum. Daha önce bir şekilde böyle bir söve rastlamamıştı. Şimdi karşı karşıya. Tüm bu yöntemleri zaten defalarca yazdım ve test ettim. Burada bir sorunla karşılaştım.
Gerçek şu ki, ben daha çok diğer birkaç taktiğin hayranıyım. Ama son baykuşları yazarken bu aksaklıkla karşılaştım. Şimdi kendim nereye gideceğimi bilmiyorum, tk. tüm kodu yukarı ve aşağı yazdırdıktan sonra, başka düşüncem yok. Bu nedenle OrderModify() işlevi yerleşiktir. Ve nasıl uygulayacağımı bilmiyorum.
Evillive , bu nasıl çek yok? yukarıda yazdım:
if (OrderOpenPrice() != ND (fd_MurreyLevelsValue[ 11 ])) \\ Если текущая цена не равна новой.. из массива, то.. New_OOP = ND (fd_MurreyLevelsValue[ 11 ]); \\.. новая цена равна этому новому значению цены из массива( расчитанного ). else New_OOP = OrderOpenPrice(); \\ Иначе новая цена равно текущей цене выбранного ордера. Т.е. не изменяется. if (OrderStopLoss() != ND (fd_MurreyLevelsValue[ 12 ])) New_SL = ND (fd_MurreyLevelsValue[ 12 ]); else New_SL = OrderStopLoss(); if (OrderTakeProfit() != ND (fd_MurreyLevelsValue[ 2 ])) New_TP = ND (fd_MurreyLevelsValue[ 2 ]); else New_TP = OrderTakeProfit();
İlki için bir yorum bile yaptı. Her şey temel olmasına rağmen.
Başka nasıl kontrol edebilirsiniz?
![MQL5 - MetaTrader 5 müşteri terminalinde yerleşik ticaret stratejileri dili](https://c.mql5.com/i/registerlandings/logo-2.png)
- Ücretsiz ticaret uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
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?