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
Merhaba Stringo,
maalesef bu bug devam ediyor.
Test komut dosyasını aşağıdan çalıştırırken ve bir hesaptan diğerine geçiş yaparken (test durumumda 2 veya 3 farklı komisyoncudan hesap kullandım ve birinden diğerine geçtim), bunu birkaç hesap değişikliğinden sonra görebilirsiniz (oldukça rastgele sayı) connectionState gerçekten 1'e dönmüyor, Terminal _is_ bağlı olsa bile 0 olarak kalıyor.
Sizin gözünüzde bu kritik bir hata olmayabilir. Ancak, connectionState'i görüntüleyen komut dosyaları geliştiren bazı kişiler için, yürütülen testlerin sonuçları oldukça endişe vericidir.
Bu yüzden bu konuya tekrar bir göz atabilirseniz çok minnettar oldum.
İşte testScript:
Saygılarımla,
Daniel.
Ben de aynı hatayı onaylamalıyım. EA'mda bağlantı olup olmadığını aynı anda kontrol ediyorum. Değilse betiğim çıkar.
Bunun için bir geçici çözüm bulan var mı?
Betik, sonsuz döngü ve gelen kenelerden bağımsızlık nedeniyle sorunu belirleyemez.
Problem sadece uzman gösterebilir. Tek satır kodlu basit uzman - Print( IsConnected ());
Kene gelirleri (terminalin bağlı olduğu anlamına gelir) - başlatma işlevi çalışır - ayy! IsConnected() 0 döndürür (yani yanlış)
Teşekkürler
evet kullanıyorum
sorun şu ki, bağlantı yeniden kurulduğunda IsConnected () harfi eski değeri false tutar ve true olarak değiştirmez! Ama fiyat hareketlerini görüyorum ve terminal %100 bağlı. Bu bir hatadır çünkü sonsuzluk döngüsü kırılmıştır ve bağlantı yeniden kurulduktan sonra ilk tıklamada hiçbir şey olmadığı için başlatma yürütülmüştür. Ancak bazı nedenlerden dolayı Is Connected() hala false döndürür. EA'yı çizelgeden kaldırır ve tekrar koyarsam, bir sonraki bağlantı kesilene kadar her şey yolunda gider.
Bu beni deli ediyor. Lütfen bu konuda bir şeyler yapın!
teşekkürler
Liliput - yukarıdaki start() kullanımının ana hatlarıysa, neden sonsuz döngüde kalıyorsunuz?
soruyorum neden normal yol girmektir > çalışmak istiyor muyum? no:dön > çalış > dön
(normal - elbette özneldir;o)
size nasıl tasarım yapacağınızı söylemiyorum - bu sizin işiniz, sadece akıl yürütmenizi soruyorum, sonra daha fazlasını öğreniyorum/bir şeyler yapmanın farklı yollarını görüyorum!
sormama ne sebep oldu?
Örneğin, bir EA, EA geri dönmediğinden - Termial sadece start() çağrısını yapmaz ... aramayı yapın ve sonunda EA'nın start() işlevini çağıramadan akan birçok veri kenesinden dolayı Terminal keşfedilmemiş derinliklere gider ve bağlantılı sorunu gösterir mi?
;)
Bu sorunu çözebilir mi..?
Liliput - yukarıdaki start() kullanımının ana hatlarıysa, neden sonsuz döngüde kalıyorsunuz?
soruyorum neden normal yol girmektir > çalışmak istiyor muyum? no:dön > çalış > dön
(normal - elbette özneldir;o)
size nasıl tasarım yapacağınızı söylemiyorum - bu sizin işiniz, sadece akıl yürütmenizi soruyorum, sonra daha fazlasını öğreniyorum/bir şeyler yapmanın farklı yollarını görüyorum!
sormama ne sebep oldu?
Örneğin, bir EA, EA geri dönmediğinden - Termial sadece start() çağrısını yapmaz ... aramayı yapın ve sonunda EA'nın start() işlevini çağıramadan akan birçok veri kenesinden dolayı Terminal keşfedilmemiş derinliklere gider ve bağlantılı sorunu gösterir mi?
;)
ukt, sorun değil cevaplayacağım. Sonsuz döngü yapıyorum çünkü birçok işlem yapmam gerekiyor ve bunları yapmak için yeni bir tik beklemek istemiyorum. Yani kontrolü bu şekilde terminalden alıyorum ve işimi ihtiyacım olduğunda ve istediğimde yapıyorum. Gerçek verileri almak için RefreshRates () kullanıyorum.
Bu nedenle, komisyoncuyla bağlantının olup olmadığını kontrol etmek mantıklıdır çünkü emirleri gönderirim/kapatırım/değiştiririm ve bağlantı yoksa çalışmaz. basit yani. Kullandığım döngüden çıkmak için başka kontroller de var. örneğin IsStoped() ve benzeri ama sorun benim kodumda değil IsConnected()'de.