Metatrader 5'teki sembolleriniz ve veri akışlarınız - sayfa 14

 
zaskok :

Çoğu kullanıcının GA'nın ne olduğunu bile duymadığını düşünüyorum. Bu nedenle mucize algoritmalara herkesten fazla ihtiyaç yoktur.

bundan bahsediyorum

zaskok :

Forum bir deja vu hissi bırakmıyor. Bir ifadenin kanıtını istediklerinde. Ama aynı zamanda hiçbiri kabul edilmiyor çünkü. ikna etmek için neyin sağlanması gerektiği hiç açık değil.

Evet, MetaQuots'un ticari bir organizasyon olduğunu hatırlamanız yeterlidir. Ve herhangi bir gelişmeye ancak bunun kâr getireceğini düşündüğü takdirde kaynak yatıracaktır. İşte, buradan böyle olmalı.

Burada “ Renat'ın paranoyasını” aramak gerektiğini düşünmüyorum, bu daha çok “ekonomik dar görüşlülük” gibi - aslında, MetaTrader'da sorular göründüğü anda, MetaQuots'un geliri bir büyüklük sırasına göre artacaktır, ama o bunu anlamıyor... Yani, bence teklifler ekonomik olarak gerekçelendirilmeli. Peki, "MetaQuot'un mutfağını" hangi çözümlerin artırdığını, hangilerinin kârı değiştirmediğini (veya düşürmediğini) bilmiyoruz... Sadece tahmin edebiliyoruz...

 
Prival-2 :

zaskok'u destekleyeceğim

Şahsen, genetik algoritmaların en uygun araç olacağı tek bir problemle karşılaşmadım. Ayrıca genetik algoritmalarla yapılan hesaplamaların bende olumlu etki yapacak bir sonucuna hiç rastlamadım.


Dolayısıyla GA'nın ana avantajı, "belirli bir sorunu çözmek için en uygun araç" olması değil, evrensel olmasıdır!

Sonuçta, GA ikinci dereceden bir denklemi çözmek için de kullanılabilir ve dikkate değer bir şekilde kabul edilebilir doğrulukta çözümler bulacaktır. Bilinen formül bu duruma çok daha uygun olsa da...

 

Basitçe söylemek gerekirse,

1. Kullanıcılar, tıpkı diğer algoritmalar hakkında olduğu gibi, ha hakkında gerçekten bilgi sahibi olmayabilirler. Özellikle hiçbir şeyi değiştirmez.

2. Ha'dan daha iyi bir algoritma olsa bile (ve bazı görevler için zaten var), o zaman aynı evrensel olacağı bir gerçek değil. Yani, karşılaştırmalı bir analiz, evrensellik bağlamını kaybetmeden olmalıdır.

3. Hiçbir şey diğer algoritmaları kendiniz uygulamanızı engellemez.

Prival-2, genellikle en uygun araca ihtiyacınız yoktur, ancak yeterlidir (kalın tenli stratejileri optimize etmek için oldukça kabul edilebilir).

Gerçekten diğer algoritmaların açıklamalarını görmek istiyorum.

 
Renat :

Onunla konuşmaya çalışarak zamanını boşa harcıyorsun.

Bu kişi MetaTrader 5'i hiç kullanmıyor, sadece dördü üzerinde oturuyor. Bu, günlüklerden görülebilir - MT5'i yıllardır başlatmadı, ancak eleştiriyor.

Birkaç yıl önce, "Aylar önce tek bir MT5 lansmanınız vardı, reyting ve eleştiri vermeyi nasıl başarıyorsunuz?" derken yakalamıştım. Şimdi bir sonraki klonu olduğu için bunu da inkar etti.

tanıdık davranış. Onunla MT5 ürünümü tartıştığımızı hatırlıyorum, sonunda demosunu bile indirmedi. Ama diziden her zaman "tanıdık değil ama kınıyorum" söylenecek bir şey var.
 
joo :

2. Benim GA'm daha da iyi. :)

...

