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

 
mytarmailS:

Ah, alors oublie ce que j'ai écrit, dans ma langue i+1 est le futur.


alors va avec cette photo.


X[,10] vaut 1 , x[,1] vaut 10.

 
int ForecastSum = 0;

int ForecastStart = 1;

if(X[ForecastStart] <= -0.025 && X[ForecastStart] > -0.08201612905){ForecastSum++;}
if(X[ForecastStart + 1] > -0.057983871 && X[ForecastStart + 1] <= -0.01129032255 && X[ForecastStart] > 0.0219354839){ForecastSum--;}
if(X[ForecastStart + 1] <= -0.057983871){ForecastSum++;}
if(X[ForecastStart + 1] > 0.0702419355){ForecastSum--;}
if(X[ForecastStart + 2] > 0.01362903225 && X[ForecastStart + 2] <= 0.0564516129 && X[ForecastStart + 1] > 0.00153225805){ForecastSum--;}
if(X[ForecastStart + 2] <= 0.0564516129 && X[ForecastStart + 2] > -0.01153225805 && X[ForecastStart + 1] <= 0.0040322581 && X[ForecastStart] <= -0.00596774195){ForecastSum--;}
if(X[ForecastStart + 2] > -0.03370967745 && X[ForecastStart + 2] <= -0.00403225805 && X[ForecastStart] > 0.00032258065){ForecastSum++;}
if(X[ForecastStart + 2] <= -0.03370967745 && X[ForecastStart] > 0.02814516125){ForecastSum--;}
if(X[ForecastStart + 3] > -0.025 && X[ForecastStart + 3] <= -0.00403225805 && X[ForecastStart + 2] > -0.03370967745){ForecastSum++;}
if(X[ForecastStart + 2] > -0.0266935484 && X[ForecastStart + 2] <= -0.025){ForecastSum--;}
if(X[ForecastStart + 1] > 0.0091129032 && X[ForecastStart + 1] <= 0.0277419355 && X[ForecastStart] <= -0.00096774195){ForecastSum++;}
if(X[ForecastStart + 1] <= 0.0564516129 && X[ForecastStart + 1] > 0.03935483875){ForecastSum++;}
if(X[ForecastStart + 2] > 0.02346774195 && X[ForecastStart + 1] > -0.057983871 && X[ForecastStart + 1] <= -0.0212903226){ForecastSum--;}
if(X[ForecastStart + 2] > -0.03370967745 && X[ForecastStart + 2] <= 0.0233870968 && X[ForecastStart + 1] <= 0.0233870968 && X[ForecastStart] > 0.0091129032 && X[ForecastStart] <= 0.02766129035){ForecastSum++;}
if(X[ForecastStart + 2] > -0.03370967745 && X[ForecastStart + 1] <= -0.00120967745 && X[ForecastStart] > -0.00596774195 && X[ForecastStart] <= 0.0229032258){ForecastSum++;}
if(X[ForecastStart] > 0.0012903226){ForecastSum--;}
if(X[ForecastStart + 9] == X[ForecastStart + 9]){ForecastSum++;}

J'ai fait ça, je l'ai passé dans le tableau de données et j'ai obtenu un partage 50/50.

La photo de Maxim était plus cool.

 
Evgeniy Chumakov:

J'ai fait ça, je l'ai passé dans le tableau de données et j'ai obtenu un partage 50/50.

La photo de Maxim était plus cool.

Il y a une erreur dans votre code, c'est pourquoi c'est une connerie.

Il devrait être de +- 98%.

tout comme avec les Maxim's))


============================

Je me suis entraîné sur les 5 premiers kilos de données, les 1000 derniers pour le test.

C'est comme ça que ce modèle devrait fonctionner +-

 ###  тест на нов. данных
Reference
Prediction  -1   1
        -1 619   4
        1    1 565
                                          
               Accuracy : 0.9958          
                 95% CI : (0.9902, 0.9986)
    No Information Rate : 0.5214          
    P-Value [Acc > NIR] : <2 e-16          
                                      


Mais ce résultat ne se produit jamais, soit que vous ayez mélangé les données, soit que les données soient déformées de sorte que la prévision n'a aucune valeur...

Au fait, qu'avez-vous fait des données ?

 
condition                                                                                                       
 
[1,] "X[,10]<=-0.025 & X[,10]>-0.08201612905"                                                                        
                                                                          
      pred
 [1,] "1" 


Le haut comme le tien, le bas comme le mien.


int ForecastSum = 0;

int ForecastStart = 1;

if(X[ForecastStart] <= -0.025 && X[ForecastStart] > -0.08201612905){ForecastSum++;}

ForecastSum est ce à quoi j'ajoute 1 ou soustrait 1.

ForecastStart est la barre par laquelle je commence (shift), la barre de prévision à 0 compte.


J'obtiens parfois une valeur de prévision de 0.

 
Evgeniy Chumakov:


Le haut comme le tien, le bas comme le mien.


ForecastSum est ce à quoi j'ajoute 1 ou soustrait 1.

ForecastStart est la barre par laquelle je commence (shift), la barre de prévision à 0 compte.


J'obtiens parfois une valeur de prévision de 0.

Je ne comprends pas.

J'ai X[,1] ...... X[,10]

vous disposez d'un éventail de valeurs allant de 1 à 10

et vous avez une prévision de 1 à 9, c'est-à-dire que la plage de valeurs est 9.

Pourquoi ? )

 
mytarmailS:

Je ne comprends pas.

J'ai X[,1] ...... X[,10]

vous avez une plage de valeurs de 1 à 10

et vous avez une plage de 1 à 9, c'est-à-dire 9.

Pourquoi ? )

ForecastStart + 9

1 (barre de départ) + 9 = 10 ;


array[numéro de cellule] - c'est ainsi que cela fonctionne dans mt4.

 
Dans le fichier que j'ai posté, la première ligne du fichier est la dernière fois qu'une valeur a été reçue, elle est située dans la cellule 0 du tableau, puis les cellules 1,2,3,4,5,6,7,8 et ainsi de suite.
 
Evgeniy Chumakov:

1 (barre de départ) + 9 = 10 ;


array [numéro de cellule] - dans mt4 c'est le cas.


mais la gamme elle-même est de neuf

ForecastStart <- 1:9

ForecastStart
 1 2 3 4 5 6 7 8 9

length(ForecastStart)
9
 
Evgeniy Chumakov:
Dans le fichier que j'ai posté, la première ligne au début est la dernière valeur qui est arrivée dans le temps. Elle est située dans la cellule 0 du tableau, puis vont les cellules 1,2,3,4,5,6,7,8 etc.

Yeprst))))) qui fait ça ? ))))

je vais juste le changer))

 

массив[0],[1],[2],[3],...[n]

vous devez prédire la cellule 0.

ForecastStart n'est pas une fourchette, mais un décalage. C'est-à-dire que je commence par la cellule 1, où x[ForecastStart + 9] = 10 est une cellule du tableau.

Par conséquent, l'intervalle est compris entre les cellules 1 et 10.

Raison: