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 bence fark etmez. Ayrıca IF( StringHighStatus == "True" || SwingHighShift > SwingBarcount ) EndCycle = TRUE;
Mesele, IF'nin çıkış koşulunu algılamasının ve ardından WHILE'nin bool değişkenine tepki vermesinin nedeni, aynı koşulu WHILE içine koyarsam bitmemesidir?
Bu bence fark etmez. Ayrıca IF( StringHighStatus == "True" || SwingHighShift > SwingBarcount ) EndCycle = TRUE;
Mesele, IF'nin çıkış koşulunu algılamasının ve ardından WHILE'nin bool değişkenine tepki vermesinin nedeni, aynı koşulu WHILE içine koyarsam bitmemesidir?
bana göre bu işe yarıyor
gibi
deVries, belki yanılıyorum ama bir IF dizisinin mantıksal VEYA'nın yaptığı gibi boole değerini DOĞRU'ya çevirdiğini düşünüyorum.
İlk koşul eşleşirse, EndCycle DOĞRU olur, ikincisi uymazsa DOĞRU kalır.
Viceversa, ilki karşılanmazsa, ikincisi karşılanırsa, DOĞRU olur.
Bu sırada WHILE çıkış koşulunu tanır.
Böylece, sırayla iki IF mantıksal bir VEYA gibi davranır ve aynısı bir IF...ELSE IF dizisi gibi davranır.
Ve bir VEYA olmalıdır, VE olamaz, aksi halde WHILE takılıp kalabilir (dizedeki koşul sonsuza kadar yanlış olabilir).
Neden WHILE, koşul tanımında aynı mantıksal OR işleminin sonucunu belirleyemezken değeri döngü içinde ayarlanmış tek bir boole değişkenini yönetiyor?
Bu EA geçmişte, 600'den önce ve ayrıca 500'den önce birçok kişi tarafından kullanılmıştır ve bu son sürümdür. Kimse şikayet etmedi.
Öyleyse sorum şu: 600'ü inşa ettikten sonra WHILE operatörüyle sorun yaşayan var mı?
deVries, belki yanılıyorum ama bir IF dizisinin mantıksal VEYA'nın yaptığı gibi boole değerini DOĞRU'ya çevirdiğini düşünüyorum.
İlk koşul eşleşirse, EndCycle DOĞRU olur, ikincisi uymazsa DOĞRU kalır.
Viceversa, ilki karşılanmazsa, ikincisi karşılanırsa, DOĞRU olur.
Bu sırada WHILE çıkış koşulunu tanır.
Böylece, sırayla iki IF mantıksal bir VEYA gibi davranır ve aynısı bir IF...ELSE IF dizisi gibi davranır.
Ve bir VEYA olmalıdır, VE olamaz, aksi halde WHILE takılıp kalabilir (dizedeki koşul sonsuza kadar yanlış olabilir).
Neden WHILE, koşul tanımında aynı mantıksal OR işleminin sonucunu belirleyemezken değeri döngü içinde ayarlanmış tek bir boole değişkenini yönetiyor?
Bu EA geçmişte, 600'den önce ve ayrıca 500'den önce birçok kişi tarafından kullanılmıştır ve bu son sürümdür. Kimse şikayet etmedi.
Öyleyse sorum şu: 600'ü inşa ettikten sonra WHILE operatörüyle sorun yaşayan var mı?
sanırım bundan bahsediyorsun
Kodunuz, tam olarak gönderdiğiniz gibi, herhangi bir derlemede beklediğiniz gibi yapılmamışsa, bu nedenle bir şeyi değiştirmiş olmalısınız.
Sormak yerine, olması gerektiği gibi çalışıp çalışmadığını doğrulamak için çok basit bir while mantıksal işlemi denediniz mi?
Gönderim, şu anda tartıştığımız EA yığınına çok benzer olağandışı bir davranış döndürüyor gibi görünen bir WHILE örneğiyle başladı, bu yüzden önce denedim sonra sordum.
Bu çok basit hata ayıklama konusundaki yorumum yanlış olduğu için tartışma EA'nın kendisine taşındı.
Sabrınız için teşekkürler GumRai.
Belki yanılıyorum ve dik kafalıyım ama mantığını anlayamıyorum...
İlk IF, sizin önerdiğiniz gibi, dizeyi SwinghHighShift=10'da "true" olarak döndürürse, o döngüde sayılan artmaz; bundan sonra kontrol WHILE'a geri döner: WHILE mantıksal bir VEYA içerdiğinden ve koşullarından biri sağlandığından döngü bu noktada sona ermelidir.
Tersine, değişken yanlış kalırsa, sayaç maksimum değerine ulaşmalıdır ve yine çıkış koşuluna sahipsiniz.
Bence düşünceniz bir AND operatörü ile doğru olacaktır.
Yorumunuzu takiben WHILE içindeki OR'yi atlayabilirim; İlk IF koşulunu dizgeye koyabilirim: "doğru" olursa, mola WHILE'ı sona erdirir, aksi takdirde sayaç maksimum değerine kadar devam eder.
Kod şuna dönecek:
Ancak bu hala bir geçici çözüm ve ne yazık ki, WHILE'ın OR ile neden ilgilenmediğini (bana) açıklamıyor.
İlk IF, sizin önerdiğiniz gibi, dizeyi SwinghHighShift=10'da "true" olarak döndürürse, o döngüde sayılan artmaz; bundan sonra kontrol WHILE'a geri döner: WHILE mantıksal bir VEYA içerdiğinden ve koşullarından biri sağlandığından döngü bu noktada sona ermelidir.