Yani, sadece sohbet etmekle kalmayıp, aynı zamanda "hangi algoritma daha iyi?" konusunu bir kez ve herkes için kapatmak için test ve karşılaştırmalı analiz için algoritmalarını sağlamak isteyen insanlar var mı?


GA'nızda int NaturalSelection() işlevi, https://www.mql5.com/ru/articles/55 makalesinde belirttiğinizden tamamen farklı çalışır .

İşte test:

 // 256+255+253+249+241+225+193+129+50+ -1 = 1850  сумма всех  выпадений

int PopulChromosCount = 10 ;
double Population[][ 10 ];
int count[ 10 ];

void OnStart (){
         ArrayResize (Population, 2 );
        Population[ 0 ][ 0 ] = 256.0 ;
        Population[ 0 ][ 1 ] = 128.0 ;
        Population[ 0 ][ 2 ] = 64.0 ;
        Population[ 0 ][ 3 ] = 32.0 ;
        Population[ 0 ][ 4 ] = 16.0 ;
        Population[ 0 ][ 5 ] = 8.0 ;
        Population[ 0 ][ 6 ] = 4.0 ;
        Population[ 0 ][ 7 ] = 2.0 ;
        Population[ 0 ][ 8 ] = 0.0 ;
        Population[ 0 ][ 9 ] = - 1.0 ;
                
         ArrayInitialize (count, 0 );
         for ( int k= 0 ; k< 1850 ; ++k){
                 int idx = NaturalSelection();
                ++count[idx];
        }
        printCount(count);
}
  
//Естественный отбор.
int NaturalSelection(){
   int     i= 0 ,u= 0 ;
   double p= 0.0 ,start= 0.0 ;
   double           fit[][ 2 ];
   ArrayResize (fit,PopulChromosCount);
   ArrayInitialize (fit, 0.0 );
   double delta=(Population[ 0 ][ 0 ]-Population[ 0 ][PopulChromosCount- 1 ])* 0.01 -Population[ 0 ][PopulChromosCount- 1 ];

   for (i= 0 ;i<PopulChromosCount;i++)
     {
      fit[i][ 0 ]=start;
      fit[i][ 1 ]=start+ MathAbs (Population[ 0 ][i]+delta);
      start=fit[i][ 1 ];
     }
   p=RNDfromCI(fit[ 0 ][ 0 ],fit[PopulChromosCount- 1 ][ 1 ]);

   for (u= 0 ;u<PopulChromosCount;u++)
       if ((fit[u][ 0 ]<=p && p<fit[u][ 1 ]) || p==fit[u][ 1 ])
         break ;

   return (u);
}

//Генератор случайных чисел из заданного интервала.
double RNDfromCI( double RangeMinimum, double RangeMaximum)
  { return (RangeMinimum+((RangeMaximum-RangeMinimum)* MathRand ()/ 32767.5 ));}

void printCount( int &ncount[]){
         int summ = 0 ;
         for ( int k= 0 ;k< ArraySize (ncount);++k){
                summ+=ncount[k];
        }
         Print ( "Сумма выпадений= " + IntegerToString (summ));
         Print ( "VFF 256: count= " + IntegerToString (ncount[ 0 ]) + " заявлено 256" );
         Print ( "VFF 128: count= " + IntegerToString (ncount[ 1 ]) + " заявлено 255" );
         Print ( "VFF  64: count= " + IntegerToString (ncount[ 2 ]) + " заявлено 253" );
         Print ( "VFF  32: count= " + IntegerToString (ncount[ 3 ]) + " заявлено 249" );
         Print ( "VFF  16: count= " + IntegerToString (ncount[ 4 ]) + " заявлено 241" );
         Print ( "VFF   8: count= " + IntegerToString (ncount[ 5 ]) + " заявлено 225" );
         Print ( "VFF   4: count= " + IntegerToString (ncount[ 6 ]) + " заявлено 193" );
         Print ( "VFF   2: count= " + IntegerToString (ncount[ 7 ]) + " заявлено 129" );
         Print ( "VFF   0: count= " + IntegerToString (ncount[ 8 ]) + " заявлено  50" );
         Print ( "VFF  -1: count= " + IntegerToString (ncount[ 9 ]) + " заявлено  -1" );
}
2015.04.27 12:09:21.369	NaturalSelection (EURUSD,M1)	VFF  -1: count= 6 заявлено  -1
2015.04.27 12:09:21.369	NaturalSelection (EURUSD,M1)	VFF   0: count= 13 заявлено  50
2015.04.27 12:09:21.369	NaturalSelection (EURUSD,M1)	VFF   2: count= 21 заявлено 129
2015.04.27 12:09:21.369	NaturalSelection (EURUSD,M1)	VFF   4: count= 19 заявлено 193
2015.04.27 12:09:21.369	NaturalSelection (EURUSD,M1)	VFF   8: count= 40 заявлено 225
2015.04.27 12:09:21.369	NaturalSelection (EURUSD,M1)	VFF  16: count= 74 заявлено 241
2015.04.27 12:09:21.369	NaturalSelection (EURUSD,M1)	VFF  32: count= 121 заявлено 249
2015.04.27 12:09:21.369	NaturalSelection (EURUSD,M1)	VFF  64: count= 218 заявлено 253
2015.04.27 12:09:21.369	NaturalSelection (EURUSD,M1)	VFF 128: count= 423 заявлено 255
2015.04.27 12:09:21.369	NaturalSelection (EURUSD,M1)	VFF 256: count= 915 заявлено 256
2015.04.27 12:09:21.369	NaturalSelection (EURUSD,M1)	Сумма выпадений= 1850

Генетические алгоритмы - это просто!
Генетические алгоритмы - это просто!
  • 2010.05.25
  • Andrey Dik
  • www.mql5.com
В статье автор расскажет об эволюционных вычислениях с использованием генетического алгоритма собственной реализации. Будет показано на примерах функционирование алгоритма, даны практические рекомендации по его использованию.
 
Laryx :

geçmiş verilerde hata ayıklayıcıda hata ayıklama nasıl oluyor? Umarım yakında olur?

Biz zaten bu sorunla uğraşıyoruz. İlk sonuçlar çok yakında
 
Prival-2 :

Bu bilim adamını çürütmeye çalışın

Genetik algoritmaları kullanmanın uygulanabilirliği konusunda birçok şüpheci var. Örneğin, Stony Brook Üniversitesi'nde bilgisayar mühendisliği profesörü, tanınmış bir algoritma araştırmacısı ve IEEE Enstitüsü Ödülü sahibi Steven S. Skiena şöyle yazıyor [16] :

Genetik, her şeyi optimize edebileceğiniz çok yönlü bir şeydir. Yaklaşık olarak gradyan inişi gibi, sadece problem sınıfı açısından çok daha evrensel.

Bu, herhangi bir görev için her zaman daha iyi çalışacak göreve özel bir optimizasyon yöntemi bulabileceğiniz anlamına gelir.

 
stringo :
Biz zaten bu sorunla uğraşıyoruz. İlk sonuçlar çok yakında
Bravo! Bekliyoruz efendim.
 
İşte Wikipedia'daki Tavlama Yönteminin açıklamasına bir bağlantı. https://en.wikipedia.org/wiki/%C0%EB%E3%EE%F0%E8%F2%EC_%E8%EC%E8%F2%E0%F6%E8%E8_%EE%F2%E6 %E8%E3%E0 Bu algoritmanın nasıl çalıştığını açıklayan bir video örneği var. Buradan, yinelemeli olarak maksimuma yaklaştığı ve neredeyse maksimumun kendisini bulduğu açıktır. Ama aynı zamanda diğer zirveleri de özetliyor. Hesaplama sayısı bir GA'dan çok daha azdır, bir GA'dan daha kompakt ve gerçek verilere çok daha yakındır ve her durumda, hantal bir GA bunu herhangi bir hızda yapacaktır.
 
Bir dizi dosyayı kaydetme ve yükleme becerisinde ilk beşe girmek güzel. Çok kullanışlı bir eşya.
Neden: