Herkese selamlar!
Umarım makaleyi beğenmişsinizdir.
UGA'nın OOP'ye nasıl dönüştürüleceğine dair ipuçlarınızı duymaktan memnuniyet duyacağım.
Bunu görmek istiyorum
MathSrand((int)TimeLocal());
optimize edildiğinde çalışacak mı?
Kütüphanenizi test cihazında çalıştırdınız mı?
1) Bunun olup olmayacağını görmek istiyorum
MathSrand((int)TimeLocal());
optimize edildiğinde çalışacak mı?
2) Kütüphanenizi test cihazında çalıştırdınız mı?
1) Çalışmaması için herhangi bir neden göremiyorum.
2) Bu basit soruya iki kelimeyle kapsamlı bir cevap veremezsiniz.
Tüccarın optimizasyon problemleri şartlı olarak 2 türe ayrılabilir: a) "Yerel problemler" ve b) "Küresel problemler".
a) Yerel - bir tüccarın/TS'nin (sırayla yerel görevlere de bölünebilir) her bir kene üzerinde gerçekleştirdiği tüm eylemlerin bir kümesi. Bu türün bir örneği, makaledeki ilk görevdir (denklemleri çözmek, en uygun opsiyon fiyatını seçmek ve diğer benzer görevler). "Gelecekteki" fiyat geçmişini gerektirmezler.
b) Global görevler - tüm yerel görevlerin bazı fonksiyonlarının optimizasyonu (raporlama dönemi için toplam kar, düşüş, MO, vb. olabilir). Optimize edilen zaman dilimi için tüm fiyat geçmişi gereklidir. Kurum içi test uzmanı tam olarak bu tür görevleri yerine getirir.
UGA, standart test cihazına bağımlı olmayacak şekilde tasarlanmıştır ve "ev yapımı" test cihazları da dahil olmak üzere algoritma kodunu değiştirmeden hem global hem de yerel görevler için kullanılabilir. Standart test cihazı çerçevesinde UGA sadece yerel görevlerde değişiklik yapılmadan kullanılabilir. Küresel görevler için test cihazında değiştirilmesi gerekir.
Henüz kendi optimizasyon algoritmasına sahip bir test cihazında optimizasyon algoritmasını kullanmaya ihtiyaç duymadım.
Görevinizi genel terimlerle tanımlayın ve burada onu çözmenin yollarını ele alacağız.
Teşekkürler, joo- ilginç bir çalışma!
Genetik algoritmanın pratik uygulaması hakkında sorular ortaya çıktı
Bu makale şunları açıklamaktadır:
- Verilen bir aralıkta iki değişkenli bir fonksiyonun maksimum/minimum değerinin bulunması
- Kar fonksiyonunun maksimumunu bulma (ZigZag ile örnek).
Lütfen algoritmanın faydalı olabileceğini düşündüğünüz pratik ticaret görevlerine örnekler verin.

