"Genetik Algoritmalar - Çok Kolay!" makalesi için tartışma - sayfa 19

 
Andrey Dik:
Bir şeyi optimize etmeyi planlıyorsunuz, değil mi? Dolayısıyla, bu "bir şeyi" FF biçiminde sunmanız gerekir, örneğin gösterge sinyallerindeki kar noktalarının sayısı olabilir. Bu FF.
FF hakkında sormak istediğim bir şey var, örneğin, verilen tavsiye gibi ise, optimizasyon nerede önemlidir, bu UGA'nın söylenen kar olasılığını veya başka bir şeyi kurtarıp kurtaramayacağı ve optimal gösterge parametresini ayarlarken olup olmayacağı Gördüğüm EA örneği gibi sanal test yapıyorum ve bu rahatsız ederse özür dilerim, Genetik Algoritmalar rastgele, optimal olduğundan nasıl emin olabiliriz ve mümkünse genetik algoritmaların parametre göstergelerini optimize etmesini sağlamak için iyi bir duruma giriyoruz, mesela geçmiş alış ve kar durumlarından kaç puanla alıp genetik algoritmalar ileride benzer verileri kullanıp optimizasyonu çalıştırabiliriz, bu iyi bir kullanım şekli mi, aklıma başka bir şey gelmiyor, yanlışsa lütfen bana iyi bir kullanım örneği söyleyin, çünkü olmadan ve çalıştırıldığında optimal sonuçlar çıkıyorsa, rastgele sayı girmek gibi, u Neyse ki şimdi, rastgele sayıyı tekrar girin ve sonra kaybedin, vb. daha çok bir tahmin değil mi?
 
SALEH:
Sormak istediğim bir şey var, FF hakkında, örneğin, verilen tavsiye gibi ise, optimizasyon nerede önemlidir, bu UGA söylenen kar olasılığını veya başka bir şeyi kurtarabilir mi ve optimal gösterge parametresini ayarlarken olup olmamalı Gördüğüm EA örneği gibi sanal test yapıyorum ve bu rahatsız ederse özür dilerim, Genetik Algoritmalar rastgele, optimal olduğundan nasıl emin olabiliriz ve mümkünse genetik algoritmaları parametre göstergelerini optimize etmek için iyi bir duruma giriyoruz, mesela geçmiş alış ve kar durumlarından kaç puanla alıp genetik algoritmalar ileride benzer verileri kullanıp optimizasyonu çalıştırabiliriz, bu iyi bir kullanım şekli mi, aklıma başka bir şey gelmiyor, yanlışsa lütfen bana iyi bir kullanım örneği söyleyin, çünkü olmadan ve çalıştırıldığında optimal sonuçlar çıkıyorsa, rastgele sayı girmek gibi, u Neyse ki şimdi, rastgele sayıyı tekrar girin ve sonra kaybedin, vb. daha çok bir tahmin değil mi?

Genetik algoritmalar rastgele sayıları kendi başlarına değil, bir olasılık dağılımı kullanarak kullanır. Kimse geleceği bilmediğinden, insanlar HERHANGİ bir karar vermek için her zaman olasılık dağılımını kullanır. Parametrelerin tam iterasyonunu kullanabilirsiniz, ancak hepsini kullanmayacaksınız. Hangi seçeneği kullanacağınıza karar vermeniz gerekecek, değil mi? - Gelecekte böyle bir manuel seçimin uygulanmasının sonucu önceden belirsizdir, yani deterministik değildir.

 
Andrey Dik:

Genetik algoritmalar rastgele sayıları kendi başlarına değil, bir olasılık dağılımı kullanarak kullanır. Kimse geleceği bilmediğinden, insanlar HERHANGİ bir karar vermek için her zaman olasılık dağılımını kullanır. Parametrelerin tam iterasyonunu kullanabilirsiniz, ancak hepsini kullanmayacaksınız. Hangi seçeneği kullanacağınıza karar vermeniz gerekecek, değil mi? - Gelecekte bu tür bir manuel seçimin uygulanmasının sonucu önceden belirsizdir, yani deterministik değildir.

