fxsaber
fxsaber личный блог
03 февраля 2020, 01:11

Обход несистемных убытков/прибылей при Оптимизации ТС

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

Некоторые обходят их через данные о новостях — не торгуют там в Оптимизаторе. Это неплохое решение.

Когда же нет календаря новостей, то пробуют вычислить лебедей через анализ истории котировок. Тут уже нет универсального решения, т.к. нужно подстраиваться под особенности своей ТС.

Наконец, есть еще вариант обхода уток, когда не хочется возиться ни с одним из способов: просто выбросить самые убыточные/прибыльные сделки. А для остальных посчитать прибыльность, просадку и т.д.

Добавил такой фильтр в библиотеку. Его можно применять в качестве критерия Оптимизации ТС подобным образом.

sinput int inMinTrades = 500;   // Минимальное количество трейдов (позиций)
sinput int inMaxTrades = 2000;  // Максимальное количество трейдов (позиций)

#include <fxsaber\OnTesterCustom\OnTesterCustom.mqh> // https://www.mql5.com/ru/code/27714

sinput double inMarkup = 20;    // Комиссия на миллион (одна сторона)
sinput double inRisk = 0.5;     // Фиксированный риск
sinput double inFilter = 1;     // Сколько процентов фильтруем

double OnTester()
{
  double Res = 0;
  
  if ((TesterStatistics(STAT_TRADES) >= inMinTrades) && (TesterStatistics(STAT_TRADES) <= inMaxTrades))
  {
    ONTESTERCUSTOM OnTesterCustom(_Symbol);
   
    OnTesterCustom.Filter(inFilter / 100); // Применили фильтр сделок.
    
    Res = NormalizeDouble(OnTesterCustom.TesterStatistics(ONTESTERCUSTOM_GAIN, inRisk, inMarkup), 2);
  }
  
  return(Res);
}

Можно посмотреть, как меняется прибыльность ТС от размера фильтра.
Обход несистемных убытков/прибылей при Оптимизации ТС

Однако, минус такого подхода, что не получается обойти серии мелких сделок, которые в совокупности дают лебедя. Например, случай, когда флетовая ТС попадает на новость, где цена сильно мечется в обе стороны, но при этом далеко не улетает. Так получается несистемная итоговая высокая прибыль из множества сделок. И этот результат может не дать правильно подстроить ТС под рыночные закономерности во время Оптимизации. Соответственно, оценить потенциал торговой логики.




7 Комментариев
  • Пафос Респектыч
    03 февраля 2020, 01:14
    Нужно анализировать случайные выборки из сделок.
      • Пафос Респектыч
        03 февраля 2020, 01:35
        fxsaber, ну так если немного вдуматься, то эта самая фитнесс-функция, как бы её значения ни рассчитывались — они случайные. То есть это не одна чиселка в каждом конкретном случае, а некоторое распределение, с матожиданием и дисперсией. Вы паритесь, что оценка этого распределения по всего одному значению может быть далековата от истины, особенно если известно, что дисперсия может быть не пренебрежимо мала ))
          • Пафос Респектыч
            03 февраля 2020, 09:36
            fxsaber, да какая в общем разница? Что так случайные числа, что эдак.
  • Daniil
    16 февраля 2021, 13:20

    fxsaber — это рекламщик компании раннфорекс.

    он на этом форуме исключительно для того, чтобы рекламировать эту компанию. чтобы часть трейдеров с биржи на форекс перетянуть.

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

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