Открыть на GitHub

Схема стратегии управления котировками маркет-мейкера

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

Обзор стратегии

  • Завершённые пятиминутные свечи поступают в SimpleMovingAverage с периодом 100. Две формулы строят нижнюю и верхнюю границы на расстоянии 0,8% от средней.
  • Стакан предоставляет BestBid и BestAsk. Переменные снимают обе цены на свечном такте, поэтому частые обновления стакана не конфликтуют со свечным сигналом.
  • Текущее закрытие должно оказаться за полосой, а предыдущее закрытие — ещё внутри неё. Сравнения Position также запрещают наращивать уже открытую позицию в ту же сторону.
  • Order registering выставляет покупку по выбранному BestBid или продажу по выбранному BestAsk с общим объёмом Quote Volume.
  • Combination хранит актуальную ссылку на заявку. Order replacing возвращает каждую замену в этот поток и переставляет котировку, когда относительное отклонение превышает Re-quote Threshold.
  • Order cancellation снимает встречную котировку при пробое другой полосы и устаревшие заявки через 12 свечей. Если цена всё ещё за полосой, а позиция нулевая, Modify position открывает позицию по рынку.
  • Position protection закрывает исполненный вход с прибылью 0,8% или убытком 0,4%. Исполнение выхода запускает Mass order cancellation и очищает оставшиеся котировки.

Правила входа и выхода

  • Вход в лонг: Закрытие опускается ниже нижней полосы после того, как предыдущее закрытие было не ниже неё; Position не является лонгом, и доступен выбранный BestBid. По этой цене выставляется лимитная покупка, которая переставляется при отклонении более 0,001. Если сигнал живёт 12 свечей, Position остаётся нулевой, а цена — ниже полосы, котировка снимается и отправляется рыночная покупка OpenPosition.
  • Вход в шорт: Закрытие поднимается выше верхней полосы после того, как предыдущее закрытие было не выше неё; Position не является шортом, и доступен выбранный BestAsk. По этой цене выставляется лимитная продажа и следует за рынком через замены. Через 12 свечей при нулевой позиции и цене выше полосы котировка снимается и отправляется рыночная продажа OpenPosition.
  • Выход: Все исполнения входа — первичной заявки, её замен или рыночного резервного входа — поступают в Position protection. Закрытия свечей управляют тейк-профитом 0,8% и стоп-лоссом 0,4%. После защитного исполнения Mass order cancellation снимает все ещё активные котировки.

Параметры

Параметр По умолчанию Описание
Candle Time Frame 00:05:00 Таймфрейм средней, сигналов полос, выборки стакана, возраста котировки и проверок защиты.
SMA Length 100 Период SimpleMovingAverage в центре полос.
Band Deviation 0.008 Относительная полуширина полосы; 0,008 означает 0,8% выше и ниже средней.
Quote Volume 1 Объём лимитных котировок, замен и резервных рыночных входов.
Re-quote Threshold 0.001 Относительное отклонение рабочей котировки от лучшей цены, после которого выполняется замена.
Quote Life, candles 12 Число завершённых свечей до признания пассивной попытки устаревшей.
Take Profit, % 0.8 Благоприятное расстояние от цены исполнения входа в процентах.
Stop Loss, % 0.4 Неблагоприятное расстояние от цены исполнения входа в процентах.

Детали диаграммы

  • Previous value сохраняет предыдущую свечу до извлечения её закрытия, поэтому установка возникает один раз при выходе за полосу, а не повторяется на каждой свече снаружи.
  • BestBid, BestAsk и Position защёлкиваются переменными и выдаются завершённой свечой. Все сравнения и заявки поэтому получают текущее свечное время.
  • Каждая зарегистрированная или заменённая заявка попадает в шину Combination. Она питает конвертер цены, замену, отмену и график, поэтому следующая замена работает с последней заявкой.
  • Счётчик возраста сбрасывается при первом выходе за любую полосу, растёт раз за свечу и ограничивается значением на единицу выше лимита. Сравнение с 12 выдаёт один сигнал устаревания.
  • Лимитная регистрация и замена сохраняют переданную цену без округления. Рыночный резервный вход ограничен OpenPosition, а защита и массовая отмена очищают состояние после выхода.

Использование

Импортируйте файл .json в Designer, прогоните схему на исторических данных в тестере, затем подстройте параметры или сами кубики под свой инструмент, прежде чем торговать вживую.