- 2010.05.25
- Andrey Dik
- www.mql5.com
Sorununuzu genel hatlarıyla tanımlayın, biz de burada çözüm yollarına bakalım.
Sorun basit: srand() fonksiyonunun test cihazını her çalıştırdığımda üreteci rastgele bir başlangıç noktasına ayarlamasını istiyorum.
MathSrand((int)TimeLocal()) fonksiyonunun test cihazının farklı çoklu çalıştırmalarında üreteci önceki (aynı) başlangıç durumuna ayarladığı ortaya çıktı.
Görev basit: srand() fonksiyonunun test cihazını her çalıştırdığımda üreteci rastgele bir başlangıç noktasına ayarlamasını istiyorum.
MathSrand((int)TimeLocal())'ın test cihazının farklı çoklu çalıştırmalarında üreteci önceki (aynı) başlangıç durumuna ayarladığı ortaya çıktı.
TimeLocal saniye cinsinden zamanı verir. Test ederken, aynı oluşturulan test süresi olacaktır.
GetTickCount kullanmayı deneyin. Dürüstçe milisaniye verir ve hiçbir şeyi taklit etmez.
Test ederken, aynı üretilen test süresi olacaktır.
О! Teşekkür ederim.
Teşekkürler, joo- ilginç bir çalışma!
Genetik algoritmanın pratik uygulaması hakkında sorular ortaya çıktı
Bu makale şunları açıklamaktadır:
- Verilen bir aralıkta iki değişkenli bir fonksiyonun maksimum/minimum değerinin bulunması
- Kar fonksiyonunun maksimumunu bulma (ZigZag ile örnek).
Lütfen algoritmanın faydalı olabileceğini düşündüğünüz pratik ticaret görevlerine örnekler verin.
Genel olarak ekonomik görevler ve özel olarak tüccarların görevleri çoğunlukla optimizasyon niteliğindedir.
Yatırımcılar sürekli olarak TS'lerinin optimum parametrelerini aramaktadır. İşte UGA'nın çözülmesine yardımcı olabileceği görev türlerinin henüz tamamlanmamış bir listesi:
-En uygun gösterge parametrelerinin bulunması
-MM'nin optimal parametrelerinin bulunması
-göstergelerdeki filtrelerin (dijital filtrelerdeki katsayıların aranması da dahil olmak üzere herhangi biri) optimum ayarlarının aranması
-Herhangi bir topoloji ve keyfi boyuttaki sinir ağlarının eğitimi
-Herhangi bir topoloji ve keyfi büyüklükteki ağlardan oluşan komitelerin eğitimi. (bir komite birbirinden bağımsız bir grup ağdır).
UGA hem yukarıda belirtilen görevleri ayrı ayrı hem de hepsini bir arada çözmek için kullanılabilir. Bu nedenle, UGA'nın gücünü anlamanıza yardımcı olmak için, listedeki son görev türünü çözme olasılığının beyin modelleri oluşturmanıza izin verdiğini söyleyeceğim (bildiğiniz gibi beyin bölümlerden oluşur).
Görevlerin listesi uzun süre devam edebilir, sadece forum konularına bakın.
Güzel şeyler ve iyi yazılmış. Ben de genetik optimizasyon ile oynadım, ancak ne yazık ki çok az fayda buldum. GA genellikle bir küresel optimizasyon yöntemi olarak kabul edilir. Çok büyük kolonilerle uğraşmak için bolca zamanınız varsa bu doğrudur, ancak zaman (koloni boyutu) sınırlı olduğunda, GA, gradyan iniş yöntemleri gibi, yerel bir minimuma yakınsar ve oldukça yavaştır. Elbette, girdi parametrelerinin tüm olası kombinasyonlarının körlemesine aranması yöntemleriyle karşılaştırıldığında GA, hız konusunda yadsınamaz bir avantaj sağlar. GA'nın geniş uygulamalarından biri, çok sayıda katsayısı olan çok katmanlı sinir ağlarının eğitimidir. Bu tür ağlar çok sayıda yerel minimuma sahiptir. Bazı nedenlerden dolayı GA'ların bu kötülüğün çaresi olduğu düşünülmektedir. Ancak aslında tedavi uygulanan araçtır, yani bu durumda çok katmanlı ağdır. Yüksek sınıflandırma doğruluğu (al/sat/tut gibi) veya basit ve kesin optimizasyonlu regresyon ekstrapolasyonu yapabilen başka bir araç seçmek çok daha kolaydır ;-).
1) Güzel şeyler ve iyi yazılmış.
2) Ben de genetik optimizasyonla uğraşıyorum, ancak ne yazık ki çok fazla fayda bulamadım. GA genellikle bir küresel optimizasyon yöntemi olarak kabul edilir. Çok büyük kolonilerle uğraşmak için bolca zamanınız varsa bu doğrudur, ancak zaman (koloni boyutu) sınırlı olduğunda, GA, gradyan iniş yöntemleri gibi, yerel bir minimuma yakınsar ve oldukça yavaştır. Elbette, girdi parametrelerinin tüm olası kombinasyonlarının körlemesine aranması yöntemleriyle karşılaştırıldığında GA, hız konusunda yadsınamaz bir avantaj sağlar. GA'nın geniş uygulamalarından biri, çok sayıda katsayısı olan çok katmanlı sinir ağlarının eğitimidir. Bu tür ağlar çok sayıda yerel minimuma sahiptir. Bazı nedenlerden dolayı GA'ların bu kötülüğün çaresi olduğu düşünülmektedir. Ancak aslında tedavi, uygulanan araçtır, yani bu durumda çok katmanlı ağdır. Yüksek doğrulukta sınıflandırma (al/sat/tut gibi) veya basit ve kesin optimizasyonla regresyon ekstrapolasyonu yapabilen başka bir araç seçmek çok daha kolaydır ;-).
1) Nazik sözleriniz için teşekkür ederim.
2) Konu hakkındaki bilginizden şüphe duymuyorum, ancak yine de genetik algoritmalarla çalışma konusunda biraz beceriye ihtiyacınız var ("UGA ile çalışmak için öneriler" makalesinin 4. ipucu)
UGA, algoritmada herhangi bir değişiklik yapılmadan herhangi bir optimizasyon problemi için kullanılabilecek evrensel bir araç olarak geliştirilmiştir ("Biraz tarihçe" makalesinin bir bölümü). Daha fazla modifikasyon ve belirli operatörlerin eklenmesi için maksimum düzeyde kullanılabilir. Bu tür özelliklere sahip çok sayıda optimizasyon algoritması biliyor musunuz?
GA'nın neden çeşitli optimizasyon problemleri için her derde deva olarak görüldüğünü bilmiyorum, şahsen ben öyle düşünmüyorum ve bunu hiçbir yerde belirtmedim. Elbette, her bir özel görev için hem yürütme hızı hem de nihai sonuç açısından en iyi optimizasyon aracını seçebilirsiniz. UGA'nın farklı bir hedefi var - evrensel olmak.
MQL4 forumunda "Test Multivariable Multiextreme Function" başlığında bazı ilginç test fonksiyonları yayınladım, bunlardan biri makalede sunulmuştur.
İsterseniz, GA dışındaki diğer optimizasyon algoritmalarını kullanarak önerilen fonksiyonların ekstremumlarını bulmayı deneyebilir ve sonuçları burada yayınlayabilirsiniz. Bunu yapmaktan memnuniyet duyarsınız. Başta benim için olmak üzere herkes için ilginç olacaktır.
Not: Kimseyi herhangi bir şeye ikna etmek gibi bir amacım olmamasına rağmen, makalede önerilen algoritma hakkında bilgi edinmenizi ve tersine (kalın harflerle) ikna olmanızı tavsiye ederim.
Araştırmanızda iyi şanslar!
- www.mql5.com

