Функциональные возможности торгового робота можно разделить на несколько разделов:
ВХОД В ПОЗИЦИЮ
Вход в позицию может осуществляться несколькими способами:
Настройки по всей позиции
Настройки по каждому уровню
Число уровней в роботе не ограниченно.
- Стандартный режим. Уровень покупается, если текущая цена ниже (для Лонга) или выше (для Шорта) указанного уровня. Таким образом если текущая цена ниже (для Лонга) или выше (для Шорта) нескольких включенных уровней, то купятся все эти уровни сразу, а закрываться каждый уровень будет уже по рассчитанному относительно уровня профиту. Данный режим удобен, если вы рассчитываете, что цена от текущего уровня дойдет до некой цели, а по дороге к ней позиция будет частично закрываться и переоткрываться по более лучшей цене в рамках локальных коридоров формируя дополнительную прибыль. При этом уровни ставятся от уровня цели и до максимальной просадки.
- Режим по пересечению. Уровень покупается, если текущая цена пересекает указанный уровень в любую сторону. В этом режиме после включения робот будет увеличивать позицию только по тем уровням, по которым произошло пересечение ценой с момента включения робота, закрываться каждый уровень будет по рассчитанному относительно уровня профиту. Данный режим используется например для хэджирования опционов, когда пользователю важно увеличивать позицию на заданное число контрактов по точному значению. При этом уровни ставятся от уровня цели и до максимальной просадки, но при включении робот не покупает ни 1 уровня.
Оптимизация работы робота по увеличению позиции по уровням и закрытию уровней в профит по методу Хука-Дживса (Hooke — Jeeves).
Метод Хука — Дживса (англ. Hooke — Jeeves, Pattern search) так же, как и алгоритм Нелдера — Мида, служит для поиска безусловного локального экстремума функции и относится к прямым методам, то есть опирается непосредственно на значения функции. Для рассматриваемой стратегии интерес представляет не поиск локального экстремума функции, а сам процесс поиска. Важными параметрами (влияющими на просадку счёта, объем задействованного депо, скорость выхода в плюс позиции) являются число контрактов входа в позицию по каждому расчетному уровню и ширина шага входа, а на размер дохода влияет размер профита по уровню и число контрактов выхода из позиции по каждому расчетному уровню. Оптимального значения данных параметров не существует, поскольку рынок обязательно изменится. Для адаптации расчетного значения цены, по которой робот увеличивает позицию по уровням или закрывает уровни был взят принцип метода Хука-Дживса.
В основе данного принципа лежит изменение шага при движении к оптимальному значению. Для данной стратегии оптимальное значение – это точка разворота, а шаг – это расстояние между уровнями. Если цель метода Хука-Дживса заключается в том, чтобы найти оптимальное значение (экстремум — минимум или максимум) как можно быстрее (за меньшее число шагов), то для данной стратегии – дойти до точки разворота с минимальным затраченным капиталом или максимальным доходом.
Согласно алгоритму каждый следующий шаг без коррекции (под коррекцией понимается движение, хотя бы на один шаг назад) увеличивает размер следующего шага. Шаг увеличивается по арифметической прогрессией (последующий шаг будет на единицу больше предыдущего).
На представленном рисунке видно, что при однонаправленном движении против позиции робот начинает ставить запрет на увеличение позиции по уровню с пропуском сначала 1 шага, потом 2, потом 3 и т.д. по нарастающей. В результате на 11 уровней робот использовал то же число контрактов, но при этом улучшил среднеэффективную цену позиции, что ведет и уменьшению просадки и увеличению прибыли.
Ниже представлен другой пример, уже с коррекцией, которая произошла в промежутке между большими шагами
Слева на рисунке на десятой зоне цена развернулась и пробила 9-ю зону. При условии, что размер профита равен шагу, робот зафиксирует прибыль по 10 уровню, а потом заново по нему увеличит позицию. По методу Хука-Дживса ближайшее увеличение должно было состояться на 11 уровне, но цена до него не дошла, поэтому идет увеличение позиции на 9 уровне (сразу на 2 уровня — 8 и 9), далее идет сброс счетчика и расчет начинается с 1 шага. Несмотря на то, что было упущено закрытие 1 уровня в профит, среднеэффективная цена все равно ниже, чем при стандартном режиме.
Данный метод может показать более худший результат только в узком боковике (когда робот не успевает набрать уровни после пропуска), но это частный случай, который не увеличивает риски стратегии. Зато выигрыш при трендовом движении значительно превосходит упущенные профитные сделки в узком боковике.
Закрытие в профит уровней осуществляется точно по такому же принципу.
Данный метод позволяет улучшить точки входа по уровням и увеличить размер профита по уровням. Метод адаптируется к характеру рынка: если рынок показывает боковик в пределах 4 уровней, то профит по уровням будет фиксировать стандартно, при трендовом движении за счет пропуска уровней по нарастающей улучшается среднеэффективная цена позиции и увеличивается размер профита по каждому уровню.
Данный метод нельзя сравнивать со стандартным Мартингейлом, т.к. по методу Хука-Дживса не идет увеличение числа контрактов на каждом уровне, улучшаются сами точки входа и выхода по уровням. В Мартингейле точки входа и выхода не меняются, но идет увеличение числа контрактов при усреднении позиции (что сильно сказывается на рисках и размере депо, необходимого для торговли).
Расчеты показывают (по 6 уровням), что если в стандартном режиме, линейно наращивая объем (по 1 контракту на уровень, всего задействовано 6 контрактов), средняя цена входа снижена на 25%, то в методе Мартингейла за счет прогрессивного увеличения числа контрактов (1, 2, 4, 8, 16, 32, всего задействовано 63 контракта) средняя цена входа снижается на 41%. С использованием принципов из метода Хука-Дживса снижение цены входа составляет 32% и не требует увеличения числа контрактов в расчете на каждый уровень (всего задействовано те же 6 контрактов).
Позволяет улучшить цену входа по каждому уровню за счет фильтра по индикатору.
Вход по уровню разрешен, если текущая цена ниже линии индикатора (для Лонга) или выше линии индикатора (для Шорта) с учетом заданного отступа. Для Лонга и Шорта могут использоваться разные линии индикатора.
Данный комплекс функциональности позволяет полностью автоматизировать процесс открытия и закрытия позиции по уровням с учетом фильтрующего индикатора по более выгодной цене (например Price Channel, Bollinger Bands, SMA, EMA, AMA, другие специфические индикаторы, которые позволяют входить на коррекциях локальных волн), при этом каждый уровень как и прежде будет закрываться по своему расчетному профиту. На представленной картинке показаны переносы точек входа по уровню из-за фильтра по индикатору (оранжевые пунктирные линии).
Дополнительная функциональность позволяет автоматически открывать заданного число уровней перед текущей ценой после отработки фильтра при отсутствии позиции, что позволяет заранее не включать лишние уровни на вход и тем самым увеличивать риски по их просадке.
Пример: Вы добавили на график 100 уровней в Лонг, все уровни выключены. Текущая цена находится между 65 и 66 уровнем, при этом срабатывает фильтр на вход по индикатору в Лонг. Если в настройках стоит открыть 5 уровней, то робот включит уровни с 60 по 65 (нумерация идет сверху вниз) и тут же купит их по текущей цене.
Автоматическое Открытие/Закрытие позиции по трендовому индикатору. При этом робот запоминает число уровней, закрытых в минус относительно свой цены входа и при следующем автоматическом открытии в заданную сторону сразу открывает запомненное число уровней (раннее открытие), что дает быстро закрыть полученную просадку. В роботе предусмотрено ограничение снизу и сверху числа запоминаемых уровней. Данная функциональность позволяет запускать робот в полностью автоматическом режиме (необходимо только следить, что цена находится в пределах торгуемых уровней, для торговли в обе стороны необходимо 2 торговых счета). Правильно подобранный портфель инструментов позволяет минимизировать простаивание депозита при закрытии позиции по 1 инструменту.
Автоматический переворот позиции по трендовому индикатору. Работает в рамках модуля «Автоматическое Открытие/Закрытие позиции по глобальному индикатору». Позволяет при перевороте индикатора закрыть позицию, перевернуть все уровни и открыть позицию в другую сторону. Данная функциональность позволяет запускать робот в полностью автоматическом режиме для торговли в обе стороны по 1 торговому счету.
На представленном графике показана торговля с помощью трендового индикатора, в момент переворота закрывается текущая позиция и выключаются все уровни, после переворота робот переворачивает все уровни и включает рассчитанное число уровней, но не менее заданного (в данном случае 7). По результату торговли видно, что за счет включения сразу нескольких уровней и их покупки по текущей цене, робот получает увеличенную прибыль, а также минимизируется просадка за счет отсутствия накопления уровней при уходе цены в минус позиции (позиция просто переворачивается).
ВЕДЕНИЕ ПОЗИЦИИ
Глобальный стоп-лосс и тейк-профит позволяют ограничить коридор текущей торговли не перестраивая уровни заново.