Eğer öyleyse, hangisinin optimize edilmesinin iyi olduğu konusunda bana tavsiyede bulunun, eğer parametre göstergeleri meselesiyse, parametreler sık sık değiştiği için biraz katılmıyorum. kar alma ve zararı durdurmada uygulamak daha mı iyi yoksa daha iyi bir yol var mı? Cevabınız için teşekkür ederim ve herhangi bir öneriniz varsa, teşekkür ederim. Deneyin sonuçlarını paylaşmak ve belki de bu UGA'yı daha fazla denemek için biraz yardım etmek istiyorum.
 
SALEH:
Eğer öyleyse, hangisinin optimize edilmesinin iyi olduğu konusunda bana tavsiyede bulunun, eğer parametre göstergeleri meselesiyse, parametreler sık sık değiştiği için biraz katılmıyorum. kar alma ve zararı durdurmada uygulamak daha mı iyi yoksa daha iyi bir yol var mı? Cevabınız için teşekkür ederim ve herhangi bir öneriniz varsa, teşekkür ederim. Denemenin sonuçlarını paylaşmak ve belki de bu UGA'yı daha fazla denemek için biraz yardım etmek istiyorum.

ticaret sistemi hakkında hiçbir şey bilmeden tavsiye vermek zordur

 
İçerik için tebrikler! Ancak bahsedilen kodları veya örneği derleyemedim. Hata "ServiceFunction ();" satırında görünüyor.
 
Rafael Ladeia:
İçerik için tebrikler! Ancak bahsedilen kodları veya örneği derleyemedim. Hata "ServiceFunction ();" satırında görünüyor.

Geri bildirimler için 11 yıldır çok teşekkürler!))) maalesef hatalar olabiliyor. Zamanım olduğunda kodları güncellemem gerekecek gibi görünüyor...

 

Şu anda bir optimizasyon problemim var ve bana yardımcı olup olamayacağını görmek için bu kütüphaneyi deniyorum. Ne yazık ki, kütüphaneyi nasıl düzgün bir şekilde kuracağım konusunda pek net değilim.

Örneğim için, kendim için en az riske sahip olacak en iyi (maksimum) lot büyüklüğü bileşimini hesaplamak istiyorum.

Bunu yapmak için, test için basitçe 6 karakter aldım ve bu karakterler için en iyi parti boyutları bulunmalıdır. Uygunluk fonksiyonunda, daha sonra bu varlıklar için beklenen yatırım getirisini ve UGA'nın önerdiği lot büyüklüklerinde beklenen riski hesaplıyorum...

Risk eşiğimden düşükse, maksimize etmek için beklenen ROI'yi Colony[0][chromos]..... adresinde saklıyorum.

İşte benim kodum:

void CPortfolioRiskMan::GetOptimalWeights()
  {

   double ReplicationPortion_P  = 100.0;
   double NMutationPortion_P    = 10.0;
   double ArtificialMutation_P  = 10.0;
   double GenoMergingPortion_P  = 20.0;
   double CrossingOverPortion_P = 20.0;
   double ReplicationOffset_P   = 0.5;
   double NMutationProbability_P= 5.0;
//-----------------------Variables-------------------------------------
//UGA için global değişkenlerin hazırlanması
   ChromosomeCount=6; //Kolonideki kromozom sayısı
   GeneCount      =6;       //Gen sayısı
   RangeMinimum   =0.01;    //Arama aralığının minimum değeri
   RangeMaximum   =1;    //Arama aralığının maksimum değeri
   Precision      =0.01;       //Arama adımı
   OptimizeMethod =2;  //1-minimum, herhangi bir diğer-maksimum

   ArrayResize(Chromosome,GeneCount+1);
   ArrayInitialize(Chromosome,0);
   Epoch=50;                     //İyileşme olmayan epok sayısı




//UGA'nın ana işlevinin başlangıcı
   UGA
   (
      ReplicationPortion_P, //Çoğaltma payı.
      NMutationPortion_P,   //Doğal mutasyon oranı.
      ArtificialMutation_P, //Yapay mutasyon oranı.
      GenoMergingPortion_P, //Genlerin benimsenme oranı.
      CrossingOverPortion_P,/ / Karşıya geçme payı.
      ReplicationOffset_P,  //Aralık sınırlarını kaydırma oranı
      NMutationProbability_P//Her bir genin mutasyon olasılığı % olarak
   );



  }



