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

 
Vizard_:

Solíamos ser amigos).

¡¡¡¡¡Hace mucho tiempo!!!!! Ahora me interesan cuestiones de carácter más global. De importancia mundial.... ¡¡¡¡¡DOMINACIÓN OOHAHAHAHAHAHAHAHAHAHAHA!!!!!


¿Asustado?

 
FxTrader562:

Vale, creo que lo he entendido hasta cierto punto. ¿Has implementado ya el código MQL5 y lo has probado?

Mi principal problema es que todavía no tengo 100% claro cómo alimentar los datos de precios en bruto a RDF que no sean los valores del indicador sin la lógica difusa basada en su artículo anterior.

Si me pueden decir cómo alimentar los datos de los precios en bruto sin utilizar la lógica difusa, entonces sería genial. Me refiero a la función "CalculateMamdani()" sin lógica difusa. Si no, tendré que esperar a que publique su próximo artículo.

sí, pero sin gmdh... No sé cómo hacerlo mejor.

double CalculateMamdani()
  {
   CopyBuffer(hnd1,0,0,1,arr1);
   NormalizeArrays(arr1);

   CopyBuffer(hnd2,0,0,1,arr2);
   NormalizeArrays(arr2);

   CopyBuffer(hnd3,0,0,1,arr3);
   NormalizeArrays(arr3);

   if(!random_policy)
     {
      vector[0]=arr1[0];
      vector[1]=arr2[0];
      vector[2]=arr3[0];

      CDForest::DFProcess(RDF,vector,RFout);
      updateNeutral.B(RFout[0]); res = RFout[0];

     }
   else
     {
      int unierr;
      updateNeutral.B(MathRandomUniform(0,1,unierr)); res = MathRandomUniform(0,1,unierr);
     }
   
   //Print(updateNeutral.B());
   firstTerm.SetAll(firstInput,arr1[0]);
   secondTerm.SetAll(secondInput,arr2[0]);
   thirdTerm.SetAll(thirdInput,arr3[0]);

   Inputs.Clear();
   Inputs.Add(firstTerm);
   Inputs.Add(secondTerm);
   Inputs.Add(thirdTerm);

   CList *FuzzResult=OurFuzzy.Calculate(Inputs);
   Output=FuzzResult.GetNodeAtIndex(0);
   double res=Output.Value();
   delete FuzzResult;

   return(res);
  }
Algo así... y eliminar toda la lógica difusa de EA
 
Vizard_:

De ninguna manera, no voy a dormir esta noche)))
Misha, archiva todo lo que tengas y envíalo a Maksim. Déjale que investigue.
Había muchas implementaciones allí, pero el número de neuronas se multiplicaba por 2,
no tienes que hacer eso. Estaba contando una de las investigaciones de los neurobiólogos...

No estoy buscando, lo encontraré.

 
Maxim Dmitrievsky:

sí, pero sin gmdh... No estoy seguro de cómo hacerlo mejor

Algo así... y eliminar toda la lógica difusa de EA

¡Muchas gracias!

¿Estás seguro de esta línea?

res = RFout [0];

¿O debería serlo?

res = RFout [1];

A propósito de la, yo de la ya intentó cada y cada combinación de fórmulas, matemáticas, matemáticas el pow, etc registra a la carpeta la actualización esta política y la actualización las funciones de la recompensa la, pero de alguna manera da de él de hasta ahora los resultados al azar. Quiero decir que los resultados no son siempre fiables.

Pero quiero probar las simulaciones de velas aleatorias que se utilizan como en "ALPHA ZERO". ¿Está seguro de que el RDF puede tomar los precios directos como el cierre de la vela, la apertura de la vela, etc durante la optimización?

 
Vizard_:

De ninguna manera, no voy a dormir esta noche)))
Misha, archiva todo lo que tengas y envíalo a Maxim. Deja que lo haga.
Había muchas implementaciones allí, pero el número de neuronas se multiplicaba por 2,
no tienes que hacer eso. Eso es lo que le dije a una de las investigaciones de los neurobiólogos...

No tiene ni idea... Lo haré yo mismo. Tardaré años en hacerlo :-) Pero estoy cerca del núcleo del optimizador. Digan lo que digan, 2-4 de cada 10 modelos son generalizados, el resto no lo son. Sé que el algoritmo permite obtener modelos generalizados. La calidad de la estimación debe mejorarse y aplicarse en el propio optimizador para que el porcentaje de modelos generalizados sea superior al 40%. Porque buscará entre los modelos hasta encontrar un modelo generalizado. O saltará sólo a los modelos generalizados buscando el mejor...... ¿Cuáles son las opciones para evaluar la generalizabilidad que usted conoce? ????

 
Maxim Dmitrievsky:

Nueva biblioteca:

Ejemplo de EA con precios cercanos:

Ahora puede aprenderlo en el probador (no en la optimización) y sólo 1 iteración

Copie y borre, luego estará en el artículo

¡¡¡¡¡¡¡¡¡¡¡Muchas gracias!!!!!!!!!!!

Copiado... Pero está mostrando algún error. ¿Debo incluir también la biblioteca mt5_r?

 
FxTrader562:

¡¡¡¡¡¡¡¡¡¡¡Muchas gracias!!!!!!!!!!!

Copiado... Pero está mostrando algún error. ¿Debo incluir también la biblioteca mt5_r?

¿mt5_r? no hay tal biblioteca

esta biblioteca#include <RL blender 1 iteration.mqh>

debe estar en la carpeta "include" de mt5

 
Maxim Dmitrievsky:

¿mt5_r? no hay tal biblioteca

Lo siento... Sí, lo tengo. He utilizado un nombre diferente para el archivo de inclusión.

Lo probaré y le haré saber los resultados.

Principalmente estoy más interesado en crear simulaciones de velas aleatorias para ver si el RDF puede realmente aprender de los patrones de precios de velas aleatorias.

 
FxTrader562:

Lo siento... Sí, lo tengo. He utilizado un nombre diferente para el archivo de inclusión.

Lo probaré y le haré saber los resultados.

Principalmente estoy más interesado en crear simulaciones de velas aleatorias para ver si el RDF puede realmente aprender de los patrones de precios de velas aleatorias.

Ok, si algún progreso con gdmh te escribo

 
Maxim Dmitrievsky:

Ok, si algún progreso con gdmh te escribo

A mí GDMH no me parece muy difícil de implementar si lo he entendido bien... Pero lo volveré a investigar

1.Se calcula cada polinomio tomando un bucle for y obteniendo la suma de la multiplicación de las entradas de coeficientes y valores indicadores como ai*xi

2.A continuación, alimenta el polinomio individual a la entrada RDF y lo entrena

3.A continuación, calcular el coeficiente óptimo mediante el método de los mínimos cuadrados

4.A continuación, iterar todo el proceso de forma continua durante el periodo de negociación

Si lo he entendido bien y si puedo ayudarte en algo, entonces puedes escribirme.

Por cierto, tengo buenos códigos de muestra para Lotoptimization() y money management() etc que pueden ser muy muy útiles si puedes conseguir la precisión y drawdown del sistema a un nivel razonable. El sistema no necesita ser 99% preciso todo el tiempo, pero el drawdown y las pérdidas consecutivas importan mucho.