Обсуждение статьи "Использование алгоритмов оптимизации для настройки параметров советника "на лету""

 

Опубликована статья Использование алгоритмов оптимизации для настройки параметров советника "на лету":

В статье рассматриваются практические аспекты использования алгоритмов оптимизации для поиска наилучших параметров советников "на лету", виртуализация торговых операций и логики советника. Данная статья может быть использована как своеобразная инструкция для внедрения алгоритмов оптимизации в торгового советника.

Мне часто задают вопросы о том, как применять алгоритмы оптимизации в работе с советниками и стратегиями в целом. В данной статье я хотел бы рассмотреть практические аспекты использования алгоритмов оптимизации.

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

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

Самооптимизация в торговом советнике — это процесс, при котором советник адаптирует свои параметры торговой стратегии для достижения лучшей производительности на основе исторических данных и текущих условий рынка.

Автор: Andrey Dik

 
Это что-то потрясающее. Скажите, а на Питоне такой алгоритм возможен? 
 

input string   InpKPeriod_P        = "18|9|3|24";  //STO K period:      it is necessary to optimize
input string   InpUpperLevel_P  = "96|88|2|98"; //STO upper level: it is necessary to optimize

Заметим, что параметры объявлены со строковым типом, параметры составные и включают в себя значения по умолчанию, стартовое значение оптимизации, шаг и конечное значение оптимизации.

Рекомендовал бы использовать MQ-формат такой строки.
input string   InpKPeriod_P     = "18||9||3||24||N";  //STO K period:      it is necessary to optimize
input string   InpUpperLevel_P  = "96||88||2||98||Y"; //STO upper level: it is necessary to optimize
 
Yevgeniy Koshtenko #:
Это что-то потрясающее. Скажите, а на Питоне такой алгоритм возможен? 
Да, конечно.
 
fxsaber #:
Рекомендовал бы использовать MQ-формат такой строки.
Да, можно и так, нужно добавить лишь проверку флагов в строковой записи параметров, дело хозяйское.
 

Видится неправильным наличие двух разных реализаций торговли - в реале и в виртуале - легко допустить неидентичность. По идее это должен быть один и тот же метод, вызываемый из OnTick напрямую с реальным окружением или из оптимизатора с виртуальным окружением.

И параллельности оптимизации все еще не хватает. Логично каждую группу/рой/и-прочую-аналогию-независимых-агентов запускать в отдельной копии эксперта, то есть выделенным потоком (для примера).

 
Stanislav Korotky #:

Видится неправильным наличие двух разных реализаций торговли - в реале и в виртуале - легко допустить неидентичность. По идее это должен быть один и тот же метод, вызываемый из OnTick напрямую с реальным окружением или из оптимизатора с виртуальным окружением.

И параллельности оптимизации все еще не хватает. Логично каждую группу/рой/и-прочую-аналогию-независимых-агентов запускать в отельной копии эксперта, то есть выделенным потоком (для примера).

Да, конечно, со всем согласен.

Но задача стояла показать действительно очень простой пример, доступный для широкого круга пользователей, в том числе и для тех, кто с программированием на Вы.

А так, конечно, в идеале нужна полная идентичность виртуалки и реала, да и параллелить всё можно легко, если обеспечена вся логика в виртуале.

 

Ну наконец-то, хороший пример прикладного применения ваших статей по оптимизации.

Спасибо. 

 
Aleksandr Slavskii #:

Ну наконец-то, хороший пример прикладного применения ваших статей по оптимизации.

Спасибо. 

Спасибо за внимание к моим статьям.
 
Правильное функционирование вашей разработки — отличная отправная точка, чтобы показать, куда должен идти искусственный интеллект (который, хотя и не имеет ничего общего с EA, поскольку это не нейронные сети и не самообучение), с логическим стратегия, и мы добавляем это, и это действительно выгодно, самооптимизация, это то, что приблизит нас к режиму человеческого интеллекта, потому что позволяет нам принимать решения в краткосрочной перспективе, и на основе того, что происходит в данный момент. момент, имеющий лучшие, мгновенные условия.
 

Интересная статья, она должна поднять интерес к серии публикуемых Вами статей!

Конечно, минусом предложенной реализации является отсутствие универсальности для применения подхода, т.е. необходимо полностью переписывать имеющийся советник и внедрять в него виртуальный тестер со множеством функций. Конечно, плюсом подхода является приемлемая скорость работы за счёт виртуальных индикаторов.

Пробовали ли Вы использовать не диапазоны графиков для оптимизации, а наборы таких уже ранее отобранных настроек для каждого индикатора\предиктора? Такой подход существенно сокращает область поиска, но, я так понимаю, что не все алгоритмы будут нормально работать, так как нет плавного изменения от параметра к параметру, или это не принципиально?

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

  • Портфельное управление. Алгоритмы оптимизации могут помочь определить оптимальное распределение активов в портфеле для достижения заданных целей. Например, можно использовать методы оптимизации, такие как средневзвешенная ковариационная матрица (Mean-Variance Optimization), для нахождения наиболее эффективного набора активов с учетом ожидаемой доходности и риска. Это может включать определение оптимального соотношения между акциями, облигациями и другими активами, а также оптимизацию размеров позиций и диверсификацию портфеля.
  • Выбор лучших торговых инструментов. Алгоритмы оптимизации могут помочь в выборе лучших торговых инструментов или активов для торговли. Например, можно использовать алгоритмы оптимизации для ранжирования активов на основе различных критериев, таких как доходность, волатильность или ликвидность.
Причина обращения: