Hatalar, hatalar, sorular - sayfa 2458
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
MQL4'ten MQL5'e geçerken bir aksaklıkla karşılaştım:
kod:
ResetLastError();
int NesneToplam = NesnelerToplam(0);
int Hata = GetLastError();
İadeler:
ObjToplam = 0
Hata=4022
Bu hata nedir, neden belgelerde yok?
Farklı seçenekler denendi: ObjectsTotal(0, -1, -1), ObjectsTotal(ChartID(), 0, OBJ_TREND) vb.
Sonuç aynı.
Nasıl çalıştırılır?
İpucu: Bir şey sormak istiyorsanız - bir parça değil TAM kodu girin.
Amaç nedir: Herhangi bir kişi kodunuzu alır ve evde çalıştırır. Ve pratikte kimse parçalı koda bakmaz - parçalı kod saygısızlıktır.
Kodunuzun bir örneği:
Tek bir grafik nesnenin olmadığı bir çizelgeye başlıyoruz. Sonuç:
Yani hata yoktur.
Terminali kullanıyorum:
İpucu: Bir şey sormak istiyorsanız - bir parça değil TAM kodu girin.
Tavsiyen için teşekkürler, öyle yapacağım.
Ancak, soru açık kalıyor.
Açıklama: Bir önceki gönderideki kod parçası göstergenin OnDeinit() işlevindeyse, sonuç aşağıdaki gibidir:
2019.05.10 14:08:20.105 Puan (EURUSD,H1) NesnelerToplam: 0, GetLastError: 4022
Göstergeyi grafikten çıkardıktan sonra aynı kod çalıştırılırsa, komut dosyası olarak (önceki gönderiden 1.mq5) şunu elde ederiz:
2019.05.10 14:08:33.609 1 (EURUSD,H1) Nesne Toplamı: 8575, GetLastError: 0
Lütfen nedenini bulmama yardım et.
optimizasyon sırasında strateji test cihazında bir hata.
" Test aracısı tarafından reddedilen görev "
Örneğin, hesap para birimi EUR ise,
Hesap para birimi ABD doları ise,
kodda başka döviz çiftleri kullanıldığında görünür.
özellikle benim örneğimde - bu, dinamik lot hesaplamasının kullanımıdır
onlar. EA başka bir para biriminin fiyatını istediğinde.
@Vladislav Andruschenko
Merhaba, bu sorun için herhangi bir cevap veya çözüm aldınız mı?
Grafiği / periyodu değiştirirken, giriş alanında belirttiğiniz değer ne olursa olsun PBB 10 değerini alır.
Yeniden başlatma sırasında, sanki ilk lansmanmış gibi olur.
Sorununuzu çözmenin iki yolu var
1 - PBB değerini terminal global değişkenlerinde saklayın ve oradan noktayı alın
2 - OnChartEvent tetiklendiğinde, MA göstergesini yeniden başlatın ve yeni bir tutamaç edinin...
Tüm seçenekler kontrol edildi. Çalışmıyor.
MQL5 programında bir kusur.
Yeni değerler başlatılmaz. Sadece parametre girişi int PBB_= ile. Başka seçenek yok. Çok kötü.
Tüm seçenekler kontrol edildi. Çalışmıyor.
MQL5 programında bir kusur.
Yeni değerler başlatılmaz. Yalnızca parametre girişi int PBB_= ile. Başka seçenek yok. Çok kötü.
MQL'de her şey yolunda, sadece kodda ne yaptığınızı ve her şeyin nasıl çalıştığını anlamıyorsunuz...
Bir kez daha ChartSetSymbolPeriod ( 0 , _Symbol , _Period ) çağrılırken;
Her şeyi varsayılana sıfırlıyorsunuz...
Alternatif olarak, İnternet'teki metin alanınızdan bir değer istemeyi deneyin.
Mantıksal olarak şöyle sonuçlanacak, indikatörün ilk lansmanı, her şey oluşturuluyor ve alandaki veriler değiştiğinde yeni bir init call olacak ve text alanınızdan değer ayarlanacak...
MQL'de her şey yolunda, sadece kodda ne yaptığınızı ve her şeyin nasıl çalıştığını anlamıyorsunuz...
Bir kez daha ChartSetSymbolPeriod ( 0 , _Symbol , _Period ) çağrılırken;
Her şeyi varsayılana sıfırlıyorsunuz...
Alternatif olarak, İnternet'teki metin alanınızdan bir değer istemeyi deneyin.
Mantıksal olarak şöyle sonuçlanacak, indikatörün ilk lansmanı, her şey oluşturuluyor ve alandaki veriler değiştiğinde yeni bir init call olacak ve text alanınızdan değer ayarlanacak...
Hem bir metin alanından hem de GlobalVariable aracılığıyla denendi ve bu henüz denemedi. Bir tanktaki gibi sağır.
Aksi takdirde, OnCalculate sorunsuz çalışır.
Hem bir metin alanından hem de GlobalVariable aracılığıyla denendi ve bu henüz denemedi. Bir tanktaki gibi sağır.
Aksi takdirde, OnCalculate sorunsuz çalışır.
Yani yanlış bir şey yapıyorsun
Yani yanlış bir şey yapıyorsun
Kodu zaten gönderdi.
Ben aptalsam, biri profesyonel olmalı. Madem göremiyorum.
Cevap bulma çabalarınızı kabul ediyorum. Burada daha derin bir anlayış var. Onlar. geliştirici düzeyinde.