Как выдержать мин количество сделок при генетической оптимизации в Ами
Беда генетического оптимизатора в Ами в том, что он находит лучшие наборы параметров, не учитывая количество сделок. Приходится либо колдовать с границами параметров, либо увеличивать сроки оптимизации.
Для себя я нашел такое решение — посчитал новую метрику 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);
}
272 |
Читайте на SMART-LAB:
OsData и Тестер. Качаем слепки стаканов и запускаем тестер. Видео.
Сегодня будем учиться скачивать с биржи слепки стаканов и запускать на них тестер.
Видео предназначено для программистов, которые уже умеют...
Портфель Андрея Хохрина :) Своими словами
📱 vkvideo.ru/video-210986399_456244317
📱 youtu.be/bmtfG92q9ms Спасибо коллегам из РБК за площадку и возможность!
Телеграм:...
Отличная работа! Несмотря ни на что, аналитики Mozgovik Research проделали качественную работу в 2025 году👍
Конец года — время задуматься, какие акции могли принести наилучший результат. В этом году хороших акций было не так много, но мне приятно...
amibroker.com/guide/afl/afl_view.php?id=359
www.amibroker.com/guide/h_optimization.html