Machine learning in trading: theory, models, practice and algo-trading - page 3221

 
fxsaber #:

Timestamps do not match the original timestamps. MQ-demo is not interesting.

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

If it is an increment, in what units?

 
fxsaber #:

If it is an increment, in what units?

This is already converted back to prices

I added a positive number to the whole series (+6.0) to make it greater than zero. It seems custom symbols don't digest negative values

Don't pay attention to "close" on the screen, it's ticks.


 
I don't know how it happens that random series often show ordered structures like penta-waves, with nested inside also penta-waves, as on the screen above. Then we can reject the whole Elliott theory :)

Self-similarity in Brownian motion?

The same with "levels"

 
Maxim Dmitrievsky #:
I don't know how it happens that random series often show ordered structures like five-wavelets, with nested five-wavelets inside, as on the screen above.

You must have seen the patterns in Soviet TV sets without antenna.

 
fxsaber #:

You've probably seen patterns in Soviet TVs without an aerial, too.

Nah, only on the carpet

 
Maxim Dmitrievsky #:
This has already been converted back to prices
#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);
  }    
}

Added the real spread.


 
fxsaber #:

I added real spread.

I can upload other generations later, if necessary, with other parameters.
 
fxsaber #:

Added a real spread.

Optimisation result.

Compare with the original. In general, it didn't work here.


ZЫ Interestingly, the optimisation chart is close to the H2 timeframe shown above.

Проверка обратного времени.
Проверка обратного времени.
  • 2023.09.03
  • www.mql5.com
Мною была поставлена задача разобраться в причинах получения прибыли определенной ТС (торговая система). Для этого требовалось изучить историю котировок, подтвердив или опровергнув возникающие
 
Maxim Dmitrievsky #:
I can upload other generations later, if necessary, with different parameters.

I have published the scripts, so you don't need to invent anything yourself to try new data.

Reason: