L'Apprentissage Automatique dans le trading : théorie, modèles, pratique et trading algo - page 1147

 
Maxim Dmitrievsky:

la tâche consiste à rendre les deux pièces indiscernables (les mêmes erreurs, etc.), dans ce contexte, la définition de ce qui gigote perd tout son sens.

En fait, vous avez peut-être raison, l'expérience réelle ne peut que fournir une réponse objective dans notre métier).

 
FxTrader562:

Il affiche une erreur : "Event handing function not found" ( fonction de gestion des événements introuvable).

aucune erreur

 
FxTrader562:

oui

 
FxTrader562:

En fait, ce serait vraiment génial si vous pouviez faire quelques changements ici...

qui change

 
FxTrader562:

En fait, ce serait bien si vous pouviez changer ici :

J'ai essayé ça... mais je ne savais pas si j'avais fait quelque chose de mal :

Veuillez voir le code et suggérer si nous pouvons faire quelque chose de similaire pour améliorer l'espérance de pip par transaction.

C'est mieux si vous changez ici

//+------------------------------------------------------------------+
//|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(fast MA> slow MA)if(rand()/32767.0<0.8) return 0; else return 1;

if(fast MA< slow MA)if(rand()/32767.0<0.8) return 1; else return 0;

ou quelque chose comme ça, tout indicateur comme filtre

 
Maxim Dmitrievsky:

C'est mieux si vous changez ici

if (fast MA > slow MA) if ( rand () / 32767.0 < 0.8 ) return 0 ; else return 1 ;

si (MA rapide < MA lent) si ( rand () / 32767.0 < 0.8 ) retournez 1 ;sinon retournez 0 ;

ou quelque chose comme ça, tout indicateur comme filtre

Eh bien, j'ai essayé de changer ici... mais tout ce qui est "Signaux" gâche l'ensemble des résultats...

 
FxTrader562:

Indicateur que je n'ai pas encore essayé ...

mais j'ai essayé " if ( rand () / 32767.0 < 0.8 )"...alors, il a montré un comportement aléatoire, parce que nous devons changer ici aussi :

si vous filtrez ceci avec MA, cela signifie qu'il échantillonnera des signaux d'achat ou de vente avec une probabilité de 0,8 lorsque la tendance est à la hausse ou à la baisse, donc les trades seront beaucoup plus longs, pas besoin de changer le filtre des signaux.

Je vais réfléchir à la manière d'améliorer la fonction de récompense. Demain )
 
Maxim Dmitrievsky:

C'est mieux si vous changez ici

if(fast MA> slow MA)if(rand()/32767.0<0.8) return 0; else return 1;

if(fast MA< slow MA)if(rand()/32767.0<0.8) return 1; else return 0;

ou quelque chose comme ça, tout indicateur comme filtre

semble faire des choses similaires (ou arriver à des conclusions similaires)

Approximativement "si les algorithmes déterministes perdent lorsqu'il y a un manque d'information (dans un marché en amélioration), alors nous pouvons laisser les probabilités faire le travail" :-)

 
Maxim Kuznetsov:

semblent faire des choses similaires (ou arriver à des conclusions similaires)

Nous parlons de "si les algorithmes déterministes perdent dans des conditions de manque d'information (dans un marché en amélioration), alors nous pouvons laisser les probabilités faire le travail" :-)

un peu différent ici (préparation des données marquées pour la formation NS), mais cela semble si

la question est de savoir comment baliser au mieux les données d'une manière pseudo-aléatoire.

 
FxTrader562:

Ok, voyons voir...))

En fait, j'obtiens des résultats assez impressionnants dans le back-testing jusqu'à présent :))

Mais le principal problème des tests avancés : ((((.

peut-être que cela ne fonctionnera jamais bien :)