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

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

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

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

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

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

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

  • Возможность при включении робота делать активным только 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 контрактов).

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

Позволяет улучшить цену входа по каждому уровню за счет фильтра по индикатору.

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

Данный комплекс функциональности позволяет полностью автоматизировать процесс открытия и закрытия позиции по уровням с учетом фильтрующего индикатора по более выгодной цене (например Price Channel, Bollinger Bands, SMA, EMA, AMA, другие специфические индикаторы, которые позволяют входить на коррекциях локальных волн), при этом каждый уровень как и прежде будет закрываться по своему расчетному профиту. На представленной картинке показаны переносы точек входа по уровню из-за фильтра по индикатору (оранжевые пунктирные линии).

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

Пример: Вы добавили на график 100 уровней в Лонг, все уровни выключены. Текущая цена находится между 65 и 66 уровнем, при этом срабатывает фильтр на вход по индикатору в Лонг. Если в настройках стоит открыть 5 уровней, то робот включит уровни с 60 по 65 (нумерация идет сверху вниз) и тут же купит их по текущей цене.

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

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

Автоматический переворот позиции по трендовому индикатору. Работает в рамках модуля «Автоматическое Открытие/Закрытие позиции по глобальному индикатору». Позволяет при перевороте индикатора закрыть позицию, перевернуть все уровни и открыть позицию в другую сторону. Данная функциональность позволяет запускать робот в полностью автоматическом режиме для торговли в обе стороны по 1 торговому счету.

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

ВЕДЕНИЕ ПОЗИЦИИ

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

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

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

Полное закрытие позиции по стопу. Размер стопа задается в пп.

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

Трейлинг-стоп по пику цены работает совместно с модулем перевода стопа на уровень безубытка.

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

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

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

Трейлинг-стоп по уровню с учетом волатильности рынка (при движении цены в плюс позиции, считается относительно фактического входа по уровню)Позволяет закрывать уровни, которые были открыты заранее по трейлинг-стопу при локальном возврате цены. Далее эти уровни опять могут быть куплены. Отступ от пика цены для расчета стопа может быть задан в пунктах, в коэффициенте умножения индикатора или смотреться по линии индикатора (для лонга и шорта могут быть заданы разные индикаторы или линии). Дополнительно можно указать, что стоп включается только, если его уровень находится в БУ или в плюсе относительно фактического значения уровня входа.

Трейлинг-профит по уровню по индикатору. Данный модуль позволяет корректировать уровень профита по каждому уровню при условии, что число контрактов в позиции больше указанного и текущая цена по инструменту ушла в минус позиции больше, чем на заданный процент. Это позволяет закрыть уровни при неудачном входе с меньшей прибылью и разгрузить депозит. Расчет трейлинг-профита идет 1 раз за бар на открытии, проверяются условия по числу контрактов и изменение цены, идет корректировка профита. Это минимизирует дополнительную нагрузку на робота. Сброс профита по уровню происходит при его перевороте, закрытии или изменении статуса на Отработан.

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

После включения функциональности «профит по позиции» в настройках, возможно его указание на графике цены инструмента. Уровень тейк-профита изображается на графике в виде желтой линии. В любой момент пользователь может мышкой передвинуть уровень профита. В окне текущих параметров робота для работы с данным уровнем предусмотрены 2 кнопки:

  • ОБНПРОФИТ — кнопка (активируется мышкой) установки ручного значения уровня тейк-профита в текущую цену (при выключенном роботе), после этого пользователь может подвинуть уровень к цели. После включения робот начинает смотреть данный уровень для закрытия по нему всей позиции.
  • СБРОС ПРОФИТА — кнопка (активируется мышкой) сброса ручного значения уровня тейк-профита в 0 (при выключенном роботе), после этого робот перестает смотреть данный уровень для закрытия по нему всей позиции.

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

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