Aprendizaje automático en el trading: teoría, práctica, operaciones y más - página 2001

 
mytarmailS:

Ah, bueno entonces olvida lo que escribí, en mi idioma i+1 es el futuro


entonces vete con esta foto.


X[,10] es 1 , x[,1] es 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++;}

Hice esto, lo pasé por la matriz de datos y obtuve una división 50/50.

La foto de Maxim era más genial.

 
Evgeniy Chumakov:

Hice esto, lo pasé por la matriz de datos y obtuve una división 50/50.

La foto de Maxim era más genial.

Hay un error en tu código, por eso es una mierda.

Debería ser de +- 98%.

al igual que con Maxim's))


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

Entrené en los primeros 5k de datos, los últimos mil para la prueba.

Así es como debería funcionar este modelo +-

 ###  тест на нов. данных
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          
                                      


Pero este resultado no se produce nunca, o bien has estropeado los datos o los datos están distorsionados de manera que la previsión no tiene valor...

Por cierto, ¿qué has hecho con los datos?

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


La parte superior como la tuya, la inferior como la mía.


int ForecastSum = 0;

int ForecastStart = 1;

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

ForecastSum es a lo que sumo 1 o resto 1.

ForecastStart es la barra con la que empiezo (turno), la barra de previsión a 0 cuenta.


A veces obtengo un valor de previsión de 0.

 
Evgeniy Chumakov:


La parte superior como la tuya, la inferior como la mía.


ForecastSum es a lo que sumo 1 o resto 1.

ForecastStart es la barra con la que empiezo (turno), la barra de previsión a 0 cuenta.


A veces obtengo un valor de previsión de 0.

No lo entiendo.

Tengo X[,1] ...... X[,10]

tiene un rango de valores de 1 a 10

y tiene un forecaststart de 1 a 9 es decir, rango de valores de 9

¿Por qué? )

 
mytarmailS:

No lo entiendo.

Tengo X[,1] ...... X[,10]

tiene un rango de valores de 1 a 10

y tienes un rango de 1 a 9, es decir, 9.

¿Por qué? )

ForecastStart + 9

1 (barra inicial) + 9 = 10;


array[cell number] - así es como funciona en mt4.

 
En el archivo que publiqué la primera línea del archivo es la última vez que se recibió un valor, se encuentra en la celda 0 del array, luego las celdas 1,2,3,4,5,6,7,8 y así sucesivamente.
 
Evgeniy Chumakov:

1 (barra inicial) + 9 = 10;


array[número de celda] - en mt4 este es el caso.


pero la gama en sí es de nueve

ForecastStart <- 1:9

ForecastStart
 1 2 3 4 5 6 7 8 9

length(ForecastStart)
9
 
Evgeniy Chumakov:
En el archivo que he colgado la primera línea del principio es el último valor que llegó en el tiempo. Se encuentra en la celda 0 del array, luego van las celdas 1,2,3,4,5,6,7,8 etc.

Yeprst))))) ¿quién hace eso? ))))

Lo cambiaré))

 

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

necesitas predecir la celda 0.

ForecastStart no es un rango, sino un desplazamiento. Es decir, empiezo por la celda 1. Donde x[ForecastStart + 9] = 10 es una celda del array.

Por lo tanto, el rango es de la celda 1 a la 10.