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
Derinlemesine araştırmadım, şimdi mantıklı konuşuyorum:
- OnCalculate'de bir gösterge oluşturmaya başlamadan önce bir kontrolüm var - bu göstergenin doğru inşası için gerekli olan tüm göstergelerin yapılıp yapılmadığını. değilse, döngüden çıkın, çünkü OnCalculate'in aynı lansmanında bekleyemezsiniz (bir gerçeği bekleyemezsiniz - Renat tarafından onaylandı), bu göstergenin döngüden çıkması ve bir güncelleme beklemesi gerektiğini izler. tekrar, değil mi? ve eğer bu tür birkaç yuvalama seviyesi varsa, o zaman kullanıcının bu seçeneği grafik menüsünden o kadar çok çağırması gerekecek ki, bu, bitişik çağrılar arasındaki göstergelerin her zaman oluşturmak için zamanının olduğunu varsayarsak (ve onların özellikle birden çok para birimi ve çok dönemli olanlar) anında inşa edilmekten uzaktır.
- iCustom üzerinden çağrılan göstergelerde OnTimer ve OnChartEvent'in çalışmadığı da bir gerçektir, bir sonraki daldaki moderatörler tarafından onaylandı ve kendim kontrol ettim.
Derinlemesine araştırmadım, şimdi mantıklı konuşuyorum:
- OnCalculate'de bir gösterge oluşturmaya başlamadan önce bir kontrolüm var - bu göstergenin doğru inşası için gerekli olan tüm göstergelerin yapılıp yapılmadığını. değilse, döngüden çıkın, çünkü OnCalculate için aynı oturumda bekleyemezsiniz (bir gerçeği bekleyemezsiniz - Renat tarafından onaylandı), bu göstergenin döngüden çıkması ve bir güncelleme beklemesi gerektiğini izler. tekrar, değil mi? ve eğer bu tür birkaç yuvalama seviyesi varsa, o zaman kullanıcının bu seçeneği grafik menüsünden o kadar çok kez çağırması gerekecek ki, bu, bitişik çağrılar arasındaki göstergelerin her zaman inşa etmek için zamanları olduğunu (ve bazen oldukça zaman aldığını) varsayarsak. inşa etmek için uzun bir süre, özellikle çok para birimi ve çok dönemli olanlar).
- iCustom üzerinden çağrılan göstergelerde OnTimer ve OnChartEvent'in çalışmadığı da bir gerçektir, bir sonraki daldaki moderatörler tarafından onaylandı ve kendim kontrol ettim.
Peki, bu tür yapıların sorununu nasıl çözdünüz?
MT4'te MT5'e aktarılması gereken birbiriyle ilişkili bir dizi karmaşık göstergem vardı. Göstergeleri birbirine dahil edecek bir sınıf sistemi yapmaya ve bunları iCustom ve gösterge arabellekleri olmadan hesaplamaya karar verdim.
Radikal olarak. İç içe göstergelere zamanlayıcıya erişim ekleme hakkında bir şey söylediler mi?
Bu tür planları özellikle sormadım çünkü zaten beklemek için bir fırsat yoktu.
Ve sonra, betiklerde olduğu gibi, OnCalculate'den çıkmadan kullanılan verilerin oluşturulmasını beklemek mümkün olacak şekilde, göstergelerde Sleep() tipini bekleme olasılığını hemen eklerlerdi. Bu arada, bu aynı zamanda zaman serileri için de geçerlidir -gösterge, yeni işaretler gelmeden gerekli verileri yükleyemeyecektir .
Bu tür planları özellikle sormadım çünkü hala beklemek için bir fırsat yok.
Ve sonra, betiklerde olduğu gibi, OnCalculate'den çıkmadan kullanılan verilerin oluşturulmasını beklemek mümkün olacak şekilde, göstergelerde Sleep() tipini bekleme olasılığını hemen eklerlerdi. Bu arada, bu aynı zamanda zaman serileri için de geçerlidir -gösterge, yeni işaretler gelmeden gerekli verileri yükleyemeyecektir .
Ve anladığım kadarıyla, bunu birbirinizi gömerek bile çözemezsiniz - hafta sonu, Yenile'ye tıklamak istemiyorsanız, önce gerekli tüm çiftler / TF için geçmişi yüklemeniz gerekir. bir komut dosyası ve ancak bundan sonra göstergeyi başlatın.
Sleep()'i sormak kesinlikle işe yaramaz - tüm göstergeler için tek bir iş parçacığı. Ve bu sistemin değişmesi olası değildir. Ve bir zamanlayıcı uygularsanız - kayma ihtiyacı ortadan kalkacaktır.
Hemen aklıma bir fikir geldi. Ve aşağıdakileri uygularsanız. Ana göstergeye hangi verilerin alınması gerektiğini söylemenin, bu verileri bir zamanlayıcıya almanın ve ardından tüm iç içe göstergeleri sakince hesaplamanın bir yolu var mı?