Функциональные возможности торгового робота можно разделить на несколько разделов:

ВХОД В ПОЗИЦИЮ

Вход в позицию может осуществляться несколькими способами:

Настройки по всей позиции

  • Тип открытия по уровню (стандартный или по пересечению)

  • Максимальное число контрактов по всей позиции (ограничение)

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

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

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

  • Возможность при смене статуса уровня закрыть открытые по данному уровню контракты (закрытие 1 купленного уровня внутри позиции в любой момент по текущей цене).

Настройки по каждому уровню

  • Расстояние между уровнями для их генерации (шаг)

  • Размер профита по уровню

  • Статус создаваемого уровня (включенный или выключенный)

  • Направление торговли

  • Число контрактов

  • Число срабатываний по уровню в день (можно поставить неограниченно)

Число уровней в роботе не ограниченно.

  • Стандартный режим. Уровень покупается, если текущая цена ниже (для Лонга) или выше (для Шорта) указанного уровня. Таким образом если текущая цена ниже (для Лонга) или выше (для Шорта) нескольких включенных уровней, то купятся все эти уровни сразу, а закрываться каждый уровень будет уже по рассчитанному относительно уровня профиту. Данный режим удобен, если вы рассчитываете, что цена от текущего уровня дойдет до некой цели, а по дороге к ней позиция будет частично закрываться и переоткрываться по более лучшей цене в рамках локальных коридоров формируя дополнительную прибыль. При этом уровни ставятся от уровня цели и до максимальной просадки.
  • Режим по пересечению. Уровень покупается, если текущая цена пересекает указанный уровень в любую сторону. В этом режиме после включения робот будет увеличивать позицию только по тем уровням, по которым произошло пересечение ценой с момента включения робота, закрываться каждый уровень будет по рассчитанному относительно уровня профиту. Данный режим используется например для хэджирования опционов, когда пользователю важно увеличивать позицию на заданное число контрактов по точному значению. При этом уровни ставятся от уровня цели и до максимальной просадки, но при включении робот не покупает ни 1 уровня.

Оптимизация работы робота по увеличению позиции по уровням и закрытию уровней в профит по методу Хука-Дживса (Hooke — Jeeves).

Метод Хука — Дживса (англ. Hooke — Jeeves, Pattern search) так же, как и алгоритм Нелдера — Мида, служит для поиска безусловного локального экстремума функции и относится к прямым методам, то есть опирается непосредственно на значения функции. Для рассматриваемой стратегии интерес представляет не поиск локального экстремума функции, а сам процесс поиска. Важными параметрами (влияющими на просадку счёта, объем задействованного депо, скорость выхода в плюс позиции) являются число контрактов входа в позицию по каждому расчетному уровню и ширина шага входа, а на размер дохода влияет размер профита по уровню и число контрактов выхода из позиции по каждому расчетному уровню. Оптимального значения данных параметров не существует, поскольку рынок обязательно изменится. Для адаптации расчетного значения цены, по которой робот увеличивает позицию по уровням или закрывает уровни был взят принцип метода Хука-Дживса.
В основе данного принципа лежит изменение шага при движении к оптимальному значению. Для данной стратегии оптимальное значение – это точка разворота, а шаг – это расстояние между уровнями. Если цель метода Хука-Дживса заключается в том, чтобы найти оптимальное значение (экстремум — минимум или максимум) как можно быстрее (за меньшее число шагов), то для данной стратегии – дойти до точки разворота с минимальным затраченным капиталом или максимальным доходом.

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

Позиционный комплексный торговый робот Интерактивная сетка для QUIK Метод Хука-Дживса

На представленном рисунке видно, что при однонаправленном движении против позиции робот начинает ставить запрет на увеличение позиции по уровню с пропуском сначала 1 шага, потом 2, потом 3 и т.д. по нарастающей. В результате на 11 уровней робот использовал то же число контрактов, но при этом улучшил среднеэффективную цену позиции, что ведет и уменьшению просадки и увеличению прибыли.

Ниже представлен другой пример, уже с коррекцией, которая произошла в промежутке между большими шагами

Позиционный комплексный торговый робот Интерактивная сетка для QUIK Метод Хука-Дживса

Слева на рисунке на десятой зоне цена развернулась и пробила 9-ю зону. При условии, что размер профита равен шагу, робот зафиксирует прибыль по 10 уровню, а потом заново по нему увеличит позицию. По методу Хука-Дживса ближайшее увеличение должно было состояться на 11 уровне, но цена до него не дошла, поэтому идет увеличение позиции на 9 уровне (сразу на 2 уровня — 8 и 9), далее идет сброс счетчика и расчет начинается с 1 шага. Несмотря на то, что было упущено закрытие 1 уровня в профит, среднеэффективная цена все равно ниже, чем при стандартном режиме.

Данный метод может показать более худший результат только в узком боковике (когда робот не успевает набрать уровни после пропуска), но это частный случай, который не увеличивает риски стратегии. Зато выигрыш при трендовом движении значительно превосходит упущенные профитные сделки в узком боковике.

Закрытие в профит уровней осуществляется точно по такому же принципу.

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

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

Расчеты показывают (по 6 уровням), что если в стандартном режиме, линейно наращивая объем (по 1 контракту на уровень, всего задействовано 6 контрактов), средняя цена входа снижена на 25%, то в методе Мартингейла за счет прогрессивного увеличения числа контрактов (1, 2, 4, 8, 16, 32, всего задействовано 63 контракта) средняя цена входа снижается на 41%. С использованием принципов из метода Хука-Дживса снижение цены входа составляет 32% и не требует увеличения числа контрактов в расчете на каждый уровень (всего задействовано те же 6 контрактов).