Discusión sobre el artículo "Desarrollo de asesores expertos autooptimizables en MQL5" - página 2
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Gracias por su valioso compromiso, especialmente por la oportunidad de abrir nuestras mentes a nuevos horizontes, que creo que es lo más importante.
Tengo preguntas prácticas y tal vez ingenuo
gracias
que se diviertan
Me encanta tu enfoque proactivo. Tienes razón, hay varias excepciones que pueden surgir al intentar obtener datos históricos. Por ejemplo, si se intenta cambiar de marco temporal en medio de una sesión de negociación, puede volver a observarse el problema "-nan".
Había un equilibrio inherente entre mantener el mensaje fácil de seguir y solucionar todos los errores que observé. Si hubiera optado por esto último, el código habría sido necesariamente más complejo y no tan fácil de seguir como lo es ahora. Así que decidí mantenerlo fácil de seguir, con la intención de que pudieras ampliarlo rápidamente.
Tu solución parece muy prometedora, ¿qué tal está resultando?
He intentado ejecutar el LinearRegressionEA y me parece un concepto interesante. Yo comercio principalmente CFDs de ORO y he establecido un gusto por el indicador WPR en este ejemplo.
A veces obtengo precios de predicción incorrectos que están muy fuera de rango con un factor 100, pero a veces ¡correcto!
Si alguien resuelve este problema se lo agradecería mucho. Depurar código de regresión lineal no es mi especialidad.
No he visto si has escrito algo sobre el Periodo preferido para operar, yo lo tengo configurado en 30 Minutos.
En ese escenario,
si todavía no hay una operación
y el EA ejecuta su función'analyse_indicators()',
esto se hace una vez por barra, así que en mi caso una vez cada 30 minutos.
Lo que significa que si los indicadores no se alinean para una decisión comercial, esto no se intenta de nuevo hasta la próxima barra, en mi caso 30 minutos más tarde.
OMI esto es demasiado tiempo para establecer la operación inicial,
así que agregué una tarea de Temporizador que ejecuta el paso de análisis cada 10 segundos hasta que los indicadores estén a favor de una operación;
establezco la orden de Compra o Venta y luego regreso al procesamiento regular por barra de la función manage_position() .
gracias
que se diviertan
Hola Giulio.
Para configurar un número mágico y un comentario personalizado, simplemente extenderías el código llamando a la función apropiada en su lugar.
Creo que PositionOpen puede ser lo que estás buscando, puedes consultar la documentación con este enlace.
Si eso no satisface lo que necesitas, prueba este tutorial de YouTube con este enlace.
Si ninguno de estos recursos es capaz de ayudarte, entonces tengo un canal donde publico más artículos útiles como estos. Puedes encontrarlo usando este enlace.
Hola de nuevo he tenido que crear mi cuenta de nuevo para iniciar sesión. De todos modos,
He intentado ejecutar el LinearRegressionEA y me parece un concepto interesante. Yo comercio sobre todo CFDs de ORO y he establecido un gusto por el indicador WPR en este ejemplo.
A veces tengo precios de predicción incorrectos que están fuera de rango con un factor 100, pero a veces ¡correcto!
Si alguien resuelve ese problema se lo agradecería mucho. Depurar código de regresión lineal no es mi especialidad.
No he visto si has escrito algo sobre el Periodo preferido para operar, yo lo tengo configurado en 30 Minutos.
En ese escenario,
si todavía no hay una operación
y el EA ejecuta su función'analyse_indicators()',
esto se hace una vez por barra, así que en mi caso una vez cada 30 minutos.
Lo que significa que si los indicadores no se alinean para una decisión comercial, esto no se intenta de nuevo hasta la próxima barra, en mi caso 30 minutos más tarde.
OMI esto es demasiado tiempo para establecer la operación inicial,
así que agregué una tarea de temporizador que ejecuta el paso de análisis cada 10 segundos hasta que los indicadores estén a favor de una operación;
establezco la orden de compra o venta y luego vuelvo al procesamiento regular por barra de la función manage_position() .
Lamento saber que has tenido problemas para iniciar sesión, espero que ya lo hayas solucionado.
Tienes razón, las predicciones de nuestro modelo actual pueden estar a veces fuera del rango aceptable por un amplio margen, pero no hay ningún error en el código.
Te explicaré por qué podemos esperar que esto ocurra.
Estamos utilizando una implementación simple del algoritmo Gradient Descent para optimizar los coeficientes de nuestro modelo. Desafortunadamente, el Descenso Gradiente puede ser sensible a las posiciones iniciales de nuestros coeficientes. Para remediarlo, se desarrolló el algoritmo de Descenso Gradiente Estocástico (SGD). SGD realiza optimizaciones cambiando los coeficientes iniciales cada vez para maximizar la probabilidad de encontrar coeficientes óptimos. Para simplificar, mantuvimos fijos los coeficientes, lo que puede provocar que el modelo se atasque en estados sombríos. Este video de youtube puede ser útil, utilice este enlace.
Sí tienes razón, intencionalmente pedí que los cálculos se realizaran en cada vela. Esto se hizo para acelerar las pruebas retrospectivas, para desactivar esta función sólo tiene que eliminar la condición de verificación "if(timestamp != current_time)".
Además, hay maneras en que podemos construir nuestro modelo de tal manera que se personaliza a los datos que tenemos a la mano, usted puede encontrar esa información utilizando este enlace.
Hola, ¡es increíble! Gracias.
Me salen estas líneas:
¿Cómo puedo solucionar esto?
¿alguien tiene también este problema?
Hola, ¡es increíble! Gracias.
Me salen estas líneas:
¿Cómo puedo arreglar esto?
¿alguien tiene también este problema?
Hola Javier, ¿podrías subir más de la salida de la terminal?
Porque lo que compartiste parece normal, yo esperaría una salida como esa.
Sin embargo, el problema que estoy notando con tu salida es el "0.0" al final. Obtener un error de 0.0 implica que el modelo es perfecto, lo cual no es realista.
Hola Gamuchirai,
(espero que sea la forma aceptada de decir hola).
He estado leyendo sus artículos con gran interés, ya que estoy muy interesado en identificar oportunidades para mejorar mi código muy ingenuo. Apenas estoy haciendo la transición de MQL4 a MQL5 y no tengo experiencia en matemáticas.
En la ejecución de su código descargado en backtest me doy cuenta de que las únicas operaciones tomadas son todas las posiciones de venta - ver el adjunto.
El comentario que muestra el precio de pronóstico siempre aparece como 0.0000nnnnnnnn que parece ser incorrecta.
Como principiante soy incapaz de identificar dónde puede estar el error aparente, así que espero que pueda responder con una solución o corrección, ya que espero implementar el análisis de regresión en mis futuros EA.
Gracias por su consideración y su forma encantadora de enseñar con el ejemplo.
Saludos cordiales,
Bryan
¿Cómo modifico el LotSize (o mejor aún, cómo implemento la gestión monetaria)?
Que tenga un buen día
Hombre no se me había ocurrido usar los comentarios para seguir posiciones, pero es un algoritmo tan sencillo que no puede fallar, me gusta, gracias por la sugerencia. De lo contrario, los números mágicos están bien cubiertos en la API MQL5, sólo tiene que pulsar F1 en su IDE y luego buscar, o buscar en línea o en foros, está bien cubierto.
Dinero De lo contrario, los números mágicos están bien cubiertos en la API MQL5, sólo tiene que pulsar F1 en su IDE y luego buscar, o buscar en línea o en foros, está bien cubierto. la gestión del dinero, ahora se ha cubierto en nuestra serie de artículos.
Hola, ¡qué bien!
Vi estas líneas.
¿Cómo resolver este problema?
¿Alguien ha encontrado este problema también?
Hola Javier, ya sabes que estamos en un viaje de aprendizaje permanente en nuestra comunidad, por lo que he aprendido en el tiempo que ha pasado desde que escribí este artículo diría que la implementación no es estable, revisaré este artículo y lo actualizaré con soluciones más estables numéricamente. diría que la implementación no es estable, revisaré este artículo y lo actualizaré con soluciones numéricamente más estables. Afortunadamente para nosotros, existen soluciones compactas que podrían resolver fácilmente en una línea, lo que hice en todo este artículo, si tan sólo supiera en ese entonces, lo que sé ahora.
Gracias por su consideración y palabras bonitas.
Saludos cordiales, Bryan
Hola Bryan, tu preocupación es material. Ten por seguro que no es culpa tuya, el algoritmo que implementé en este artículo es un buen comienzo, sin embargo no es estable. Actualizaré este artículo con soluciones estables, que son notablemente más fáciles de implementar.