Girdi parametrelerinin olası kümelerini, istenmeyen kümeleri ve neden çok fazla istenmeyen küme olduğunu daha belirgin bir şekilde belirtmek mümkündür?
Çok fazla istenmeyen küme olmaması gerektiği konusunda geliştiricilere tamamen katılıyorum. Optimal olarak - %10'dan fazla değil
Neye benziyor? Küçük bir örnek alabilir miyim?
fxsaber haklı.
Girdi olarak yanlış bir parametre seti verilirse, hemen tüm OnTick() işlevlerini döndürürsünüz. Ve OnTester'da - en az sonucu verirsiniz.
Neye benziyor? Küçük bir örnek alabilir miyim?
input int i = 0 ; bool Incorrect; int OnInit () { Incorrect = !i; // нулевое значение считается некорректным (пример) // return(Incorrect ? INIT_PARAMETERS_INCORRECT : INIT_SUCCEEDED); // Было return ( INIT_SUCCEEDED ); } void OnTick () { if (Incorrect) return ; // ... }
Bunlar giriş parametresi kümeleri değildir! Bu, tekrarlanmaması gereken bir dizi özelliktir! Yavaş optimizasyonda, INIT_PARAMETERS_INCORRECT, bu fonksiyonlar için geçerli çağrı zincirleri oluşturmaya gerçekten yardımcı olur, ancak bunlardan 6 tanesine sahibim.117649 zincir seçeneği var.Ancak bu zincirler, bazı girdi parametreleri olmadan işe yaramaz. Ve onlarla birlikte, şimdiden 38.000.000'den fazla elde edildi! Yavaş numaralandırma atlanamaz.
Genetik ölecek çünkü optimizasyon kriterinin optimizasyon yüzeyi aşağı yukarı sürekli (pürüzsüz) olmalıdır. Sizin durumunuzda, çok sayıda patlama (arıza) elde edersiniz.
Böyle bir deney kurabilirsiniz. Standart bir danışman alın ve oraya birkaç ekstra ekleyin. optimizasyon için giriş parametreleri sahte. Setlerinin %90'ını YANLIŞ yaparak. GA bükülecek. Sahte parametreler olmasa da, iyi bir iş çıkarır.
Anladım. Sadece optimize edicide uygun işlevleri ve sıralarını almak için bir soru. Ve tüm uygun olmayan zincirleri manuel olarak reçete edin .... Peki optimize edici bunları nasıl bulacak?
Genetik ölecek çünkü optimizasyon kriterinin optimizasyon yüzeyi aşağı yukarı sürekli (pürüzsüz) olmalıdır. Sizin durumunuzda, çok sayıda patlama (arıza) elde edersiniz.
Anlıyorum. Bunu nasıl aşacağımı anlamıyorum?
Anlıyorum. Bunu nasıl aşacağımı anlamıyorum?
Tariflerden biri, geliştiricilerin YANLIŞ geçişlerin sonucunu önceden hesaplanmış en yakın DOĞRU geçiş olarak düşünmesidir. Bu, optimizasyon yüzeyindeki delikleri ortadan kaldırır.
- Ücretsiz ticaret uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Böyle bir sorunla karşılaşıldığında: programın mantığına göre,işlev çağırmak için geçersiz seçeneklerin ayıklanması gerekir. Bunun için INIT_PARAMETERS_INCORRECT kullanıyorum. Ancak genetik optimizasyon neredeyse anında durur. Geliştiriciler, bu durumla ilgili sorularla şimdiden çileden çıkmış durumda. Genetik analiz vb. öğrenmeniz önerilir. vb..
Ve neden buna ihtiyacım var? Bir kullanıcı olarak sonucu almak istiyorum, ancak orada nasıl çalıştığı benim için derinden mor.
Ve böylece, 1, 2 ve 3 numaralı üç fonksiyona bir örnek, kullanmamaktır.
Fonksiyonlar bir zincirde tekrarlanmamalı ve fonksiyonlar arasında 0 olmamalıdır (aksi takdirde tekrarlar mümkündür).
Geçerli zincirlere örnek:
Geçersiz zincirlere örnek: