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

 
Vizard_:
radikal.ru/video/1JIag8ds57s

)))

 
Vizard_:

No te dejes llevar por la euforia. Tómate un par de días para digerirlo con calma, darle vueltas...

Es un buen consejo. Tómate tu tiempo... :-)

 
mytarmailS:

¡¡los volúmenes horizontales habituales!! ¡Jesús! ¿De dónde salieron ustedes? )) Ah, se me olvidaba que esto es un foro de Forex)


¿En la ventanita? ¿En el monitor izquierdo?

 
Sergey Chalyshev:

¿Qué pasa?

Yo también tengo el mismo problema. ¿Puede alguien decirme por qué puede estar ocurriendo esto?

 
Mikhail Khlestov:

Yo también tengo este problema. ¿Puede alguien decirme por qué puede estar ocurriendo esto?

Esto es lo que ocurre con todos, no tiene sentido mirar los resultados de las bandejas, sólo los OOS, pero si el sistema no ha identificado patrones reales (y un par de cientos de personas en el mundo pueden hacerlo), entonces los OOS serán una fuga en la propagación o algo peor. Pero para arreglar un rastro - no hay problema para cualquier grailista con 100$ y un par de horas.

 
Igor Makanu:

1.Intentaré citar libremente a Haikin: el conjunto de datos debe contener ejemplos positivos y negativos

parece estar claro con los ejemplos positivos, lo que queda por aclarar es cómo enseñar los ejemplos negativos?

2.- El ruido también debería darse, pero no es precisamente un ejemplo negativo, ¿verdad?

1. Es un buen punto. Pero lo has olvidado: la proporción entre lo positivo y lo negativo tiene que corresponder a la práctica. También una cita de memoria.

Enseñar de la misma manera. Servir la entrada en mezclas con los positivos.

2. De 1. se deduce que no hay ruido.

Si sólo tienes lo positivo y no lo negativo, no tienes ni idea de lo que estás enseñando.

 
Igor Makanu:

1. no me he olvidado, porque no sé - no hay nada que olvidar, sigo queriendo leer, ¡pero son estas pequeñas cosas las que lo empiezan todo!

2. individualmente todo, imho, bien, mis objetivos son buenos - no quiero predecir lo imprevisible, quiero adaptar lo adaptable )))

Por cierto, de dónde sacar el negativo. Como no conozco la tarea, en términos generales.

Si está enseñando, por ejemplo, a reconocer triángulos, la muestra de entrenamiento debe contener no sólo una variedad de triángulos, sino también una variedad de no triángulos.

 
Vizard_:

radikal.ru/video/m9Ct2f9xDCn

Mierda... qué tipo de música estás escuchando))

 

Así que, sobre los restos, si recuerdas, saqué un tema sobre cómo algoritmizar los restos. No obtuve ninguna respuesta clara, así que tuve que pensar por mí mismo...

Al principio experimenté con las distribuciones: cuanto más fluctuaba el precio en un nivel y cuanto más eran estas fluctuaciones, más probable era el fracaso; sin embargo, este método tiene desventajas y lo abandoné.

El segundo método fue mejor y me gustaría compartirlo con vosotros por si a alguien le interesa...

Para el segundo método he utilizado la autocorrelación del precio y he estado buscando durante mucho tiempo signos de planicidad en las indicaciones de la ACF y he encontrado dos signos simples.

Este es el aspecto del precio y el ACF

el código en el R-ke

layout(1:2)
x <- cumsum(rnorm(100))
plot(x,t="l")
acf(x,plot = T,lag.max = length(x))

Ahora sobre los signos

El primer signo es el número de extremos en la ACF (azul)

El segundo indicador es el número de intersecciones de la línea cero con el eje (rojo)

Cuantos más cruces y extremos, más fuerte es el plano

Una función que devuelve los dos atributos o parámetros anteriores

get_parameters <- function(x){
  ac <- acf(x,lag.max = length(x),plot = F)
  
  
  library(quantmod)
  
  xx <- ac$acf
  
  pi <- findPeaks(xx)
  va <- findValleys(xx)
  length(c(pi,va))
  
  flet <- rep(0,length(xx))
  for(i in 5:length(xx)){
    
    if(xx[i-1]>0 && xx[i]<0)  flet[i] <- 1
    if(xx[i-1]<0 && xx[i]>0)  flet[i] <- 1
  }
  
  x1 <- length(c(pi,va))
  x2 <- sum(flet)
  
  return(c(x1,x2))
}

El método tiene una desventaja: es una ventana deslizante de tamaño fijo, pero se puede evitar, aunque el algoritmo se ralentiza cien veces, lo cual es malo...


Ahora el resultado es realmente

Consideramos "plana" la situación en la que el primer y el segundo signo son más de 7

el algoritmo en una ventana deslizante de tamaño 30 puntos

algoritmo en una ventana deslizante de 200 píxeles

y el propio código

layout(1:1)
x <- cumsum(rnorm(1000))
plot(x,t="l")
n <- 200  # length roll window
for(i in n:length(x)){
  ii <- (i-(n-1)):i
  gp <- get_parameters(x[ii])
 flat <- gp[1]>=8 && gp[2]>=8
if(flat){
   rect(i-length(ii), min(x[ii]), i, max(x[ii]), col = "aquamarine3",border = "aquamarine3")
 }}
lines(x,t="l")


Si alguien sabe cómo mejorar el algoritmo, no dude en

 
mytarmailS:

Ver .....

Algoritmo en una ventana deslizante de 30 píxeles

algoritmo en una ventana deslizante de 200 píxeles

Entonces, si se toma toda la historia como una ventana, ¿será un piso de principio a fin?