Блог им. ab_trader

Как выдержать мин количество сделок при генетической оптимизации в Ами

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

Для себя  я нашел такое решение — посчитал новую метрику modified Recovery Factor (я обычно по нему оптимизирую): если количество трейдов меньше 50, то приравнял его -1, иначе он равен Recovery Factor по расчетам ами. Теперь, если этот modified Recovery Factor использовать в качестве цели оптимизации, то получим наборы параметров, которые дают не менее определенного количества сделок за период оптимизации.

Код, показанный ниже, надо просто добавить в конце afl скрипта стратегии:

TotalTrades = 0; 
SetCustomBacktestProc(""); 
if (Status(«action») == actionPortfolio) 

   bo = GetBacktesterObject(); //  Get backtester object 
   bo.Backtest(); //  Run backtests 

   stats = bo.GetPerformanceStats(0); //  Get Stats object for all trades 
   for (trade = bo.GetFirstTrade(); trade; trade = bo.GetNextTrade()) 
   { 
      TotalTrades++; 
   } 
   for (trade = bo.GetFirstOpenPos(); trade; trade = bo.GetNextOpenPos()) 
   { 
      TotalTrades++; 
   }    
   modRF = stats.GetValue(«RecoveryFactor»); //  Calculate new metric 
   if (TotalTrades < 50)  // Минимальное количество сделок — 50
   { 
      modRF = -1; 
   } 
   bo.AddCustomMetric(«modRF», modRF); 
   bo.AddCustomMetric(«TotalTrades», TotalTrades); 
}
 
Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
289 | ★5
7 комментариев
Огромное спасибо за код!
avatar
День добрый.
avatar
Добрый день, Вы давеча генетическую оптимизацию в Ами упомянули. А я искал-искал таковую и не обнаружил вовсе. Где и как ее выискивать? Заранее признателен
avatar
bocha, OptimizerSetEngine(«cmae») (например)
amibroker.com/guide/afl/afl_view.php?id=359
www.amibroker.com/guide/h_optimization.html
avatar
Трудно мне здесь что-либо формулировать. Постоянно завершается процесс. Скайп Bochav мэйл 7805557@mail.ru
avatar
у меня ошибку выдает почему-то?
avatar

Читайте на SMART-LAB:
Фото
Индикатор NRTR в OsEngine: формулы расчёта, сигналы и бесплатный робот. Видео.
В этом видео разбираем индикатор NRTR (Nick Rypock Trailing Reverse). Это инструмент, который одновременно работает как трендовый фильтр и как...
Обновление кредитных рейтингов в ВДО и розничных облигациях (МФК Быстроденьги подтвержден на уровне ruBB | ЭкономЛизинг подтвержден на уровне ruBBB- | КЛВЗ Кристалл рейтинг на пересмотре)
🔴ООО «Альфа Дон Транс» НРА понизило кредитный рейтинг ООО «Альфа Дон Транс» до уровня «CC|ru|» по национальной рейтинговой шкале для...
Фото
🥪 Казалось бы, как могут быть связаны между собой хакерская группировка и урожай сахарного тростника? Напрямую!
В историю попала компания Mackay Sugar Limited — один из крупнейших и старейших (более 140 лет на рынке) австралийских производителей сахара. Она...
Фото
Размещение облигаций Атомэнергопрома в долларах и юанях: интересно ли поучаствовать?
10 июля Атомэнергопром соберет заявки на выпуски облигаций в долларах сроком 2,5 года и в юанях сроком 1,5 года. Объемы будут определены после...

теги блога ab_trader

....все тэги



UPDONW
Новый дизайн