- Ücretsiz alım-satım 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
Yeni makale Genetik Algoritmalar - Çok Kolay! yayınlandı:
Bu makalede yazar, kişisel olarak geliştirilmiş bir genetik algoritmanın kullanımıyla gelişimsel hesaplamaları ele almaktadır. Algoritmanın işleyişini örnekler kullanarak göstermekte olup kullanımı için pratik öneriler sunmaktadır.
GA, doğanın kendisinden ödünç alınan prensipleri içerir. Bunlar, kalıtım ve değişkenlik prensipleridir. Kalıtım, organizmaların özelliklerini ve evrimsel özelliklerini yavrularına aktarma yeteneğidir. Bu yetenek sayesinde tüm canlılar yavrularına kendi türlerine ilişkin özellikler bırakırlar.
Canlı organizmalardaki genlerin değişkenliği, popülasyonun genetik çeşitliliğini garanti eder ve bu, rastlantısaldır; zira doğa gelecekte hangi özelliklerin en çok tercih edileceğini önceden bilmenin bir yoluna sahip değildir (iklim değişikliği, gıda azalması / artışı, rekabet eden türlerin ortaya çıkması vb.). Bu değişkenlik, habitatın yeni, değiştirilmiş koşullarında hayatta kalabilen ve geride yavru bırakabilen yeni özelliklere sahip yaratıkların ortaya çıkmasına izin verir.
Biyolojide, mutasyonların ortaya çıkmasından kaynaklanan değişkenlik mutasyonel, genlerin çiftleşme yoluyla daha fazla çapraz kombinasyonundan kaynaklanan değişkenlik kombinasyonel olarak adlandırılır. Bu tür varyasyonların her ikisi de GA'da uygulanmaktadır. Ayrıca, mutasyonların doğal mekanizmasını (DNA'nın nükleotid dizisindeki değişiklikler) taklit eden bir mutajenez uygulaması vardır - doğal (kendiliğinden) ve yapay (uyarılmış).
Algoritmanın ölçütüne göre en basit bilgi aktarımı birimi gendir ; bu, belirli bir özelliğin gelişimini kontrol eden kalıtımın yapısal ve işlevsel birimidir. İşlevin bir değişkenini gen olarak adlandıracağız. Gen, gerçek bir sayı ile temsil edilir. İncelenen işlevin gen değişkenleri kümesi, - kromozomun karakterize edici özelliğidir.
Kromozomu bir sütun şeklinde temsil ettiğimizi düşünelim. O zaman f (x) = x ^ 2 işlevinin kromozomu şu şekilde görünecektir:
Şekil 1. F (x) = x ^ 2 işlevinin kromozomu
burada 0. indeks - bireylerin adaptasyonu olarak adlandırılan f (x) işlevinin değeri (bu işlevi uygunluk işlevi - FF ve işlevin değeri - VFF olarak adlandıracağız) ). Kromozomu tek boyutlu bir dizide saklamak uygundur. Bu, çift Kromozom [] dizisidir.
Yazar: Andrey Dik