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

 
Maxim Dmitrievsky:

la tarea es hacer que las dos piezas sean indistinguibles (los mismos errores, etc.), en este contexto, la definición de lo que se menea en absoluto pierde todo el sentido

En realidad, tal vez tengas razón, la experiencia real sólo puede dar una respuesta objetiva en nuestro oficio)

 
FxTrader562:

Muestra un error: " Función de manejo de eventos no encontrada"

sin errores

 
FxTrader562:

 
FxTrader562:

En realidad, sería muy bueno si pudieras hacer algunos cambios aquí...

que cambia

 
FxTrader562:

En realidad, sería estupendo que cambiaras aquí:

Probé esto... pero no sabía si había hecho algo mal:

Por favor, vea el código y sugiera si podemos hacer algo similar para mejorar la expectativa de pips por operación

Mejor si te cambias aquí

//+------------------------------------------------------------------+
//|Get trade signal                                                  |
//+------------------------------------------------------------------+
double CRLAgent::getTradeSignal(double &featuresValues[])
  {
   if(!random_policy) {
      double kerfeatures[];
      ArrayResize(kerfeatures,ArrayRange(bestFeatures,0));
      ArrayInitialize(kerfeatures,0);
      
      for(int i=0;i<ArraySize(kerfeatures);i++) {
         kerfeatures[i] = featuresValues[0]/featuresValues[(int)bestFeatures[i][1]];
        }
            
      CLogit::MNLProcess(Lmodel,kerfeatures,Lout);
      return Lout[1];
     }
   else if(rand()/32767.0<0.5) return 0; else return 1;
  }

if(fast MA> slow MA)if(rand()/32767.0<0.8) return 0; else return 1;

if(fast MA< slow MA)if(rand()/32767.0<0.8) return 1; else return 0;

o algo así, cualquier indicador como filtro

 
Maxim Dmitrievsky:

Mejor si te cambias aquí

if (fast MA > slow MA) if ( rand () / 32767.0 < 0.8 ) return 0 ; else return 1 ;

if (fast MA < slow MA) if ( rand () / 32767.0 < 0.8 ) return 1 ;else return 0 ;

o algo así, cualquier indicador como filtro

Bueno, he intentado cambiar aquí... pero si se estropea algo con "Señales" se estropean todos los resultados...

 
FxTrader562:

Indicador que aún no he probado...

pero probé con " if ( rand () / 32767.0 < 0.8 )"...entonces, mostró un comportamiento aleatorio, porque aquí también hay que cambiar:

si filtras esto con MA, significa que él muestrea señales de compra o venta con 0.8 de probabilidad cuando la tendencia es alcista o bajista, por lo que las operaciones serán mucho más largas, no es necesario cambiar el filtro de señales

Pensaré en cómo mejorar la función de recompensa. Mañana )
 
Maxim Dmitrievsky:

Mejor si te cambias aquí

if(fast MA> slow MA)if(rand()/32767.0<0.8) return 0; else return 1;

if(fast MA< slow MA)if(rand()/32767.0<0.8) return 1; else return 0;

o algo así, cualquier indicador como filtro

parece hacer cosas similares (o llegar a conclusiones similares)

Aproximadamente "si los algoritmos deterministas pierden cuando hay falta de información (en un mercado que mejora), entonces podemos dejar que las probabilidades hagan el trabajo" :-)

 
Maxim Kuznetsov:

parecen hacer cosas similares (o llegar a conclusiones similares)

Estamos hablando de que "si los algoritmos deterministas pierden en condiciones de falta de información (en un mercado que mejora), entonces podemos dejar que las probabilidades hagan el trabajo" :-)

un poco diferente en este caso (preparación de los datos marcados para el entrenamiento NS), pero parece tan

la cuestión es cómo marcar mejor los datos de forma pseudo-aleatoria

 
FxTrader562:

Ok, veamos...))

En realidad, hasta ahora estoy obteniendo resultados bastante impresionantes en las pruebas retrospectivas:))

Pero el principal problema de las pruebas de avance:((((

tal vez nunca funcione bien :)