Hatalar, hatalar, sorular - sayfa 2652
![MQL5 - MetaTrader 5 müşteri terminalinde yerleşik ticaret stratejileri dili](https://c.mql5.com/i/registerlandings/logo-2.png)
Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret 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
Neyden korkuyorsun? Gelin birlikte faydalı bir şeyler yapalım.
Stanislav , KB'de fevkalade yararlı bir senaryo yayınladı . Dosyaları ve kaynakları içeren MQL işleriyle kolayca arşivler oluşturun.
Yüzlerce mqh dosyası içeren bir EA'm var. Bir script yardımıyla artık kaynak kodlarındaki danışmanı, kontrol versiyonlarını kolayca aktarabiliyor ve başkalarıyla paylaşabiliyorum.
Teşekkür ederim. Grafiğin olayları için seçenekleri analiz etmeye ve kontrol etmeye çalışacağım.
Şubeye bir göz atın, geçenlerde konuyu detaylı bir şekilde çözdüm - https://www.mql5.com/en/forum/327888
Anton Shpilyuk: 2 ) Циклом-перебором до тех пор пока дата не будет совпадать(минус - скорость работы) это так?
"Zaman kopya oranlarına göre çubuk indeksi al" konusunda
Korkunç, gerçekten! Görev, göstergenin kendisi M5 zaman diliminde çalışmasına rağmen, göstergedeki M1 zaman çerçevesinin çubuklarını almaktı.
1. Gösterge başlamadan önce yüklenmesi için OnCalculate() içinde gerekli zaman çerçevesini başlatmam gerekiyordu (başlatmadan sonra FirstStartFlag flag = false;). Göstergelerde yüklenmemişse -1 vereceğini veya tam yüklü olmadığını hatırlayalım bu yüzden ne kadar yüklendiğini kontrol ediyoruz, yeterli değilse başlangıç dönüşüne gidiyoruz ( 0 );
dizi bildir MqlRates oranları[]; başında, burada cnt_bars* 5 ; - M1'deki M5 çubuklarının sayısını yeniden hesaplayın
Bundan sonra, istenen fonksiyonun gövdesinde, hesaplamalar sırasında her seferinde M1 için geçmiş verileri güncelleriz:
Daha sonra, M5 çubuğu yineleme döngüsünde, karşılık gelen M1 çubuğunun indeksi için iç içe bir arama döngüsü yaparız, zaman[s] - zaman çerçevesinin geçerli işlenmiş M5 çubuğu :
O zaman bu dizini M1 çubukları için gerekli verileri bulmak için kullanırız, benim durumumda, oranlar[IndexRates-5].time and Rates[IndexRates-k-4].close
Tanrıya şükür, bu iç içe döngü, çubuklar arasında hızla yinelenir. 90 günlük bir tarihte bile. Ve böylece, ArrayBsearch işlevini kullanarak ikili arama türüne göre Rate[].time dizisindeki çubuk dizinini arayabilmek istiyorum.
Hatanın kısa özeti:
Sınıf mirası olduğunda A <= B <= C <= D
ve örneğin biri A* parametreli ve ikincisi B* parametreli olmak üzere iki aşırı yükleme işlevi uygulanır,
daha sonra MQL'de böyle bir işleve bir C* veya D* nesnesinin geçirilmesi "aşırı yüklenmiş işleve belirsiz çağrı" derleme hatasına neden olur.
Soru: Bu aptalca hata için yukarıda sunulandan daha mantıklı bir çözüm var mı?
Sonraki sayfaları gönder "Neden MQL != C++"...
Konunun özünü anlamadıysanız neden bir şey hakkında yorum yapıyorsunuz?
Sorunun özünü anlamadıysanız neden bir şey hakkında yorum yapıyorsunuz?
Çünkü uzun zaman önce bu tür açıklamalar için konuyu açmıştım (çünkü hiçbiriniz sizin gibi yapamazdı).
Ve sonra, dillerdeki farkın hatalar veya hatalar için geçerli olmadığı !
MQL yavaş yavaş moralini bozuyor:
Hatanın kısa özeti:
Sınıf mirası olduğunda A <= B <= C <= D
ve iki işlev uygulanır, örneğin, biri A* parametresi için, ikincisi B* için,
daha sonra MQL'de böyle bir işleve bir C* veya D* nesnesinin geçirilmesi "aşırı yüklenmiş işleve belirsiz çağrı" derleme hatasına neden olur.
Soru: Bu aptalca hata için yukarıda sunulandan daha mantıklı bir çözüm var mı?
Eh, STL bire bir kaydırılmaz. Burada ayrıntılara daha yakından bakmak gerekiyor. En kolay yol, temel sınıf veya arayüzde ve mirasçılarda - ya uygulama ya da =delte - soyut yöntemlerle tüm olası işlevleri yazmaktır. Bu durumda, aynı temel sınıfın türüne sahip işaretçiler veya referanslar yöntemlere iletilir. Doğru, sanal bir masa şeklinde kaçınılmaz bir kötülük var, ama Tanrı onu kutsasın, ancak mimariyi dinamik_cast aracılığıyla hiçbir yerde pahalı dallanma olmayacak şekilde inşa etmek arzu edilir.