L'apprendimento automatico nel trading: teoria, modelli, pratica e algo-trading - pagina 3221

 

I timestamp non sono gli stessi dell'originale. MQ-demo non è interessante.

 
fxsaber #:

I timestamp non corrispondono a quelli originali. MQ-demo non è interessante.

https://disk.yandex.ru/d/Rc3uOON6M_IAYw

TicksG2.csv.zip
TicksG2.csv.zip
  • disk.yandex.ru
Посмотреть и скачать с Яндекс Диска
 
2023.03.01,00:00:00.800,6.001640530494182

Se si tratta di un incremento, in quali unità?

 
fxsaber #:

Se si tratta di un incremento, in quali unità?

Questo è già stato riconvertito in prezzi

Ho aggiunto un numero positivo all'intera serie (+6,0) per renderla maggiore di zero. Sembra che i simboli personalizzati non digeriscano i valori negativi.

Non prestare attenzione a "close" sullo schermo, si tratta di ticks.


 
Non so come sia possibile che le serie casuali mostrino spesso strutture ordinate come le penta-onde, con all'interno anche penta-onde annidate, come nella schermata qui sopra. Allora possiamo rifiutare l'intera teoria di Elliott :)

Autosimilarità nel moto browniano?

Lo stesso con i "livelli"

 
Maxim Dmitrievsky #:
Non so come sia possibile che le serie casuali mostrino spesso strutture ordinate come le cinque ondine, con cinque ondine annidate all'interno, come nello schermo qui sopra.

Avrete visto questi schemi nei televisori sovietici senza antenna.

 
fxsaber #:

Probabilmente avrete visto modelli anche nei televisori sovietici senza antenna.

No, solo sul tappeto

 
Maxim Dmitrievsky #:
Questo è già stato riconvertito in prezzi
#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);
  }    
}

Aggiunto lo spread reale.


 
fxsaber #:

Ho aggiunto la diffusione reale.

Se necessario, posso caricare in seguito altre generazioni con altri parametri.
 
fxsaber #:

Aggiunta di un vero e proprio spread.

Risultato dell'ottimizzazione.

Confronto con l'originale. In generale, qui non ha funzionato.


ZЫ È interessante notare che il grafico di ottimizzazione è vicino al timeframe H2 mostrato sopra.

Проверка обратного времени.
Проверка обратного времени.
  • 2023.09.03
  • www.mql5.com
Мною была поставлена задача разобраться в причинах получения прибыли определенной ТС (торговая система). Для этого требовалось изучить историю котировок, подтвердив или опровергнув возникающие