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
Beyler! Eğer çok zor değilse, lütfen bana UGA kütüphanesinin kullanımıyla ilgili bazı örnekler verin.
Ne tür örneklerle (hangi konuda) ilgileniyorsunuz?
UGA kullanan herhangi biri, çünkü makaledeki örneklerden nasıl çalıştığı tam olarak belli değil. makalede zig-zag ile bir örnek var, diğer göstergelerle (RSI, CCI....) örneklerimiz olabilir mi?
İçinde bir komut dosyası yazın:
1) göstergeyi hesaplamak için gerekli enstrümanın veri dizisine yükleme
2) bazı parametrelerle gösterge/lerin hesaplanması (bu gösterge parametreleri optimize edilmelidir).
3) gösterge sinyallerine dayalı olarak giriş/çıkış noktalarının belirlenmesi
4) ilgilenilen istatistiksel bir göstergenin hesaplanması (spread, düşüş vb. dikkate alınarak kazanılan pip sayısı).
Madde 2), 3), 4) GA'nın bir yinelemesindeki adımlardır - bir birey için FF'nin hesaplanması. Böyle bir senaryo yazın ve ben de UGA'yı ona "vidalamanıza" yardımcı olmaya çalışacağım.
NOT. Birisinin UGA kullanarak hazır bir ticaret örneği yayınlayacağından şüpheliyim - eğer birisi bu kütüphaneyi (veya benzer başka bir kütüphaneyi) kullanarak ciddi bir şekilde araştırma yapıyorsa, o zaman büyük olasılıkla bu gelişmeler özeldir (zaman, ticaretle doğrudan ilgili olmayan bir şeyi incelemek için harcanır).
Harika bir makale! Teşekkür ederim.
1) Gördüğüm kadarıyla UGA'yı NN'lerin eğitimini optimize etmek için kullanmak istemişsiniz. Başarılı oldu mu?
2) Bu durumda kromozomun genleri nelerdi?
3) Kendi NN kütüphanenizi de geliştirdiniz mi veya MT5 ve GA ile entegrasyonu destekleyen mevcut herhangi bir NN uygulaması buldunuz mu?
2) Kromozom genleri olarak temsil ettiğim bir ağın nöronlarının ağırlıkları ve önyargıları.
3) Bir sinir ağının kendi gerçekleştirimini yazdım.
Andrey, sana iyi günler. Kütüphanenizi "bilimsel yöntem" ile nasıl kullanacağımı öğrenmeye çalışıyorum (sizin tarafınızdan önerilen UGA_script.mq5 ve skin.mqh örneğinde). Sakıncası yoksa, düzlemde belirli çekirdeklere atamamız (sınıflandırmamız) gereken bir dizi noktamız olduğunda, Kohonen ağ eğitimi problemini çözmek için giriş parametrelerini nasıl doğru bir şekilde ayarlayacağıma dair ek bir giriş yapın. Yani, koordinatları (x,y) olan N noktamız, M çekirdeğimiz (eğitimden sonra "kaydırılacak"), FF fonksiyonumuz - "yakınlık ölçüsü" var. Anladığım kadarıyla UGA_script.mq5 parametreleri aşağıdaki gibi ayarlanmalıdır: ChromosomeCount_P= ???? (nasıl ayarlanacağını anlamıyorum), GeneCount_P=2*M (her çekirdek için 2 koordinat), Epoch_P= ???? (Nasıl ayarlanacağını anlamıyorum). Şimdiden teşekkürler.
Andrey, sana iyi günler. Kütüphanenizi "bilimsel yöntem" ile nasıl kullanacağımı öğrenmeye çalışıyorum (sizin tarafınızdan önerilen UGA_script.mq5 ve skin.mqh örneğinde). Sakıncası yoksa, düzlemde belirli çekirdeklere atamamız (sınıflandırmamız) gereken bir dizi noktaya sahip olduğumuzda, Kohonen ağ eğitimi problemini çözmek için giriş parametrelerini nasıl doğru bir şekilde ayarlayacağıma dair ek bir giriş yapın. Yani, koordinatları (x,y) olan N noktamız, M çekirdeğimiz (eğitimden sonra "kaydırılacak"), FF fonksiyonumuz - "yakınlık ölçüsü" var. Anladığım kadarıyla UGA_script.mq5 parametreleri aşağıdaki gibi ayarlanmalıdır:
1) ChromosomeCount_P= ???? (Nasıl ayarlanacağını anlamıyorum),
2) GeneCount_P=2*M (her çekirdek için 2 koordinat),
3) Epoch_P= ???? (nasıl ayarlanacağını anlamıyorum).
Şimdiden teşekkürler.
1) Başlangıç için 50 olarak ayarlayın, yeterli değilse değeri artırın (aşırıya kaçmayın, 200-300'e kadar, aksi takdirde sonucu beklememe riskiniz vardır).
2) Evet.
3) 50-100 ile başlayın, yeterli değilse değeri artırın (çok fazla değil, 200-1000'e kadar, aksi takdirde sonuç alamama riskiyle karşı karşıya kalırsınız).
Sayılar ampiriktir, yakınsama hızına veya sonucun doğruluğuna odaklanarak bunları istediğiniz gibi değiştirebilirsiniz (bunlar genel olarak birbirini dışlayan gereksinimlerdir, ortası ortada bir yerdir - kelime oyununu bağışlayın).
Kütüphaneyi kurcalıyorum.
Andrew, popülasyondan kopyaları çıkarmadan ÖNCE neden uygunluk fonksiyonunu hesaplaman gerektiğini anlayamıyorum. Bu pahalı bir işlem.
Klonların varlığını torun üretimi aşamasında kontrol ederdim. (Aslında bunu yapacağım.)
1) Andrew, popülasyondan kopyaları çıkarmadan ÖNCE neden uygunluk fonksiyonunu hesaplamanız gerektiğini anlayamıyorum. Bu pahalı bir işlem.
2) Klonların varlığını torun üretimi aşamasında kontrol ederdim. (Aslında bunu yapacağım.)
1) Tekrarlanan FF hesaplamaları yapılmaz, çünkü kontrol tarihsel kromozom veritabanında yapılır - böyle bir birey için daha önce en az bir kez FF yapılmışsa, değer veritabanından alınır.
2) Popülasyona yeni bir koloninin yerleşmesiyle ilgili bir nüans vardır. Ancak bu konuda sessiz kalacağım. :) Bunu daha doğru olduğunu düşündüğünüz şekilde yapın ve sonuçları bana bildirin - ondan sonra size nüansı anlatacağım.
Not: Genel olarak, bu yorumla ilgili olmamakla birlikte, rastgele GA araması için birçok farklı strateji izleyebilirsiniz, her varyant bir dereceye kadar dikkate değerdir. Sonuçlar (yakınsama oranı, arama doğruluğu, yerel ekstremalara takılma) neredeyse doğrudan kullanılan arama stratejilerine bağlı olacaktır.
1) FF'lerin tekrarlanan hesaplamaları yoktur, çünkü tarihsel kromozom veritabanı kontrol edilir - eğer böyle bir birey için daha önce en az bir kez FF yapılmışsa, değer veritabanından alınır.
2) Popülasyona yeni bir koloninin yerleşmesiyle ilgili bir nüans var. Ancak bu konuda sessiz kalacağım. :) Daha doğru olduğunu düşündüğünüz şeyi yapın ve bana sonuçları söyleyin - ondan sonra size nüansı anlatacağım.
1) Vay, vay, vay. Hikaye anlatıcısı. :) Burada en az bir hatanız var.
Gerçek sayılar sadece... mmmm... matematikçiler tarafından bu şekilde karşılaştırılır, evet.
Böyle bir karşılaştırmada, kayan noktadan sonra on beş basamaklık bir fark genlerin farklı olduğunu kabul eder. Ve her zaman bir fark olacaktır, çünkü bu kaderdir. ;)
En azından böyle olmak zorunda:
Kopyaların çıkarılmasını gen algoritmasından ayrı olarak test ettiğinizden şüphem yok, bu yüzden bu parçanın işe yaradığına dair bir yanılsamaya sahip olmalısınız.
2) Her şey ne kadar gizemli... İncenin ince, yırtığın yırtık olduğu yerde :)
Orada her şey çözülebilir, nüanslı veya nüanssız. Tamam, size nasıl yaptığımı göstereceğim.
1) Vay, vay, vay. Hikaye anlatıcısı. :)
2) Burada en az bir hatanız var. Gerçek sayılar sadece... mmmm... matematikçiler tarafından bu şekilde karşılaştırılır, evet. Böyle bir karşılaştırmada, kayan noktadan sonra on beş basamaklık bir fark genlerin farklı olduğunu kabul eder. Ve her zaman bir fark olacaktır, çünkü bu kaderdir. ;)
En azından böyle olmak zorunda:
3) Ve kopyaları kaldırırken de tam olarak aynı şeye sahipsiniz. Kopyaların kaldırılmasını gen algoritmasından ayrı olarak test ettiğinizden şüphem yok, bu yüzden bu parçanın işe yaradığına dair bir yanılsamaya sahip olmalısınız.
4) Her şey ne kadar gizemli... İnce olan yerde ince, yırtık olan yerde yırtık :) Orada her şey çözülebilir, nüanslı ya da nüanssız. Tamam, size nasıl yaptığımı göstereceğim.
1) Hikaye anlatıcısı mı? Hmm, ne yazık ki mizahı anlamadım. Veritabanı kontrolü, GetFitness(historyHromosomes)'dan çağrılan CheckHistoryChromosomes(chromos,historyHromosomes ) fonksiyonunda gerçekleşir. Bu yüzden doğru söyledim - FF'nin tekrarlanan çalıştırmaları yok.
2) Veritabanı ile mutabakat genlere göre kontrol ile gerçekleşir. Ve her gen, yeni bir kromozom ortaya çıktığında SelectInDiscreteSpace(temp,RangeMinimum,RangeMaximum,Precision,3) ile normalize edilir. Dolayısıyla burada da "peri masalları" yoktur.
3) Bkz. 2)
4) Gizem yok. Kod açık ve şeffaftır. Gerçekten de bir nüans vardır (uygulama sorunlarıyla değil, yakınsama kalitesiyle ilgilidir).