Ticarette makine öğrenimi: teori, pratik, ticaret ve daha fazlası - sayfa 1147

 
Maksim Dmitrievski :

görev, 2 parçanın ayırt edilemez olmasını sağlamaktır (aynı hatalar, vb.), bu bağlamda, genellikle tüm anlamını yitirenle neyin sallandığının tanımı

aslında belki de haklısın, gerçek hayat tecrübesi ancak bizim zanaatımızda objektif bir cevap verebilir))

 
FxTrader562 :

Bazı hatalar gösteriyor: "Olay teslim işlevi bulunamadı"

hata yok

 
FxTrader562 :

evet

 
FxTrader562 :

Aslında burada biraz değişiklik yaparsanız gerçekten harika olur...

hangisi değişir

 
FxTrader562 :

Aslında, burayı değiştirsen harika olurdu:

Bunu denedim ... ama yanlış bir şey yapıp yapmadığımı bilmiyordum:

Lütfen kodu inceleyin ve işlem başına pip beklentisini iyileştirmek için benzer bir şey yapıp yapamayacağımızı önerin.

burayı değiştirirsen daha iyi

 //+------------------------------------------------------------------+
//|Get trade signal                                                  |
//+------------------------------------------------------------------+
double CRLAgent::getTradeSignal( double &featuresValues[])
  {
   if (!random_policy) {
       double kerfeatures[];
       ArrayResize (kerfeatures, ArrayRange (bestFeatures, 0 ));
       ArrayInitialize (kerfeatures, 0 );
      
       for ( int i= 0 ;i< ArraySize (kerfeatures);i++) {
         kerfeatures[i] = featuresValues[ 0 ]/featuresValues[( int )bestFeatures[i][ 1 ]];
        }
            
      CLogit::MNLProcess(Lmodel,kerfeatures,Lout);
       return Lout[ 1 ];
     }
   else if ( rand ()/ 32767.0 < 0.5 ) return 0 ; else return 1 ;
  }

if(hızlı MA > yavaş MA) if ( rand ()/ 32767,0 < 0.8 ) dönüş 0 ; başka dönüş 1 ;

if(hızlı MA < yavaş MA) if ( rand ()/ 32767,0 < 0.8 ) dönüş   1 ; başka   dönüş   0 ;

veya bunun gibi bir şey, filtre olarak herhangi bir gösterge

 
Maksim Dmitrievski :

burayı değiştirirsen daha iyi

if (hızlı MA > yavaş MA) if ( rand () / 32767,0 < 0.8 ) 0 döndürür ; yoksa 1 döndürür ;

if (hızlı MA < yavaş MA) if ( rand () / 32767,0 < 0.8 ) 1 döndürür ; yoksa 0 döndürür ;    

veya bunun gibi bir şey, filtre olarak herhangi bir gösterge

Pekala, burayı değiştirmeye çalıştım..ama "Sinyaller" ile herhangi bir şeyi karıştırmak tüm sonuçları mahveder..

 
FxTrader562 :

Henüz denemediğim gösterge..

ama denedim " if ( rand () / 32767,0 < 0.8 ) "..t hen, rastgele davranış gösterdi, çünkü burada da değiştirmemiz gerekiyor:

Bunu MA ile filtrelerseniz, yukarı veya aşağı trend olduğunda 0,8 olasılıkla alım veya satım sinyallerini örnekleyeceği anlamına gelir, bu nedenle işlemler çok daha uzun sürecek, sinyal filtresini değiştirmeye gerek yok

Ödül fonksiyonunu nasıl geliştireceğimi düşüneceğim. yarın)
 
Maksim Dmitrievski :

burayı değiştirirsen daha iyi

if(hızlı MA > yavaş MA) if ( rand ()/ 32767,0 < 0.8 ) dönüş 0 ; başka dönüş 1 ;

if(hızlı MA < yavaş MA) if ( rand ()/ 32767,0 < 0.8 ) dönüş   1 ; başka   dönüş   0 ;

veya bunun gibi bir şey, filtre olarak herhangi bir gösterge

benzer şeyler yapıyor gibi görünüyor (veya benzer sonuçlara varıyor)

"Belirleyici algoritmalar bilgi eksikliği koşulları altında kaybederse (gelişmekte olan bir pazarda), o zaman olasılıkları serbest bırakabilirsiniz" gibi bir şey :-)

 
Maksim Kuznetsov :

benzer şeyler yapıyor gibi görünüyor (veya benzer sonuçlara varıyor)

"Belirleyici algoritmalar bilgi eksikliği koşulları altında kaybederse (gelişmekte olan bir pazarda), o zaman olasılıkları serbest bırakabilirsiniz" gibi bir şey :-)

burada biraz farklı (NN'yi eğitmek için etiketli verilerin hazırlanması), ancak evet gibi görünüyor

soru, verileri sözde rastgele bir şekilde en iyi nasıl etiketleyeceğinizdir.

 
FxTrader562 :

Tamam hadi görelim...)))

Aslında, şu ana kadar geriye dönük testlerde oldukça etkileyici sonuçlar alıyorum :))

Ancak ileriye dönük testlerle ilgili asıl sorun :((((

belki hiçbir zaman iyi olmayacak :)