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

 
gobirzharf:

No importa) Tan pronto como un nadador aprenda a nadar y empiece a chapotear, llamando la atención, tendrá inmediatamente un peso de 200 kg alrededor de su cuello, y no habrá manera de que nadie baje)

Lo que dices no tiene sentido.

 
mytarmailS:

Puede fácilmente ...

Pero el tipo de error que tienes al crear los datos, no puedes tener estos resultados ...

Parece que no hay ningún error. No lo veo a ojo, simplemente escribí lo que tenía en mente en el archivo.

Pregunta para Maxim, cuando predecía el signo + - -, ¿se entrenaba con un número que estaba en el archivo? ¿O en la fila normalizada 0 - 1?

 
Evgeniy Chumakov:


¿Es un algoritmo complicado? ¿Se puede implementar inmediatamente en mql4/5 o lo que pido es una tontería?

es posible

Hay, digamos, una pila de tecnologías bien establecida. Puedes ir directamente a mt5 o puedes empezar con python y luego exportarlo a mt5. Puedes empezar con Python, pero operar en MT5. En cualquier caso, puede hacerlo de todos modos.

 
Evgeniy Chumakov:

Parece que no hay errores. No lo veo a ojo, lo que tengo en mente es lo que se escribe en el archivo.

Pregunta a Maxim, ¿cuándo la predicción del signo + - - la formación tuvo lugar en la fila que está en el archivo? ¿O en la fila normalizada 0 - 1?

en la misma fila, pero las respuestas están normalizadas 0-1

 
Maxim Dmitrievsky:

puedes

hay, digamos, una pila tecnológica bien establecida. Puedes ir directamente a mt5, puedes primero en python, luego exportar a mt5. Puedes usar sólo Python, pero operar en MT5. Puedes hacer lo que quieras.


¿No es amigable con el 4?

¿Es difícil instalar python en win 10 x64, sin pandereta?

 
Evgeniy Chumakov:


¿No es para nada amigable con el 4?

¿Es difícil instalar Python en win 10 x64, sin pandereta?

La 4 es un atavismo.

Probablemente no, a menos que seas un chamán buryat.

 
Maxim Dmitrievsky:

La 4 es un atavismo.

Probablemente no, a menos que seas un chamán buryat.

Simplemente hazle un modelo en forma de reglas de registro, deja que lo incruste en su código, ¿por qué torturar al hombre con python?

¿O debería hacerlo yo?

 
Evgeniy Chumakov:
 condition                                                                                                       
 [1,] "X[,10]<=-0.025 & X[,10]>-0.08201612905"                                                                        
 [2,] "X[,9]>-0.057983871 & X[,9]<=-0.01129032255 & X[,10]>0.0219354839"                                              
 [3,] "X[,9]<=-0.057983871"                                                                                           
 [4,] "X[,9]>0.0702419355"                                                                                            
 [5,] "X[,8]>0.01362903225 & X[,8]<=0.0564516129 & X[,9]>0.00153225805"                                               
 [6,] "X[,8]<=0.0564516129 & X[,8]>-0.01153225805 & X[,9]<=0.0040322581 & X[,10]<=-0.00596774195"                     
 [7,] "X[,8]>-0.03370967745 & X[,8]<=-0.00403225805 & X[,10]>0.00032258065"                                           
 [8,] "X[,8]<=-0.03370967745 & X[,10]>0.02814516125"                                                                  
 [9,] "X[,8]<=-0.03370967745 & X[,10]<=0.02443548385"                                                                 
[10,] "X[,7]>-0.025 & X[,7]<=-0.00403225805 & X[,8]>-0.03370967745"                                                   
[11,] "X[,8]>-0.0266935484 & X[,8]<=-0.025"                                                                           
[12,] "X[,9]>0.0091129032 & X[,9]<=0.0277419355 & X[,10]<=-0.00096774195"                                             
[13,] "X[,9]<=0.0564516129 & X[,9]>0.03935483875"                                                                     
[14,] "X[,8]>0.02346774195 & X[,9]>-0.057983871 & X[,9]<=-0.0212903226"                                               
[15,] "X[,8]>-0.03370967745 & X[,8]<=0.0233870968 & X[,9]<=0.0233870968 & X[,10]>0.0091129032 & X[,10]<=0.02766129035"
[16,] "X[,8]>-0.03370967745 & X[,9]<=-0.00120967745 & X[,10]>-0.00596774195 & X[,10]<=0.0229032258"                   
[17,] "X[,10]>0.0012903226"                                                                                           
[18,] "X[,1]==X[,1]"                                                                                                  
      pred
 [1,] "1" 
 [2,] "-1"
 [3,] "1" 
 [4,] "-1"
 [5,] "-1"
 [6,] "-1"
 [7,] "1" 
 [8,] "-1"
 [9,] "-1"
[10,] "1" 
[11,] "-1"
[12,] "1" 
[13,] "1" 
[14,] "-1"
[15,] "1" 
[16,] "1" 
[17,] "-1"
[18,] "1"

Los datos se representan como una ventana deslizante de tamaño 10, las reglas se basan en estos datos...

el primer elemento X[ , 1] ....... X[ , 10] último (vela actual)

pred

esto es lo que predice la norma

el modelo predice un signo, más que cero "1", menos que "-1"

El modelo tiene una precisión del 97-99%.


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

aquí está todo el código en R... tan grande e incomprensible ))))

d <- read.csv(file = "C:\\..........\\EURUSD_returns.csv")
d <- d[,1]

X <- embed(d, 10)[ , 10:1]  
Y <- as.factor(sign(  c(X[-1,ncol(X)] , 1)  ))

library(inTrees)
library(RRF)
rf <- RRF(X,Y,ntree=100) 
treeList <- RF2List(rf)
ruleExec <- unique(extractRules(treeList,X,maxdepth = 10))
ruleMetric <- getRuleMetric(ruleExec,X,Y) #  measure rules
ruleMetric <- pruneRule(ruleMetric,X,Y) #  prune each rule
learner <- buildLearner(ruleMetric,X,Y)

learner
 

mytarmailS:

tan grande e incomprensible ))))


Eso ni siquiera es gracioso))) no saben qué hacer con él.

 
Evgeniy Chumakov:

Ni siquiera tiene gracia)) No sé qué hacer con él.

No te rías, pero entiéndelo mejor...

No necesitas un código, necesitas reglas de registro (esto es un modelo), tomas estas reglas y las pones en tu código, la cantidad de predicciones de las reglas será la respuesta del modelo - "1" o "-1".

Si no lo entiendes, pregunta.

mientras sea bueno))