Discusión sobre el artículo "Aplicando el método de Montecarlo al aprendizaje por refuerzo" - página 2

 
Максим Дмитриевский :
Hola solo si

Por cierto, en esta versión que han programado todo en una matriz y por lo tanto no puedo hacer ningún cambio en el código o fácilmente experimentar con nada de mi propia :))))))

Si usted puede sugerir algo que hay que cambiar en el código para mejorar el rendimiento, entonces puedo probar yo mismo, porque tengo un montón de fórmulas matemáticas que se pueden implementar y probar en lugar de utilizar sólo el precio de cierre.

 
FxTrader562:

Por cierto, en esta versión has programado todo en una matriz, y por lo tanto no puedo hacer ningún cambio en el código o experimentar fácilmente con cualquier cosa por mi cuenta :))))))

Si usted puede sugerir algo que hay que cambiar en el código para mejorar el rendimiento, entonces puedo probar yo mismo, porque tengo un montón de fórmulas matemáticas para implementar y probar en lugar de sólo utilizar el precio de cierre.

Lo que puedo sugerir es cambiar cosas en el código yo mismo. Por lo general, estas son cosas no triviales basadas en la corriente de la conciencia y el aprendizaje profundo de la teoría de aprendizaje automático. Desgraciadamente, es mucho más rápido hacerlo uno mismo que explicarlo, partiendo de los fundamentos de la programación. Ya veo que este nivel está casi fuera del alcance de mucha gente, aunque esto es sólo el principio (no se trata de presumir, se trata de observar las reacciones de la gente). Así que sigue los artículos... y estudia matrices :)

 

Me ha sorprendido lo paralelas que son nuestras ideas y desarrollos. ¡Artículo muy útil!

Entiendo correctamente que para trabajar con predictores propios basta con hacer una modificación a este código:

//+------------------------------------------------------------------+
//| Calcular Tsignal|
//+------------------------------------------------------------------+
void calcTsignal() {
   Tsignal=0;
   for(int i=0;i<ArraySize(ag1.agent);i++) {
      CopyClose(_Symbol,0,1,ArraySize(ag1.agent[i].inpVector),ag1.agent[i].inpVector);
      ArraySetAsSeries(ag1.agent[i].inpVector,true);
     }
   Tsignal=ag1.getTradeSignal();
  }
 
Aleksey Vyazmikin:

Me ha sorprendido lo paralelas que son nuestras ideas y desarrollos. Un artículo muy útil.

Entiendo correctamente que para trabajar con predictores propios basta con hacer una modificación a este código:

si, para cada predictor individual un elemento del array

 

Hola, ¿dónde puedo conseguir este archivo?

//+------------------------------------------------------------------+
//|RL Monte Carlo.mqh ||
//|Copyright 2018, Max Dmitrievskiy ||
//| https://www.mql5.com/es/users/dmitrievsky |
//+------------------------------------------------------------------+
#property copyright "Copyright 2018, Max Dmitrievskiy"
#property link      "https://www.mql5.com/es/users/dmitrievsky"
#include <Math\Alglib\dataanalysis.mqh>
#include <Math\Alglib\alglib.mqh> 
#include <MT4Orders.mqh>
sinput int      OrderMagic=666;
 
Alexander Fedosov:

Hola, ¿dónde puedo conseguir este archivo?

hola, https://www.mql5.com/es/code/16006

esta es la libreria original de fxsaber, olvide mencionarlo. Hay un enlace en el artículo anterior.

MT4Orders
MT4Orders
  • www.mql5.com
Данная библиотека позволяет работать с ордерами в MQL5 (MT5-hedge) точно так же, как в MQL4. Т.е. ордерная языковая система (ОЯС) становится идентичной MQL4. При этом сохраняется возможность параллельно использовать MQL5-ордерную систему. В частности, стандартная MQL5-библиотека будет продолжать полноценно работать. Выбор между ордерными...
 

Se seleccionan los predictores uno a uno y luego se toman los 5 mejores.
El hilo del foro "Machine Learning in Trading: Theory and Practice (Trading and Beyond)" comenzó con un ejemplo de que los predictores pueden ser decisivos en interrelación unos con otros. Es cierto que el ejemplo era artificial.

Pero en los artículos de Vladimir Perervenko había ejemplos con identificación de predictores interactuantes en datos reales. Por desgracia, su detección es muy costosa desde el punto de vista computacional.

 
elibrarius:

Se seleccionan los predictores uno a uno y luego se toman los 5 mejores.
El hilo del foro "Machine Learning in Trading: Theory and Practice (Trading and Beyond)" comenzó con un ejemplo de que los predictores pueden ser decisivos en interrelación unos con otros. Sin embargo, el ejemplo era artificial.

Pero en los artículos de Vladimir Perervenko había ejemplos con identificación de predictores interactuantes en datos reales. Por desgracia, su detección es muy costosa desde el punto de vista computacional.

¿Existe algún método para identificar grupos de predictores que no sea una enumeración completa?

 
elibrarius:

Se seleccionan los predictores uno a uno y luego se toman los 5 mejores.
El hilo del foro "Machine Learning in Trading: Theory and Practice (Trading and Beyond)" empezaba con un ejemplo de que los predictores pueden ser decisivos en interrelación unos con otros. Sin embargo, el ejemplo era artificial.

Pero en los artículos de Vladimir Perervenko había ejemplos con identificación de predictores interactuantes en datos reales. Por desgracia, su detección es muy costosa desde el punto de vista computacional.

En cualquier recombinación de características, su importancia raramente cambia (casi no cambia). En el caso de construir otros nuevos a partir de los originales, sí puede ser complejo computacionalmente. He aquí un ejemplo sencillo, pero bastante eficiente y que realmente selecciona buenas características

Normalmente es incluso más trivial: a mayor varianza, mayor importancia; todas las características se ordenan por varianza. Por eso este ejemplo funciona bien.
 
Aleksey Vyazmikin:

¿Existe algún método para identificar los grupos predictores que no sea una enumeración completa?

Mira los artículos anteriores de Vladimir (2º o 3º) donde en uno de los paquetes de R se determinaba usando andamiaje. Llevaba mucho tiempo calcularlo (muchas veces más que el entrenamiento del NS principal), ya fuera una búsqueda completa o alguna genética - deberías mirar en la documentación del paquete.
Lo más probable es que se haya optimizado de alguna manera.