Discusión sobre el artículo "Aplicando el método de Montecarlo al aprendizaje por refuerzo" - página 5
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 Maxim.
He estado jugando con el código y he introducido diferentes tipos de datos para los vectores de entrada de características. He probado con Close, Open, High, Low, Price Typical, Tick Volumes y derivados de éstos.
Estaba teniendo problemas con el optimizador de quejarse de "algún error después de que el pase completado", pero finalmente se las arregló para rastrear esto: los errores del optimizador se producen si los datos del vector de entrada tiene cualquier valor cero.
Cuando estaba construyendo una derivada, por ejemplo Close[1]-Close[2], a veces los valores cercanos son los mismos dando una derivada de cero. Para este tipo de valores vectoriales de entrada, la solución más sencilla era añadir una constante, por ejemplo 1000, a todos los valores vectoriales. Esto solucionaba los errores del optimizador y permitía que el RDF funcionara.
También he notado la consecuencia no deseada de ejecutar las mismas pruebas una y otra vez, la cantidad de ajuste de curvas aumenta para el período probado. A veces es mejor borrar los archivos RDF grabados y ejecutar la optimización de nuevo.
Sigo experimentando y tengo más ideas para otros tipos de funciones.
Gracias Maxim.
He estado jugando con el código e introducido diferentes tipos de datos para los vectores de entrada de características. He probado Close, Open, High, Low, Price Typical, Tick Volumes y derivados de estos.
Estaba teniendo problemas con el optimizador de quejarse de "algún error después de la pasada completa", pero finalmente logró rastrear esto: los errores del optimizador se producen si los datos del vector de entrada tiene cualquier valor cero.
Cuando estaba construyendo una derivada, por ejemplo Close[1]-Close[2], a veces los valores cercanos son los mismos dando una derivada de cero. Para este tipo de valores del vector de entrada, encontré que la solución más sencilla era añadir una constante, digamos 1000, a todos los valores del vector. Esto solucionaba los errores del optimizador y permitía que el RDF funcionara.
También he notado la consecuencia no deseada de ejecutar las mismas pruebas una y otra vez, la cantidad de ajuste de curvas aumenta para el período probado. A veces es mejor borrar los archivos RDF grabados y ejecutar la optimización de nuevo.
Sigo experimentando y tengo más ideas para otros tipos de funciones.
Hola, Mark. Depende del algoritmo de selección de características (en el caso de este artículo se trata de 1 característica/otra característica (utilizando los rendimientos de los precios) en la "función de eliminación recursiva"), por lo que si tienes "0" en el divisor puede producirse "algún error" si utilizas cl[1]-cl[2].
Sí, las diferentes ejecuciones del optimizador pueden diferir, porque se utiliza un muestreo aleatorio, también algoritmo aleatorio RDF. Para solucionar esto puede utilizar MathSrand(number_of_passes) en el experto OnInint() func, u otro número fijo.
Si, si reescribes toda la logica (RF include) en kernels open cl :) tambien random forest tiene la peor viabilidad de gpu y paralelismo
Hola Maxim, estaba mirando tu código. Me di cuenta de que a pesar de que los archivos con el mejor modelo, características y valores de los parámetros se guardan durante la optimización (" OFFLINE "). La política del agente de actualización y la recompensa del agente de actualización son también "OFFLINE" si decide ejecutar su EA, así que ¿cómo se actualizan las recompensas y la política, mientras que el EA se está ejecutando en vivo desde MQLInfoInteger (MQL_OPTIMIZATION) = = true en modo offline y cuando se ejecuta en una cuenta demo o real con su EA MQLInfoInteger (MQL_OPTIMIZATION) = = false . Me estoy perdiendo algo ????
Me he dado cuenta de que aunque los archivos con el mejor modelo, las características y los valores de los parámetros se guardan durante la optimización (" OFFLINE "). La política del agente de actualización y la recompensa del agente de actualización son también "OFFLINE" si decide ejecutar su EA, así que ¿cómo se actualizan las recompensas y la política, mientras que el EA se está ejecutando en vivo desde MQLInfoInteger (MQL_OPTIMIZATION) = = true en modo offline y cuando se ejecuta en una cuenta demo o real con su EA MQLInfoInteger (MQL_OPTIMIZATION) = = false . Me estoy perdiendo algo ????
Hola, la política y las recompensas no se actualizan en el comercio real, sólo es necesario para el aprendizaje de bosque aleatorio en el optimizador.
Se ha publicado un nuevo artículo sobre la aplicación del método de Montecarlo en el aprendizaje por refuerzo:
Autor: Maxim Dmitrievsky
hay este archivo que falta, " #include <MT4Orders.mqh> " y las fonctions parecen MT4 fonction.
Entonces, ¿es un experto MT4 o un experto MT5?
hay este archivo que falta, " #include <MT4Orders.mqh> " y las fonctions parecen MT4 fonction.
Entonces, ¿es un experto MT4 o un experto MT5?
Esta librería te permite usar el estilo de órdenes mt4 en mt5
https://www.mql5.com/ru/code/16006
ok gracias
incorrecto o obsoleto:
CRLAgent::getRDFstructure(void) { ......
correcto:
void CRLAgent::getRDFstructure(void) {......
¿Otra versión del compilador?
incorrecto o obsoleto:
CRLAgent::getRDFstructure(void) { ......
correcto:
void CRLAgent::getRDFstructure(void) {......
¿Otra versión del compilador?
Sí, han añadido una comprobación más estricta en la última versión.
Hola Maxim, gracias por tu trabajo, estaba tratando de probar tu código, sin embargo me muestra algunos errores en el archivo mq4 con el siguiente texto
getRDFstructure' - function already defined and has different type RL_Monte_Carlo.mqh 76 11
RecursiveElimination' - función ya definida y de tipo diferente RL_Monte_Carlo.mqh 133 11
updatePolicy" - función ya definida y de tipo diferente RL_Monte_Carlo.mqh 221 11
updateReward" - función ya definida y de tipo diferente RL_Monte_Carlo.mqh 236 11
setAgentSettings" - función ya definida y de tipo diferente RL_Monte_Carlo.mqh 361 12
updatePolicies' - función ya definida y de tipo diferente RL_Monte_Carlo.mqh 373 12
updateRewards' - función ya definida y de tipo diferente RL_Monte_Carlo.mqh 380 12
¿Sabes cómo resolver este problema?