MT geliştiricileri için değil! INIT_PARAMETERS_INCORRECT nasıl değiştirilir? - sayfa 4

 
fxsaber :

Paspas için bir doğrulama danışmanı fırlattım. optimize edici modu

Geçişleri karıştırmadan tam numaralandırma modunda paralel olarak 8 Aracıda Optimizasyon grafiği böyle görünür (Rand = false)

Burada, Aracıların toplu görevler gerçekleştirdiğini açıkça görebilirsiniz.


Parametreye bağımlılığı görmek için görüntüleme modunu değiştirin

Burada tepesi (biri) GA aracılığıyla aranacak olan sevgili bir parabol.


Karıştırma modunda (Rand = true), elbette kaba kuvvet tepe noktamızı bulur.


 
fxsaber :

Burada, tepesi (biri) olan ve GA aracılığıyla arayacağımız sevgili bir parabol var.

Karıştırmadan, GA ekstremumu bulamadı, ancak ona yaklaştı

Tester  Best result 0.9992924399999999 produced at generation 0 . Next generation 1
Tester  Best result 0.9992924399999999 produced at generation 0 . Next generation 2
Tester  Best result 0.9992924399999999 produced at generation 0 . Next generation 3
Tester  Best result 0.9992924399999999 produced at generation 0 . Next generation 4
Tester  Best result 0.9992924399999999 produced at generation 0 . Next generation 5
Tester  Best result 0.999424 produced at generation 5 . Next generation 6
Tester  Best result 0.99987456 produced at generation 6 . Next generation 7
Tester  Best result 0.99987456 produced at generation 6 . Next generation 8
Tester  Best result 0.99987456 produced at generation 6 . Next generation 9
Tester  Best result 0.99987456 produced at generation 6 . Next generation 10
Tester  Best result 0.99987456 produced at generation 6 . Next generation 11
Tester  Best result 0.99987456 produced at generation 6 . Next generation 12
Tester  Best result 0.99987456 produced at generation 6 . Next generation 13
Tester  Best result 0.99987456 produced at generation 6 . Next generation 14
Tester  Best result 0.99987456 produced at generation 6 . Next generation 15
Tester  Best result 0.99987456 produced at generation 6 . Next generation 16
Tester  genetic calculation is over
Tester  result cache used 973 times
Tester  genetic optimization finished on pass 1152 (of 10001 )
Statistics      optimization done in 0 minutes 00 seconds
Statistics      local 179 tasks ( 100 %), remote 0 tasks ( 0 %), cloud 0 tasks ( 0 %)

179 pas geçti. Tam görev setinin 10001 geçiş olduğunu hatırlatalım. Evet, görev çok basit, ama yine de.


Şimdi karıştırma seçeneğini deneyelim (Rand = true)

Tester  Best result 0.99949824 produced at generation 0 . Next generation 1
Tester  Best result 0.99949824 produced at generation 0 . Next generation 2
Tester  Best result 0.99949824 produced at generation 0 . Next generation 3
Tester  Best result 0.99949824 produced at generation 0 . Next generation 4
Tester  Best result 0.99992256 produced at generation 4 . Next generation 5
Tester  Best result 0.99992256 produced at generation 4 . Next generation 6
Tester  Best result 0.99992256 produced at generation 4 . Next generation 7
Tester  Best result 0.99992256 produced at generation 4 . Next generation 8
Tester  Best result 0.99992256 produced at generation 4 . Next generation 9
Tester  Best result 0.99992256 produced at generation 4 . Next generation 10
Tester  Best result 0.99992256 produced at generation 4 . Next generation 11
Tester  Best result 0.99992256 produced at generation 4 . Next generation 12
Tester  Best result 0.99992256 produced at generation 4 . Next generation 13
Tester  Best result 0.99992256 produced at generation 4 . Next generation 14
Tester  Best result 0.99992256 produced at generation 4 . Next generation 15
Tester  Best result 0.99992256 produced at generation 4 . Next generation 16
Tester  genetic calculation is over
Tester  result cache used 970 times
Tester  genetic optimization finished on pass 1152 (of 10001 )
Statistics      optimization done in 0 minutes 01 seconds
Statistics      local 182 tasks ( 100 %), remote 0 tasks ( 0 %), cloud 0 tasks ( 0 %)

