L'apprentissage automatique dans la négociation : théorie, modèles, pratique et algo-trading - page 400

 
elibrarius:

Je découvre le fonctionnement de chaque réseau séparément. Et ce qu'il faut tirer de leurs productions est une question de goût).

Au fait, je regarde le code de votre fichier - il y a une formule différente, pas comme dans l'article, c'est-à-dire n

Apparemment, l'auteur a modifié la formule.

Donc peut-être pas 3 entrées (comme dans la formule originale), mais quand même 8... Je ne comprends pas encore l'essence de la nouvelle formule.


Vous lisez le mauvais article :) ici
 

Ce sont des emplois différents. Il n'est pas nécessaire de les combiner.

dans une variable

v0=bla bla bla bla bla

v1=bla bla bla bla bla

v2=bla bla bla bla bla

v3=bla bla bla bla bla

v4=bla bla bla bla bla

v5=bla bla bla bla bla

v6=bla bla bla bla bla

v7=bla bla bla bla bla

les valeurs des entrées sont enregistrées. puis le tout est introduit dans la fonction

double getBinaryClassificator1(double v0, double v1, double v2, double v3, double v4, double v5, double v6, double v7) {

//нормализация данных
   double x0 = 2.0 * (v0 + 1189.0) / 2047.0 - 1.0;
   double x1 = 2.0 * (v1 + 810.0) / 2247.0 - 1.0;
   double x2 = 2.0 * (v2 + 1636.0) / 2155.0 - 1.0;
   double x3 = 2.0 * (v3 + 558.0) / 1252.0 - 1.0;
   double x4 = 2.0 * (v4 + 139.0) / 494.0 - 1.0;
   double x5 = 2.0 * (v5 + 74.97643) / 144.15451 - 1.0;
   double x6 = 2.0 * (v6 + 1026.56016) / 1938.48639 - 1.0;
   double x7 = 2.0 * (v7 + 4167.0) / 7074.0 - 1.0;
   
//полином он же сеть он же ИИ он же ГУРу и т.д. Но данные уже нормализованны.


double decision = 3.162907268170426 * sigmoid(x0)
  -1.0554004772410066 * sigmoid(x1 + x2 + x3)
  + 3.8921930574940347 * sigmoid(x0 + x1 + x4)
  -1.3775531643479957 * sigmoid(x1 + x2 + x3 + x4)
  -0.44704575810784447 * sigmoid(x0 + x5)
  -0.012703915477316044 * sigmoid(x0 + x1 + x5)
  -7.231026668467576 * sigmoid(x2 + x5)
  -0.059339966683175004 * sigmoid(x2 + x4 + x5)
  -2.786314588867378 * sigmoid(x0 + x1 + x2 + x4 + x5)
  + 2.1339726561913768 * sigmoid(x0 + x1 + x6)
  -0.49562529077183975 * sigmoid(x0 + x4 + x6)
  + 5.2147434454399475 * sigmoid(x0 + x3 + x4 + x6)
  -2.890797352663095 * sigmoid(x5 + x6)
  + 0.10933021175693726 * sigmoid(x0 + x5 + x6)
  -1.6844056248405446 * sigmoid(x1 + x2 + x5 + x6)
  -0.18093137034202272 * sigmoid(x1 + x3 + x5 + x6)
  + 0.6607987033451893 * sigmoid(x1 + x7)
  -1.8854921735476415 * sigmoid(x0 + x1 + x3 + x7)
  -1.1169615655906233 * sigmoid(x2 + x5 + x7)
  -0.6844731589452674 * sigmoid(x4 + x6 + x7)
  -0.4231236774571158 * sigmoid(x1 + x2 + x3 + x4 + x6 + x7)
  + 5.763615625891075 * sigmoid(1.0 + x1 + x2 + x3 + x5)
  -0.3138985187519697 * sigmoid(1.0 + x0 + x1 + x4 + x5)
  -1.8910224663455044 * sigmoid(1.0 + x1 + x3 + x4 + x5)
  + 2.1204658352467995 * sigmoid(1.0 + x2 + x3 + x4 + x5)
  + 6.219005597826903 * sigmoid(1.0 + x2 + x3 + x4 + x6)
  -3.740916662914772 * sigmoid(1.0 + x0 + x1 + x3 + x4 + x5 + x6);
   return decision;
}
 

Reshetov :

VS Forêt de décision à deux classes et régression logistique :

Reshetov l'emporte haut la main.

Dossiers :
HARD.txt  7 kb
 
Maxim Dmitrievsky:

Reshetov :

VS Forêt de décision à deux classes et régression logistique

Eh bien, Reshetov l'emporte haut la main.


Si vous avez exécuté le jeu de données Hard, alors mon résultat est de 72% de généralisation, d'ailleurs, prenez le modèle que j'ai déjà calculé à partir du fichier HARD.mql et comparez-le. Et que signifie une victoire sèche, j'admets qu'il est difficile d'interpréter le résultat.
 
Mihail Marchukajtes:

Si vous exécutez le jeu de données Hard, alors mon résultat est une généralisation de 72%, d'ailleurs, prenez le modèle que j'ai téléchargé, il est déjà calculé à partir du fichier HARD.mql et comparez-le. Et que signifie "victoire sèche", j'admets qu'il est difficile d'interpréter le résultat.

C'est un résultat réduit, c'est ce que j'ai joint. Voir les vrais positifs et les vrais négatifs, c'est-à-dire le nombre de prédictions réussies pour l'achat et la vente, R a plus de prédictions réussies, 65% contre 45% par les autres modèles. C'est-à-dire que son modèle donnerait des bénéfices et d'autres des pertes.
 
elibrarius:

J'étendrais le neurone à 10 entrées...
Mais nous devons ajouter les règles à 1024 :

r0 = (1 - A) * (1 - B) * (1 - C) * p0
r1 = (1 - A) * (1 - B) * C * p1
r2 = (1 - A) * B * (1 - C) * p2
r3 = (1 - A) * B * C * p3 A) * B * C * p3
r4 = A * (1 - B) * (1 - C) * p4
r5 = A * (1 - B) * C * p5
r6 = A * B * (1 - C) * p6
r7 = A * B * C * p7


.....

r1023 =


C'est effrayant :D
Dossiers :
rnn_10.mq5  115 kb
 
Dr. Trader:

C'est effrayant :D

Ahem, ahem.... a vraiment l'air, je dirais même terrifiant.....
 
Dr. Trader:

C'est effrayant :D
J'espère qu'il n'a pas été assemblé à la main ? Est-ce que cela a été fait par cycles ? Manuellement, cela aurait pris des heures...
 
elibrarius:
J'espère que cela n'a pas été compilé manuellement ? C'était en quelque sorte des cycles ? Manuellement, cela aurait pris des heures...

Manuellement, je pense que vous pouvez faire des erreurs...
 
Dr. Trader:

C'est effrayant :D

Effrayant et un peu inutile, car cela prendra beaucoup de temps dans l'optimiseur :) dans le nuage vous pouvez toujours