fxsaber
fxsaber личный блог
02 марта 2020, 00:08

Инверсирование времени

В комментариях было предложено подумать над поведением ТС после инверсирования времени — тики идут в обратном направлении (из будущего в прошлое), будто включили перемотку назад.

Там же можно было почитать, на каких символах инверсирование может не влиять на результат ТС, а для каких — это серьезное изменение рыночных закономерностей.

К счастью, форекс-символы не должны в теории уничтожать рыночные закономерности при таком инверсировании времени. Мне стало интересно это проверить на одной из своих ТС.

Сначала код инверсирования тикового ряда на MQL5.

int TimeDayOfWeek( const datetime Date )
{
  MqlDateTime mTime;
  
  TimeToStruct(Date, mTime);
  
  return(mTime.day_of_week);
}

#define HOUR 3600
#define DAY (24 * HOUR)
#define WEEK 7

// https://www.mql5.com/ru/forum/170953/page8#comment_6940794
datetime GetTimeDayOfWeek( const datetime TimeSource, const int Shift = 0, const ENUM_DAY_OF_WEEK Day = SUNDAY )
{
  const datetime Res = TimeSource / DAY * DAY;
  
  return(Res - (((WEEK + (TimeDayOfWeek(Res) - Day)) % WEEK) + Shift * WEEK) * DAY);
}

void ReverseTick( MqlTick &Tick, const long &Offset )
{
  Tick.time_msc = Offset - Tick.time_msc;
  Tick.time = (datetime)(Tick.time_msc / 1000);
  
  return;
}

// Инверсирование времени.
void ReverseTicks( MqlTick &Ticks[] )
{
  const int Size = ArraySize(Ticks);
  
  if (Size)
  {
    const long Offset = (long)(GetTimeDayOfWeek(Ticks[0].time, 0, MONDAY) + GetTimeDayOfWeek(Ticks[Size - 1].time, -1, SATURDAY)) * 1000;

    for (int i = 0; i < Size; i++)
      ReverseTick(Ticks[i], Offset);

    ArrayReverse(Ticks);
  }

  return;  
}

На основе этой функции прикреплен скрипт, который создает инверсированный символ. С ним и будем работать. Результаты такие.


Лучший проход Оптимизатора на прямом символе.
Инверсирование времени


Этот же проход на инверсированном по времени символе.
Инверсирование времени

Без выводов.


Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.

11 Комментариев
  • Auximen
    02 марта 2020, 00:41
    )) Вчера как раз отличную статью здесь приводили по вашей теме: https://zen.yandex.ru/media/the_world_is_not_easy/300-let-v-iskajennoi-realnosti-5df74a43aad43600affce4d0
  • VladMih
    02 марта 2020, 22:33
    Для более корректного сравнения надо было бы взять лучший проход оптимизатора на «обратных» данных.
    Но если и так сработало — совсем гуд.

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн