Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 3181

 
Aleksey Vyazmikin #:


Значит мой метод можно признать рабочим?

Ищу ошибку в коде после модификации

 
Aleksey Vyazmikin #:

Ищу ошибку в коде после модификации

Нет ошибки нет

 
fxsaber #:

Спасибо, попробую MathRand-приращения.

Aleksey Nikolayev #:

Наиболее универсальный - это наверняка Монте-Карло.

Похоже, у меня получилась интересная Random-генерация.

double GetAvgPrice( const MqlTick &Tick )
{
  return((Tick.bid + Tick.ask) / 2);
}

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

// Случайный знак приращения средней цены.
bool RandomPrice( MqlTick &Ticks[] )
{  
  const int Size = ArraySize(Ticks) - 1;
  
  if (Size > 0)
  {
    Print("Random price...");
    
    MqlTick PrevTick = Ticks[Size];
    double PrevPrice = GetAvgPrice(PrevTick);
    
    MathSrand((int)TimeLocal());
    
    for (uint i = Size; (bool)i--;)
    {
      const double Diff = GetAvgPrice(PrevTick) - GetAvgPrice(Ticks[i]);
      
      PrevTick = Ticks[i];

      SetAvgPrice(Ticks[i], PrevPrice += !(MathRand() & 1) ? Diff : -Diff);
    }
  }
  
  return(Size >= 0);
}

Сверху реальный символ, снизу - random.

RandomPrice можно применять итерационно. Спреды и время сохраняются.


Правильно было бы делать через логарифмирование, но не стал заморачиваться. Если допилить, то для Монте-Карло, возможно, наилучший вариант генерации random-символа с нужными стат. характеристиками.

 
fxsaber #:

для Монте-Карло, возможно, наилучший вариант генерации random-символа с нужными стат. характеристиками.

Проверка на вшивость одним и тем же сетом.

Сверху - real, снизу - random.

Провал.

 

Отличие в том, что ничего не ищется в результатах оптимизации. Т.е. первые пять результатов оптимизации ни разу до этого не запускались на OOS.

 

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Машинное обучение в трейдинге: теория, модели, практика и алготорговля

Valeriy Yastremskiy, 2023.08.17 10:44

Вроде логично, что вероятность ложных положительных и отрицательных результатов уменьшается, но по мне это не панацея от ошибок.

Считаете, что доверять модели train_optim + test_forward стоит больше, чем (train+test)_optim?

 
Aleksey Vyazmikin #:

Нет ошибки нет

Взял другую выборку - 47% единиц и примеров раз в 5 меньше - после пары проходов могу сказать, что находит много квантовых отрезков уже.

На что ещё обратил внимание, так на похожесть начальной целевой и генерированной - похожи на 49% - может тут надо какой то порог ставить - по похожести не более 30%? Есть какие то соображения?

Построил график - если совпадение "-1", если совпадения нет, то "+1", получился такой вот баланс.

Многовато на нём трендов, как думаете?

 
fxsaber #:

Сверху - real, снизу - random.

Сделал оптимизацию с одинаковыми настройками на реальном и на сгенерированном символе.


Real.


Random.


Не обучается на Random.

 
fxsaber #:

Сделал оптимизацию с одинаковыми настройками на реальном и на сгенерированном символе.


Real.


Random.


Не обучается на Random.

Сколько раз был сгенерирован рандом символ?) очевидно, что чем длиннее последовательность, тем больше раз его нужно сгенерировать, чтобы и на нем работало.
 
fxsaber #:

Отличие в том, что ничего не ищется в результатах оптимизации. Т.е. первые пять результатов оптимизации ни разу до этого не запускались на OOS.

Блин, я не знаю как по простому обяснить.. 

Вы вибирайте лучше варианты "руками" на ООС после оптимизации на тесте и это НЕ подгонка.. 

А если алгоритм выберет лучшие варианты на ООС после оптимизации то это уже подгонка..  Почему? 

Выбор лучшых вариантов/варианта из полного набора вариантов это и есть оптимизация.. И какая разница руками вы это делаете или алгоритмом. 

Возможно вы работали только с тестером в МТ и мыслите несколько шаблонно про саму оптимизацию и способы её применения,  потому у нас есть некое недопонимание


Причина обращения: