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
Kod iyileştiricinin nesne ağacının boyutu üzerinde sınırları var mı?
Nesne sayısını arttırırken derleme aşamasında "ağaç optimizasyon hatası" hatası alıyorum.
PS Derleme, hata ayıklama modunda gerçekleşir.
Hizmet masası biletine örnek bir kaynak kodu ekleyebilir misiniz? Doğrulamadan sonra kod silinecektir.
Büyük olasılıkla uzun işlevlerle ilgilidir, ancak kodu bize göndermeniz, sorunu çözebilmemiz ve hatayı düzeltebilmemiz için daha iyidir. Bu, birçok tüccara yardımcı olacaktır.
İlk olarak, test cihazına zorla geçmişi yüklemenin amacı nedir? Gerekli enstrümanlar için kod veya alım satım işlemlerinde talep olması durumunda, testçinin kendisi gerekli ve mevcut geçmişi sunucudan indirecektir. Kodunuz boş olduğundan, test cihazının, üzerinde testin gerçekleştirildiği sembol dışında diğer enstrümanlar için keneleri simüle etmesine gerek yoktur. Hikayesi testçi tarafından yüklendi. Ve geçmiş olmadığı için (test cihazında), o zaman 0 ile sonuçlanırsınız.
İkincisi, kod tüm semboller için geçmişe bir çağrı ile desteklense bile, tüm semboller için mevcut tüm geçmişin indirilmesinin başarılı olması, bir yerlerde bir başarısızlık olması muhtemel değildir. Test cihazı, terminalin tırnak tabanını kullandığından, gerekli geçmişi buraya yüklemeniz gerekir.Amaç fonksiyonu Balance + min Drawdown seçildiğinde Sonuç sütunundaki değerlerin ne anlama geldiğini söyleyebilir misiniz?
Amaç fonksiyonu Balance + min Drawdown seçildiğinde Sonuç sütunundaki değerlerin ne anlama geldiğini söyleyebilir misiniz?
terminal yardımına bakarsanız, birçok soru kendiliğinden kaybolur, her şey orada yazılır
Optimizasyon kriteri
Optimizasyon kriteri, değeri test edilen girdi parametrelerinin kalitesini belirleyen belirli bir göstergedir. Optimizasyon kriterinin değeri ne kadar büyük olursa, test sonucu belirli bir parametre seti ile o kadar iyi tahmin edilir. Bu göstergenin seçimi, "Optimizasyon" alanının sağındaki "Ayarlar" sekmesinde gerçekleştirilir.
Optimizasyon kriteri sadece genetik algoritma için gereklidir.
Aşağıdaki optimizasyon kriterleri mevcuttur:
Teşekkür ederim. )) Nedense, Bakiye + minimum düşüş değil, Minimum düşüş kriterini düşünüyordum. ))
İşin gerçeği şu ki, bir test cihazı diğer enstrümanlar için keneleri simüle etmeye çalıştığında, günlük basitçe 0 M1 kayıtları içerir gibi mesajlarla dolmaya başlar, çünkü bu tarih için bir geçmiş yoktur ve günlüğün hacmi inanılmaz bir şekilde büyür. hacimler ve bu hataları önlemek için, geçmişin başlangıç tarihini bilmem gerekiyor ve istendiğinde, SeriesInfoInteger (symbol,0, SERIES_SERVER_FIRSTDATE ) işlevi 0 döndürür
Anladığım kadarıyla test eden kişi teste başlamadan önce bağlı olduğu hesap (sunucuya bağlantı yoksa son bağlanan) için bir pazar ortamı oluşturur, sunucu ile verilerin senkronizasyonunu kontrol eder (tekrar varsa eğer bağlantı), eksik alıntıları testin başlangıç tarihinden (bağlıysa) indirir, gerekli tüm semboller için bir test dizisi oluşturur ve ancak bundan sonra teste başlar. Ya gerekli geçmişi indiremezse (örneğin, sunucuda geçmiş olmaması veya sunucuyla iletişim eksikliği nedeniyle) ? Size dürüstçe anlatıyor. 'Hayır'da ve deneme yok.
Ardından, sunucudaki (test cihazında) geçmişin başlangıç tarihini almak istiyorsunuz. Bu özellik, sunucudan kaydedilebilmesine rağmen, test cihazının pazar ortamında yer almıyor gibi görünüyor. Bu bir hata mı? bence hayır. Gerçekten de, test başladıktan sonra, test cihazı artık ihtiyacınız olan teklifleri indirmek için sunucuya (terminal aracılığıyla) erişemez. Mevcut olan her şey, test sürecinin başlatma aşamasında test cihazı tarafından zaten yüklenmiştir ve test dizisi zaten oluşturulmuştur ve değiştirilemez. SeriesInfoInteger ( symbo l ,0 , SERIES_SERVER_FIRSTDATE) yerine, sizin durumunuzda SeriesInfoInteger ( symbol , 0 , SERIES_FIRSTDATE) kullanabileceğinizi düşünüyorum. test cihazında çalışması gerekir.
Hizmet masası biletine örnek bir kaynak kodu ekleyebilir misiniz? Doğrulamadan sonra kod silinecektir.
Büyük olasılıkla uzun işlevlerle ilgilidir, ancak kodu bize göndermeniz, sorunu çözebilmemiz ve hatayı düzeltebilmemiz için daha iyidir. Bu, birçok tüccara yardımcı olacaktır.
Tamam, "kod oluşturma hatası" ve "ağaç optimizasyon hatası" ile 2 seçenek ekledim. onInit işlevi gerçekten uzundur (~1000 satırlık oluşturulmuş kod).
Bilet #217917
Tamam, "kod oluşturma hatası" ve "ağaç optimizasyon hatası" ile 2 seçenek ekledim. onInit işlevi gerçekten uzundur (~1000 satırlık oluşturulmuş kod).
Bilet #217917
Anladığım kadarıyla test eden kişi teste başlamadan önce bağlı olduğu hesap (sunucuya bağlantı yoksa son bağlanan) için bir pazar ortamı oluşturur, sunucu ile verilerin senkronizasyonunu kontrol eder (tekrar varsa eğer bağlantı), eksik alıntıları testin başlangıç tarihinden (bağlıysa) indirir, gerekli tüm semboller için bir test dizisi oluşturur ve ancak bundan sonra teste başlar. Ya gerekli geçmişi indiremezse (örneğin, sunucuda geçmiş olmaması veya sunucuyla iletişim eksikliği nedeniyle) ? Size dürüstçe anlatıyor. 'Hayır'da ve deneme yok.
Ardından, sunucudaki (test cihazında) geçmişin başlangıç tarihini almak istiyorsunuz. Bu özellik, sunucudan kaydedilebilmesine rağmen, test cihazının pazar ortamında yer almıyor gibi görünüyor. Bu bir hata mı? bence hayır. Gerçekten de, test başladıktan sonra, test cihazı artık ihtiyacınız olan teklifleri indirmek için sunucuya (terminal aracılığıyla) erişemez. Mevcut olan her şey, test sürecinin başlatma aşamasında test cihazı tarafından zaten yüklenmiştir ve test dizisi zaten oluşturulmuştur ve değiştirilemez. SeriesInfoInteger ( symbo l ,0 , SERIES_SERVER_FIRSTDATE) yerine, sizin durumunuzda SeriesInfoInteger ( symbol , 0 , SERIES_FIRSTDATE) kullanabileceğinizi düşünüyorum. test cihazında çalışması gerekir.