Tekrar kapat. Günlük, 182 geçişin tam olarak hesaplandığını ve önbellekten 970'in alındığını açıkça gösteriyor.


İyi sonuç, o halde aralıktaki puan sayısını artırmaya çalışalım.

 
fxsaber :

İyi sonuç, o halde aralıktaki puan sayısını artırmaya çalışalım.

Aralıktaki nokta sayısı bir milyondur.


Rand=yanlış

Tester  Best result 0.9999999424 produced at generation 3 . Next generation 32
Tester  genetic calculation is over
Tester  result cache used 7533 times
Tester  genetic optimization finished on pass 8704 (of 1000001 )
Statistics      optimization done in 0 minutes 04 seconds
Statistics      local 1171 tasks ( 100 %), remote 0 tasks ( 0 %), cloud 0 tasks ( 0 %)


Rand = doğru (bir milyon noktadan rastgele seçilen çiftler 100 milyon kez değiştirildi)

Tester  Best result 0.999998294364 produced at generation 10 . Next generation 32
Tester  genetic calculation is over
Tester  result cache used 7452 times
Tester  genetic optimization finished on pass 8704 (of 1000001 )
Statistics      optimization done in 0 minutes 04 seconds
Statistics      local 1252 tasks ( 100 %), remote 0 tasks ( 0 %), cloud 0 tasks ( 0 %)


Sonuç, kendime güvenen ifademin

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

MT geliştiricileri için değil! INIT_PARAMETERS_INCORRECT nasıl değiştirilir?

fxsaber , 2018.07.10 16:27

Açıkça, ayrıntılı aramayı izlerseniz y = x^2. Ardından optimizasyon dizelerini rastgele karıştırın ve karıştırmaya dayalı olarak yeni bir küme oluşturun. O zaman GA parabolün tepe noktasını bulamayacak.

doğrudan çok yanlış.


Öte yandan, uygunluk fonksiyonunun bir parabol olarak seçimi en başından beri son derece dar görüşlüydü, çünkü birliğe yakın noktaların sayısı yuvarlanır.


GA için sadece bir soru vardı, seçilen fonksiyon bunun için ideal olduğu için neden tam ekstremum karıştırılmadan bulunamadı?

 
fxsaber :

Öte yandan, uygunluk fonksiyonunun bir parabol olarak seçimi, en başından beri son derece dar görüşlüydü. birliğe yakın noktaların sayısı yuvarlanır.

Keskin bir tepe noktası olan bir fonksiyon seçerseniz, karıştırdıktan sonra HA'nın hala kopacağını varsayıyorum. Ve böyle bir işlev araca çok daha yakın.

 
fxsaber :

Paspas için bir doğrulama danışmanı fırlattım. optimize edici modu

Maalesef benim bilgim tüm bunları anlamaya yetmiyor)))

daha erken karar verdim Genel olarak, EA'ya meşru zincirler dosyasına bir giriş ekledim. 117649 seçenekten 1953'ün kabul edilebilir olduğu ortaya çıktı.Bu arada, 3 gün arayla tam bir arama, Sadece açılış fiyatları ve 0 anlaşma aldı.

Tester	optimization finished, total passes 117649 ( successful 114123 passes )
Statistics      optimization done in 2 hours 36 minutes 36 seconds

Şimdi bir dosyam var. Optimizasyon için nasıl transfer edeceğimi henüz bilmiyorum. yarın düşüneceğim...

Ve neden daha az başarı var? Tekrar etmek zorunda kalacak mısın?
 
fxsaber :

Keskin bir tepe noktası olan bir fonksiyon seçerseniz, karıştırmadan sonra GA'nın hala kopacağını varsayıyorum. Ve böyle bir işlev araca çok daha yakın.

