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

 
2023.03.01,00:00:00.800,6.001640530494182

Si se trata de un incremento, ¿en qué unidades?

 
fxsaber #:

Si se trata de un incremento, ¿en qué unidades?

Esto ya está convertido a precios

He añadido un número positivo a toda la serie (+6,0) para que sea mayor que cero. Parece que los símbolos personalizados no digieren los valores negativos

No prestes atención al "cierre" en la pantalla, son ticks.


 
No sé cómo ocurre que las series aleatorias muestran a menudo estructuras ordenadas como penta-ondas, con anidadas dentro también penta-ondas, como en la pantalla de arriba. Entonces podemos rechazar toda la teoría de Elliott :)

¿Autosimilitud en el movimiento browniano?

Lo mismo con los "niveles"

 
Maxim Dmitrievsky #:
No sé cómo ocurre que las series aleatorias muestren a menudo estructuras ordenadas como las ondículas de cinco ondas, con ondículas de cinco ondas anidadas en su interior, como en la pantalla de arriba.

Seguro que has visto esos patrones en los televisores soviéticos sin antena.

 
fxsaber #:

Seguro que también has visto patrones en televisores soviéticos sin antena.

Nah, sólo en la alfombra

 
Maxim Dmitrievsky #:
Ya se ha convertido a precios
#property script_show_inputs
#property link "https://www.mql5.com/ru/forum/86386/page3220#comment_49180634"

// https://www.mql5.com/ru/forum/86386/page3216#comment_49148211
input string inFileName = "Ticks.bin";

// https://www.mql5.com/ru/forum/86386/page3220#comment_49180488
input string inFileNameGenerator = "TicksGM1.csv";

void SetAvgPrice( MqlTick &Tick, const double Price )
{
  const double Spread = (Tick.ask - Tick.bid) / 2;
  
  Tick.bid = NormalizeDouble(Price - Spread, 5);
  Tick.ask = NormalizeDouble(Price + Spread, 5);
}

void OnStart()
{
  const int Handle = FileOpen(inFileNameGenerator, FILE_READ | FILE_ANSI);
  
  if (Handle != INVALID_HANDLE)
  {
    MqlTick Ticks[];
    const int Size = (int)FileLoad(inFileName, Ticks);

    int Amount = 1;

    while (!FileIsEnding(Handle))
      // https://www.mql5.com/ru/forum/86386/page3220#comment_49180613
      SetAvgPrice(Ticks[Amount++], (double)StringSubstr(FileReadString(Handle), StringLen("2023.03.01,00:00:00.800,")));
      
    FileClose(Handle);
    
    Ticks[0] = Ticks[1];    
    ArrayResize(Ticks, Amount);
    
    FileSave(inFileNameGenerator + ".bin", Ticks);
  }    
}

Añadido el diferencial real.


 
fxsaber #:

He añadido propagación real.

Puedo subir otras generaciones más tarde, si es necesario, con otros parámetros.
 
fxsaber #:

Añadido un diferencial real.

Resultado de la optimización.

Comparar con el original. En general, no funcionó aquí.


ZЫ Curiosamente, el gráfico de optimización se aproxima al marco temporal H2 mostrado arriba.

Проверка обратного времени.
Проверка обратного времени.
  • 2023.09.03
  • www.mql5.com
Мною была поставлена задача разобраться в причинах получения прибыли определенной ТС (торговая система). Для этого требовалось изучить историю котировок, подтвердив или опровергнув возникающие
 
Maxim Dmitrievsky #:
Puedo subir otras generaciones más adelante, si es necesario, con parámetros diferentes.

He publicado los scripts, así que no hace falta que inventes nada tú mismo para probar nuevos datos.

 
fxsaber #:

De todos modos, no funcionó aquí.

La pantalla muestra que hay 10-20 veces más ofertas (casi 20K). Algunos ajustes de generación son, obviamente, grial. Al parecer, hace que el Avg-precio fluctúan mucho.