Блог им. 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); 
}
 
276 | ★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:
Фото
AUD/NZD: быки вошли во вкус, подтягивая котировки к новым высотам
Кросс-курс AUD/NZD после пробоя локального уровня 1.1692 откатился к нему и сейчас активно «топчется», осваивая свежую поддержку. Также стоит...
Фото
Россети Урал. Отчет об исполнении инвестпрограммы за Q4 2025г. Считаем дивиденды!
Компания Россети Урал опубликовала отчет об исполнении инвестпрограммы за Q4 2025г., где показаны финансовые показатели компании по РСБУ в...
⚙️ Лензолото: закат "пустышки"
Акции Лензолота резко упали. Что происходит — рассказывают аналитики Market Power   Лензолото (LNZL) ➡️ Инфо и показатели     Возможно,...
Фото
Интер РАО. Неужели дивиденды будут минимальными за 3 года? Обзор производственных результатов и отчета РСБУ за Q4 2025г.
Вышел отчет по РСБУ за Q4 2025г. от компании Интер РАО: 👉Выручка — 15,49 млрд руб.(-14,0% г/г) 👉Себестоимость — 12,79 млрд руб.(-10,8%...

теги блога ab_trader

....все тэги



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