Yani genetik, zirveleri yakalamak için keskinleştirilmemiştir. Amacı, TS için tam olarak gerekli olan istikrarlı alanlar bulmaktır. Ve tepeler bir kural olarak gürültüdür.

Yanlış parametre kombinasyonlarına gelince, popülasyon oluşumu aşamasında ortadan kaldırılmalıdır. Onlar. gen değişimi veya mutasyon sonucu yanlış bir birey elde edilirse, doğru olanı elde edene kadar neslini tekrarlamak gerekir. O zaman her şey yoluna girecek.

Öte yandan, INIT_PARAMETERS_INCORRECT eleme , popülasyon oluşturulduktan sonra gerçekleşir ve böylece bu popülasyonun boyutu küçülürse, bu, doğal olarak genetik seçilimin normal mekanizmasını ihlal eder. Görünüşe göre, MQ bu seçeneğe göre uygulanmaktadır. Ve bu durumda, konu başlatıcının görevi pek çözülemez (genel durumda), teflerle dans etmek yardımcı olmaz.

 
Сергей Таболин :

Görüş için teşekkürler, burada sadece programın mimarisi tartışılmıyor. Eğer fark etmediyseniz...

Doğru yanlış.

Şimdi, probleminizin programın yanlış mimarisinde olduğunu kabul ediyorum. Maksimumu yalnızca kapsamlı arama ile elde edebileceğinizi ve son derece kararsız olacağını düşünüyorum.

 
Pekala, 5 sent daha koyacağım.
Büyük olasılıkla, her onay için kapsamlı aramalar kullanılır. Ve işte kendi kendine fren yapıyor. Eğer öyleyse, o zaman sadece uzman/bar açılışının başlangıcında tam bir numaralandırma yönünde bakmaya ve ardından tamamen en son verileri kontrol etmeye değer. Bu tür bir optimizasyon, kaynak tüketimini her zaman bir büyüklük sırasına göre azaltır.
 
Alexey Navoykov :

Yani genetik, zirveleri yakalamak için keskinleştirilmemiştir. Amacı, TS için tam olarak gerekli olan istikrarlı alanlar bulmaktır. Ve tepeler bir kural olarak gürültüdür.

Kesinlikle bu şekilde değil. dahası, optimizasyon uzayının kararlı alanları bile hala düşüş ve tepe noktaları olan alanlardır, FF düzgün olmaktan çok uzaktır.

genetik evrensel bir araçtır, yırtık bir FF'yi optimize etmek için keskinleştirilebilir, ancak daha sonra düzgün bir FF'yi optimize etmek daha uzun sürer. sonunda genetik adaptif hale getirilebilir.

IMHO, normal genetik, INIT_PARAMETERS_INCORRECT setlerinin yarısını bile düşünmeden sindirmelidir. Ayrıca, bu alanlar genellikle iyi bir şekilde kümelenmiştir.

ancak genel olarak en doğru çözüm, girdi parametrelerinin uzayını dönüştürmektir.

 
Georgiy Merts :

Doğru yanlış.

Şimdi, probleminizin programın yanlış mimarisinde olduğunu kabul ediyorum. Maksimumu yalnızca kapsamlı arama ile elde edebileceğinizi ve son derece kararsız olacağını düşünüyorum.

Bu mimarlıkla ilgili değil. Önemli olan, işlevler kümesi ve bunların uygulanma sırasıdır. Aslında, başlangıçta, bu işlevlerin tek bir sabit dizisi vardı. Sonra onları arama ve bazılarını aramama sırasını denemeye değer olabileceğine karar verdim. Bunu INIT_PARAMETERS_INCORRECT aracılığıyla uyguladı. İlerleme somut. Ama işte genetik optimizasyonla ilgili sorun...

Şimdi konuya. Yasal zincirlere sahip bir dosya oluşturuldu. Şimdi nasıl kullanılır? OnTester, çerçeveler aracılığıyla gerekli olduğundan şüpheleniyorum ... Belgelere baktım, ancak bir şey eklemiyor. Bununla nasıl başa çıkacağımı anlayamıyorum.

Bir diziye okumak ve ondan veri almak için bir fikir var ...