Обсуждение статьи "Популяционные алгоритмы оптимизации: Алгоритмы искусственной микро-иммунной системы (Micro Artificial immune system, Micro-AIS)" - страница 4
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Обсуждение статьи "Популяционные алгоритмы оптимизации: Алгоритмы искусственной микро-иммунной системы (Micro Artificial immune system, Micro-AIS)"
fxsaber, 2024.01.21 01:38
У IWO лучшие координаты не соответствуют возвращенному значению.
Затащил.
Насколько я понял, кастом-оптимизация делается только на графике терминала на одном ядре, а я говорил о многопоточной оптимизации в тестере (для алгоритма роя частиц я описывал в статье, для большинства прочих алгоритмов тоже должно быть можно по аналогии, т.к. как правило есть принцип деления задач на группы агентов). Но тестер виснет на самом примитивном примере (приводил тест выше), который в зародыше остановил идею.
Собрал и скомпилировал проект. Технически всё работает идеально, кроме алгоритма PSO, взятого здесь, от Станислава, выпали ошибки, поэтому его нет в логах, которые приведу ниже.
При просмотре исходников возник вопрос к количеству запусков FF, по умолчанию стоит 1000. Это очень мало, результаты будут не многим лучше рандомных. Штатный тестер выполнил 19968 запусков FF, поэтому я установил в исходнике значение 20000.
Я сделал 5 запусков оптимизации в штатном, в результатах отображается самый лучший из всех. В статьях используется 10 запусков оптимизации и выводится средний результат.
Далее, использовал ФФ Megacity, дискретную функцию наиболее приближённую к реальным дискретным задачам торговых стратегий (Hilly и Forest имеют гладкую поверхность и больше подходят для оценки способности работать в задачах МО).
Настройки в тестере:
Результаты оптимизации после 5 запусков:
Результаты кастомного запуска #1:
Результаты кастомного запуска #2:
Результаты кастомного запуска #3:
Жёлтым выделены результаты с 100% сходимостью.
При таком грубом шаге, как видим, может сойтись даже алгоритм RND. Но, достоверности результатам могут дать только многократные запуски (что делается в статьях) и рассмотрения средних результатов. Как видим, из выделенных не все сошлись многократно.
Выводы:
1. алгоритмы полностью себя проявляют только при многократных тестах (в единичных тестах результаты могут быть хорошими случайно).
2. возможности алгоритмов проявляется при многих переменных и с мелким шагом, иначе результаты стремятся к случайным (RND тому пример, который показал 100% сходимость в единичном тесте).
3. Количество запусков должно быть большим, что то около 10000 (к примеру, при популяции 50 количество эпох будет равно 10000/50=200, при 1000 запусков выходит только 20 эпох), чем меньше запусков FF, тем больше результаты стремятся к случайным по совершенно понятным причинам.
Результаты штатного с подсветкой по курсору, первая дала 0.666, а четвёртая дала максимальный 0.97. В списке результатов лучший показан 0.97.
Насколько я понял, кастом-оптимизация делается только на графике терминала на одном ядре, а я говорил о многопоточной оптимизации в тестере (для алгоритма роя частиц я описывал в статье, для большинства прочих алгоритмов тоже должно быть можно по аналогии, т.к. как правило есть принцип деления задач на группы агентов). Но тестер виснет на самом примитивном примере (приводил тест выше), который в зародыше остановил идею.
всё работает идеально, кроме алгоритма PSO, взятого здесь, от Станислава, выпали ошибки
Хорошо бы разобраться.
вот такие ошибки
вот такие ошибки
Возьмите TypeToBytes.mqh отсюда.