Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 245
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
Senaryoda şöyle bir şey yaptım:
zaman=0
SymbolInfoTick Pazartesi günü kontrol edecek
Bu kodla kontrol edebilirsiniz:
Ama sembolle kenelere ihtiyacımız var.
Bu kodla kontrol edebilirsiniz:
Ama sembolle kenelere ihtiyacımız var.
Evet, " SymbolInfoTick ", bugün test edilmedi.
Keneler gidene kadar denedim hiçbir şey işe yaramayacak
iask=0Evet, "SymbolInfoTick", bugün test edilmedi.
Keneler gidene kadar denedim hiçbir şey işe yaramayacak
iask=0Bu özellik çok hızlı.
Performansı ölçmek için, çok sayıda yineleme içeren bir döngüde birden çok çağrı uygulamanız ve toplam yürütme süresini ölçmeniz gerekir.
Daha da ilginç olanı, bir kod örneği var. Sonucu bekliyoruz.
EA'da yeni bir çubuğu kontrol etmek için forumlarda bulduğum "CopyTime", "CopyRates" tabanlı işlevleri kullandım. Hesaplarının çok zaman aldığı sonucuna vardım.
İşte kontrol verileri ( gösterge çağrısının 171 ms sürmesi dikkat çekicidir):
Sonra düşündüm ki, eğer denersem, başka bir şey. Örneğin "Zaman Akımı"
Optimizasyon için aşağıdaki kodu yaptı:
Expert Advisor'da optimizasyon için aşağıdaki kodu yaptım:
Her tikte gösterge değerleri elde edildiğinde, yeni bir çubuğu kontrol etmeden tek bir çalıştırmada sonuç: 817.196 ms
Yeni çubuk kontrolü ile: 735.904 ms
Fark özellikle etkileyici değil, iyileştirmeler var, ancak bu yeterli değil.
Göstergeyi şöyle alıyorum:
Yeni çubuğun kontrol edildiği bloğa tanıtıcı çağrı ile kodu yerleştirmeye çalıştım, bu satırda bir hata oluşuyor
o dönüşü koydum hiçbir şey döndürmez, hata vermez, ancak danışman çalışmıyor.
Mümkünse tanıtıcı çağrısının ve genel olarak statik değişken dışındaki tüm ana kodun yeni bir çubuğu kontrol etmek için koşullu operatörün içine yerleştirilmesi gerektiğini varsayıyorum.
Bir yerde yanılmıyorsam kolu çağırsak da tamponlarda indikatör istemesek de yine de hesaplandığını okumuştum.
Yalnızca bir formül tamponunun [i] = (1.3747-(MarketInfo("EURUSD", MODE_BID))+0.8835-(MarketInfo("USDCHF", MODE_BID) sonuçlarının çıktısına dayalı olarak nasıl bir gösterge yapılacağını kim söyleyebilir?) ))*10000;
Özel bir gösterge yazmanız gerekir. Süreci kolaylaştırmak için - en basit göstergelerden birini alın - iMa ve biraz yeniden yazın. İşte MarketInfo'dan bahseden başka bir konu . Kod yaz, yolunda gitmeyen bir şey olup olmadığını sor.
Statik değişkenlere ne oldu? Bugün terminalin eski yapısını güncelledim ve şimdi hatayı derlerken:
Şimdi sınıfın statik veri üyeleri yerleştirilmelidir :