void FitnessFunction(int chromos)
  {
//-----------------------Variables-------------------------------------

   double weight=0.0;
   double ClosePrices[]= {1.21,0.98,1.31,1.22,0.99,0.86};
   string symbols[]= {"EURUSD","GBPUSD","AUDNZD","EURAUD","NZDJPY","GBPJPY"};
   double tickvalues[]= {0.94,0.78,0.56,0.76,0.45,0.94};
   double tickstep=0.00001;
   double Lotsizes[6];
   double av_return=0;

//----------------------------------------------------------------------


   for(int u=1; u<=GeneCount; u++)
     {
      Lotsizes[u-1]=Colony[u][chromos];
      av_return+=Lotsizes[u-1]*tickvalues[u-1]*tickstep*ClosePrices[u-1];
     }

   double risk=CalculateVaR(symbols, Lotsizes);

   if(risk>50)
      Colony[0][chromos]=-10000000.0;
   else
      Colony[0][chromos]=NormalizeDouble(av_return,2);


   AmountStartsFF++;
  }
 
Filip #:

Şu anda bir optimizasyon sorunum var ve bana yardımcı olup olamayacağını görmek için bu kütüphaneyi deniyorum. Ne yazık ki, kütüphaneyi nasıl düzgün bir şekilde yapılandıracağımı tam olarak bilmiyorum.

Örneğimde, kendim için en az riske sahip olacak en iyi (maksimum) lot büyüklüğü bileşimini hesaplamak istiyorum.

Bunu yapmak için, test için 6 karakter aldım ve bu karakterler için en iyi lot büyüklükleri bulunmalıdır. Uygunluk fonksiyonunda, daha sonra bu varlıklar için beklenen yatırım getirisini ve UGA'nın önerdiği lot büyüklüklerinde beklenen riski hesaplıyorum...

Risk eşiğimden düşükse, beklenen yatırım getirisini Koloni[0][kromoz].....'da maksimize etmek için tutarım

İşte benim kodum:

Sorunun amacını anlayamadım, lütfen daha fazla açıklayın.

Genel olarak, bu algoritmanın çok eski bir sürümü, (sürüm) mevcut "Popülasyon Optimizasyon Algoritmaları" makalelerindeki daha uygulama dostu algoritma şemasına uymuyor.

SDS algoritmasını veya tablodaki başka bir algoritmayı kullanmanızı önerebilirim veya UGA'nın güncellenmiş bir sürümünü bekleyebilirim (bu eski ama çok güçlü algoritma hakkındaki bir makalede yeni bir görünüm yayınlamak uygun mu bilmiyorum).

Genelde bu makaleyi UGA'nın sıralama tablosuna dahil edilmesiyle yeni bir şekilde yeniden yazardım, bilmiyorum - bunu yapmak mümkün mü ve gerekli mi?

ZY. Mevcut makaleyi yeniden yazmanın mümkün olmadığını düşünüyorum, zaten birçok dile çevrildi.

 
derlenmiyor. birçok hata var.
 
gardee005 #:
derlenmiyor. birçok hata var.
Lütfen bana hatalarınlistesinigösterin.Kodçok eski, ama kırılacak bir şey yok hatta sonra 14 yıl.