Hatalar, hatalar, sorular - sayfa 3028
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
tek bir alanla birlik garip bir şey.
Bu, struct ile aynıdır - yalnızca hata daha açık bir şekilde görülebilir. Bu belgelerde bile yazıyor: " Aksi takdirde , birlik bir yapı gibi davranır "
union\char\char bağlantısı da garip ve ayrıca netlik için, ancak bunu şu şekilde yeniden yazabilirsiniz:
birine garip gelmesin diyetekrar düşün.
Andrew'u düşünmen gerek. Kodunuzda hamamböceği var.
Pekala, bugün çok motive oldum ... Doğru yönde ilerlemeye çalışacağım:
Yeni bir çubuk açıldı… iBars() bir arttı…… Ancak hesaplanan çubuk sayısı değişmedi. Ve bu yeni çubuk yeniden hesaplanana kadar değişmeyecek...
Sıradaki ne
bu, göstergelerde düzgün çalışmamalıdır:
yanılmıyorsam, yardım, tüm zaman dilimleri için veri yüklemek için komut dosyasının bir ayrıştırmasını içerir ve göstergenin çalışması nedeniyle göstergeden geçmiş verileri bu şekilde talep edemeyeceğinize dair bir uyarı olmalıdır. asenkron olarak
Evet ve tutamacı bağladıktan sonra BarsCalculated() öğesinin bir kez kullanılması önerilir
UPD: takas geçmişi için komut dosyası ve göstergelerde neden çalışmadığının açıklaması: https://www.mql5.com/en/docs/series/timeseries_access
Kodun anlamını anladığınızdan emin misiniz?
Andrew'u düşünmen gerek. Kodunuzda hamamböceği var.
Pekala, bugün çok motive oldum ... Doğru yönde ilerlemeye çalışacağım:
Yeni bir çubuk açıldı… iBars() bir arttı…… Ancak hesaplanan çubuk sayısı değişmedi. Ve bu yeni çubuk yeniden hesaplanana kadar değişmeyecek...
Sıradaki ne
sevgili. Lütfen bana yazmayın, konu dışısınız.
veya kod ile kanıtlayın.
Kodun anlamını anladığınızdan emin misiniz?
yüksek olasılıkla - emin ve anlaşıldı
Başka bir gösterge çağırmadan önce göstergeden "daha yüksek zaman aralığını" senkronize etmek istiyorsunuz
göstergem çalışıyor mu? - buna BarsCalculated() da ekleyebilirsiniz - ancak teslimattaki gösterge örneklerinde olduğu gibi, örneğin MACD.mql5
Not: KB'de çok zaman dilimli göstergeler var, neyi ve nasıl yapacağımı hatırlamam gerekirse, genellikle Mladen Rakic'in göstergelerini ararım ve ona bakarım, kodu yazma tarzı tuhaf (veya daha doğrusu biçimlendirme), ancak kesinlikle %100 verimli
https://www.mql5.com/ru/users/mladen
sevgili. Lütfen bana yazmayın, konu dışısınız.
veya kod ile kanıtlayın.
O zaman sana afiyet olsun...
Geliştiriciler böyle saçmalıklara tepki vermiyor, Igor da yakında sıkılacak ... Ve kendi kendine konuşmaya devam et ...
Sadece davulcudan, doğru olanı bozmamak için dışavurumlarınızı ayrı bir konuya taşımasını istemeniz yeterlidir ...
Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum
Hatalar, hatalar, sorular
Andrey Dik , 2021.05.28 05:16
İstenen kıdemli TF (M5) üzerinde veri senkronizasyonu ve üzerindeki göstergenin hazır olup olmadığını kontrol ediyorum, hazır değilse çıkıyorum.
sonuç olarak, gösterge M1 çubuğunun açılışında yalnızca bir kez çalışır ve her tikte çalışmaz:
Özel prev calc'inizi gerçekten kullanmak zorunda mısınız? Umarım geliştiriciler ricalarıma kulak verir.
Igor da yakında sıkılacak ...
sadece anlamak istiyorum
MT5'in senkronizasyonla ilgili birçok tuzakları var, şimdi soru tam da bununla ilgili
IMHO, gösterge her çubukta yapılar kullanıyorsa (oklar değil çizgiler)
o zaman böyle bir döngü ekonomik bir hesaplama için yeterlidir:
ilk arama varsa, prev_calculated = 0 olur, sonraki aramalarda yeni çubuklar yeniden hesaplanır
ve her iki gösterge de doğru yazılırsa, ek olarak hiçbir şeyi senkronize etmeye gerek yoktur, her şey işe yarayacaktır, geriye kalan tek şey CopyBuffer() ile çağrılan göstergenin gerekli sayıda değeriyle karşılaştırmaktır.
sadece anlamak istiyorum
MT5'in senkronizasyonla ilgili birçok tuzakları var, şimdi soru tam da bununla ilgili
IMHO, gösterge her çubukta yapılar kullanıyorsa (oklar değil çizgiler)
o zaman böyle bir döngü ekonomik bir hesaplama için yeterlidir:
ilk arama varsa, prev_calculated = 0 olur, sonraki aramalarda yeni çubuklar yeniden hesaplanır
ve her iki gösterge de doğru yazılırsa, ek olarak hiçbir şeyi senkronize etmeye gerek yoktur , her şey işe yarayacaktır, geriye kalan tek şey, çağrılan göstergenin gerekli sayıda değeriyle CopyBuffer()'ı karşılaştırmaktır.
Ve ben de aynı şeyden bahsediyorum. İlk çalıştırmadan önce senkronizasyonu denemek güzel olurdu ve bu nedenle …………
sadece anlamak istiyorum
MT5'in senkronizasyonla ilgili birçok sorunu var, şimdi soru tam da bununla ilgili
IMHO, gösterge her çubukta yapılar kullanıyorsa (oklar değil çizgiler)
o zaman böyle bir döngü ekonomik bir hesaplama için yeterlidir:
ilk arama varsa, prev_calculated = 0 olur, sonraki aramalarda yeni çubuklar yeniden hesaplanır
ve her iki gösterge de doğru yazılırsa, ek olarak hiçbir şeyi senkronize etmeye gerek yoktur, her şey işe yarayacaktır, geriye kalan tek şey CopyBuffer() ile çağrılan göstergenin gerekli sayıda değeriyle karşılaştırmaktır.
Eğer anlamak ve karşı çıkmamak için bir istek varsa, o zaman aşağıdaki koda benzer bir şey yazmalısınız:
her iki kodu da derleyin ve ikincisini çalıştırın. M1 ve M3'te eski göstergeyi çalıştırırken günlüklerde böyle bir şey alın:
2021.05.28 19:05:01.408 EskiTF (EURUSD,M3) 0.000234 sn, hesaplanan 50000 bar, toplam 50000 bar
2021.05.28 19:05:03.860 LitTF (EURUSD,M1) 0,007452 sn, hesaplanan 50023 çubuk, toplam 50023 çubuk
2021.05.28 19:06:00.670 EskiTF (EURUSD,M3) 0,00001 sn, hesaplanan 1 çubuk, toplam 50001 çubuk
2021.05.28 19:06:02.211 LitTF (EURUSD,M1) 0.008180 sn, hesaplanan 50024 bar, toplam 50024 bar
2021.05.28 19:07:00.780 LitTF (EURUSD,M1) 0.000004 sn, hesaplanan 1 bar, toplam 50025 bar
2021.05.28 19:08:01.246 LitTF (EURUSD,M1) 0.000014 sn, hesaplanan 1 bar, toplam 50026 bar
2021.05.28 19:09:00.959 EskiTF (EURUSD,M3) 0.000000 sn, hesaplanan 1 çubuk, toplam 50002 çubuk
2021.05.28 19:09:01.775 LitTF (EURUSD,M1) 0,006898 sn, hesaplanan 50027 çubuk, toplam 50027 çubuk
2021.05.28 19:10:00.830 LitTF (EURUSD,M1) 0.000004 sn, hesaplanan 1 bar, toplam 50028 bar
Çıplak gözle bile, ilk olarak, hızlı göstergeler oluşturmak için mümkün olan en hızlı seçeneği ve ikinci olarak, ön kireçlemenin sıfıra sıfırlandığını fark edebilirsiniz,
istenmediğinde ve bu, optimizasyon sırasında performansta önemli ölçüde makul olmayan bir düşüşe yol açacaktır. bu örnekte, gösterge her yeni M3 çubuğunda tamamen yeniden hesaplama yapmaya zorlanır. senkronize etmezseniz, göstergeyi oluştururken delikler alırsınız.
O zaman sana afiyet olsun...
Geliştiriciler böyle saçmalıklara tepki vermiyor, Igor da yakında sıkılacak ... Ve kendi kendine konuşmaya devam et ...
Sadece davulcudan, doğru olanı bozmamak için dışavurumlarınızı ayrı bir konuya taşımasını istemeniz yeterlidir ...
yukarıdaki koda bakın, pasaportunuzu yiyin, başınıza kül serpin ve kibirinizi kimsenin göremeyeceği bir yere sokun.