Блог им. Voldemar227

Усреднение — один из подходов, используемых в алгоритмической торговле. Если цена движется против открытой позиции, торговый робот может открыть дополнительные ордера по другим ценам. В результате меняется средняя цена входа, но одновременно увеличивается совокупный объём позиции.
Разберём, как это работает и почему при разработке советника важно учитывать не только первоначальную сделку, но и всю последовательность ордеров.
Как меняется средняя цена входаПредположим, алгоритм открыл покупку по цене 1,1000 объёмом 0,1 лота. Цена снизилась до 1,0950, и робот открыл вторую покупку объёмом 0,1 лота.
При одинаковых объёмах средняя цена входа двух позиций составит 1,0975 без учёта торговых издержек.
Если цена развернётся вверх, совокупная позиция сможет достичь безубыточности на другом уровне, чем первоначальная сделка без дополнительного ордера. Однако при дальнейшем снижении цены общий плавающий убыток может увеличиваться.
Что меняется в алгоритме?При усреднении робот должен решать несколько задач:
рассчитывать среднюю цену входа с учётом объёма каждого ордера;
отслеживать суммарный объём открытых позиций;
определять условия добавления новых ордеров;
рассчитывать условия закрытия всей торговой серии;
корректно обрабатывать ситуации, когда количество открытых позиций увеличивается.
Если объёмы ордеров различаются, обычное среднее арифметическое цен не подходит. Необходимо учитывать вес каждой позиции в общем объёме.
Почему важен шаг между ордерами?Шаг определяет, при каком изменении цены алгоритм открывает следующую позицию. При небольшом шаге новые ордера могут появляться чаще. При большом шаге структура серии будет другой.
Это влияет на количество открытых позиций, общий объём и результат при дальнейшем движении рынка. Если алгоритм дополнительно изменяет объём новых ордеров, поведение системы становится зависимым сразу от нескольких параметров.
Как правильно проверять такую стратегию?При тестировании советника недостаточно оценивать только первую сделку или итоговую прибыль. Следует изучать всю последовательность действий алгоритма:
Как меняется средняя цена входа после каждого нового ордера.
Как растёт совокупный объём позиции.
Сколько ордеров может накопиться при продолжительном движении цены против позиции.
При каких условиях закрывается вся серия.
Как результаты меняются на разных исторических периодах.
Для этого можно использовать тестер стратегий MetaTrader и анализировать не только итоговый финансовый результат, но и поведение алгоритма на протяжении всего теста.
На сайте Trading-Go публикуются материалы об устройстве торговых алгоритмов, разработке советников и работе с MetaTrader.
ВыводУсреднение меняет не только среднюю цену входа, но и всю логику управления позицией. Поэтому при разработке торгового робота важно оценивать взаимосвязь ордеров, изменение совокупного объёма и условия закрытия серии.
А вы при разработке алгоритмов предпочитаете фиксированный шаг между ордерами или динамический, зависящий от текущих условий рынка?