Алгоритм Shot
Обзор алгоритма
Алгоритм Shots получает прибыль на внезапных скачках цены (прострелах) с последующим откатом к исходному уровню. Алгоритм размещает ордер на заданном расстоянии от цены и автоматически перемещает его при плавных движениях рынка. Когда происходит резкий скачок цены в сторону ордера, позиция открывается и быстро закрывается на откате.
Алгоритм разработан для краткосрочной торговли и не предназначен для длительного удержания позиций.
Версии алгоритма:
Shots — торговля на одной конкретной торговой паре без фильтра активных рынков
Shots Group — торговля на нескольких торговых парах с возможностью использования фильтра активных рынков
Как работает алгоритм
Принцип работы
Размещение ордера на расстоянии
Алгоритм выставляет ордер на заданном расстоянии от текущей цены (параметр «Расстояние»). Направление зависит от выбранного типа ордера:
ордер «Купить» размещается ниже текущей цены
ордер «Продать» размещается выше текущей цены
Отслеживание движения цены
Алгоритм непрерывно следит за изменением цены. Вокруг текущей цены создаётся буфер — воображаемый коридор заданной ширины, внутри которого цена может колебаться без влияния на положение ордера.
Автоматическое перемещение ордера
При плавном движении цены ордер автоматически перемещается, чтобы сохранять заданное расстояние:
если цена пересекает дальнюю границу буфера, ордер перемещается ближе к цене
если цена пересекает ближнюю границу буфера, ордер перемещается дальше от цены
Исполнение ордера при простреле
Когда происходит резкий скачок цены в сторону ордера на расстояние, равное или превышающее заданное, ордер исполняется и открывается позиция.
Управление позицией
После открытия позиции автоматически выставляются:
Take Profit — для фиксации прибыли в направлении ожидаемого отката
Stop Loss — для ограничения убытков при продолжении движения
Настройка алгоритма
Основные параметры
1. Расстояние
Расстояние в процентах от текущей цены, на котором будет размещён и поддерживаться ордер.
Расстояние всегда отсчитывается в соответствии с выбранным направлением:
для ордера «Купить» — ниже текущей цены
для ордера «Продать» — выше текущей цены
Отрицательное расстояние приведёт к мгновенному открытию позиции по текущей цене, что не соответствует замыслу алгоритма.
Рекомендации:
для высоколиквидных рынков используйте расстояние 0,5–1%
для низколиквидных рынков увеличьте расстояние до 1,5–3%
Минимальное значение: технически возможны отрицательные значения
Максимальное значение: без ограничений
2. Буфер
Размер коридора в процентах от цены, в пределах которого цена может колебаться без перемещения ордера.
При первоначальном размещении ордера текущая цена располагается в центре буфера. Например, при буфере 0,4%:
верхняя граница находится на +0,2% от цены
нижняя граница находится на -0,2% от цены
Как это работает:
Пока цена движется внутри буфера, ордер остаётся неподвижным. При пересечении границы буфера ордер перемещается в новое положение, сохраняя заданное расстояние от цены. Буфер также перемещается, чтобы цена снова оказалась в его центре.
Рекомендации:
меньший буфер (0,1–0,2%) — точное следование за ценой, но выше нагрузка на ядро и API
больший буфер (0,5–1%) — меньше нагрузки, но ниже точность поддержания расстояния
размер буфера выбирайте пропорционально заданному расстоянию
Значение по умолчанию: 0,4%
Минимальное значение: 0%
Максимальное значение: без ограничений
3. Задержка на следование за ценой
Время в секундах между пересечением ценой дальней границы буфера и перемещением ордера ближе к цене.
Если в течение указанной задержки цена возвращается в границы буфера, ордер не перемещается. Нулевое значение означает мгновенное перемещение.
Применение:
Параметр помогает избежать ложных срабатываний при резких движениях цены с быстрым откатом — ситуациях, когда прострел происходит в противоположном направлении.
Значение по умолчанию: 0 секунд
Минимальное значение: 0 секунд
Максимальное значение: без ограничений
4. Задержка на перемещение от цены
Время в секундах между пересечением ценой ближней границы буфера и перемещением ордера дальше от цены.
Если в течение указанной задержки цена возвращается в границы буфера, ордер не перемещается. Нулевое значение означает мгновенное перемещение.
Применение:
Параметр помогает избежать ложных срабатываний при стремительных движениях цены, которые не являются искомыми прострелами с вероятным откатом.
Значение по умолчанию: 0 секунд
Минимальное значение: 0 секунд
Максимальное значение: без ограничений
5. Тип источника данных
Источник данных о последней цене для расчёта расстояния и буфера.
Доступные варианты:
Тикер — используется тиковая цена
данные обновляются реже
меньше нагрузка на ядро
подходит для торговли на больших расстояниях (от 1%)
снижает нагрузку при торговле большим количеством ордеров
Трейды — используются последние сделки на бирже
данные обновляются в несколько раз чаще
выше нагрузка на ядро
подходит для торговли на малых расстояниях (менее 1%)
обеспечивает более точную и быструю реакцию
⚠️ Важно: выбор источника данных влияет только на расчёт расстояния и буфера. Данные для фильтров алгоритма (маркировочная цена, суточные объёмы, дельта-фильтры) берутся из вкладки «Обзор рынков». Частота их обновления зависит от настроек в разделе «Настройки → Ядро → Обзор рынков → Источник данных».
Значение по умолчанию: Тикер
Параметры ордера
1. Направление
Направление, в котором алгоритм будет размещать ордера.
Купить — ордер размещается в стакане заявок на покупку (Bid)
позиция открывается по низкой цене
закрывается по высокой цене (Take Profit)
открывается позиция Long с расчётом на откат цены вверх
Продать — ордер размещается в стакане заявок на продажу (Ask)
позиция открывается по высокой цене
закрывается по низкой цене (Take Profit)
открывается позиция Short с расчётом на откат цены вниз
2. Тип ордера
Тип ордера, размещаемого алгоритмом.
Подробнее о типах ордеров читайте в отдельной статье «Типы ордеров».
3. Прибавление к стоп-лимитному ордеру
Значение стоп-цены при использовании типа ордера «Стоп-лимит».
Подробнее читайте в статье «Типы ордеров».
4. Размер ордера
Размер размещаемого ордера в USDT.
При торговле с кредитным плечом указывайте полный размер ордера с учётом плеча.
⚠️ Важно: размер ордера должен соответствовать минимальным и максимальным требованиям биржи для выбранных торговых пар. Указанный размер будет применён ко всем торговым парам в алгоритме.
Автоматическое повышение до минимума
Кнопка справа от поля «Размер ордера» позволяет автоматически повысить размер до минимально допустимого биржей. Функция применяется только к тем торговым парам, где введённый размер меньше минимального. Для остальных пар размер не изменится.
Текущие минимальные размеры ордеров по торговым парам доступны на вкладке «Управление».
5. Айсберг
Функция для спот-рынков, позволяющая скрыть истинный размер ордера из стакана.
Ордер размещается и исполняется по частям, что делает невидимым полный объём заявки для других участников рынка.
6. Auto join (автоматическое объединение)
Автоматическое объединение нескольких позиций на одной торговой паре.
При объединении:
пересчитывается общая точка входа (средневзвешенная цена)
корректируются цены Take Profit и Stop Loss относительно новой точки входа
Что объединяется:
позиции, открытые всеми алгоритмами с включённым параметром «Auto join» без ключа
позиции, открытые вручную
⚠️ Рекомендация: всегда используйте ключ объединения, чтобы избежать нежелательного объединения с позициями из других алгоритмов или ручными позициями.
7. Ключ объединения
Уникальный идентификатор для объединения позиций строго по ключу.
Выберите любое название ключа и укажите его во всех алгоритмах, позиции которых нужно объединять между собой. Позиции с разными ключами объединяться не будут.
Если указать ключ только в одном алгоритме, будут объединяться только позиции, открытые этим алгоритмом.
Пример: вы торгуете на паре BTC/USDT тремя алгоритмами:
Shots с ключом «aggressive»
Shots Group с ключом «aggressive»
Vector с ключом «trend»
Позиции от первых двух алгоритмов будут объединяться между собой, позиции от алгоритма Vector будут независимы.
⚠️ Важно: если оставить алгоритм с включённой функцией объединения, но без ключа, он может инициировать объединение с другими позициями, даже если те были открыты с ключом.
Подробнее читайте в статье «Режим позиций».
Управление прибылью и рисками
Take Profit (фиксация прибыли)
Автоматическое размещение ордера для фиксации прибыли.
По умолчанию Take Profit включён. При отключении позиции будут открываться без Take Profit.
Процент
Расстояние от цены открытия позиции в процентах, на котором будет размещён ордер Take Profit.
Процент отсчитывается в прибыльную сторону:
для ордера «Купить» — выше цены входа
для ордера «Продать» — ниже цены входа
⚠️ Важно: размер Take Profit должен покрывать суммарную комиссию биржи за все этапы сделки для получения прибыли.
Значение по умолчанию: зависит от вашей стратегии
Минимальное значение: больше суммарной комиссии биржи
Максимальное значение: без ограничений
Тип ордера
Тип ордера для Take Profit.
Лимитный (по умолчанию, рекомендуется)
алгоритм размещает реальный лимитный ордер на бирже
ордер виден в стакане заявок
обозначается зелёным символом «r» (real) в настройках Take Profit
работает в связке с виртуальным Stop Loss (подробнее в статье «Stop Loss»)
Маркет
ордер остаётся виртуальным до момента достижения ценой уровня Take Profit
информация об ордере хранится только в ядре MoonTrader
обозначается сиреневым символом «v» (virtual) в настройках Take Profit
работает в связке с реальным стоп-лимитным Stop Loss (подробнее в статье «Stop Loss»)
⚠️ Важно: возможность использования маркетного Take Profit зависит от допустимых конфигураций ордеров на конкретной бирже.
Айсберг
Скрытие истинного размера ордера Take Profit из стакана заявок.
Настройка применяется только к Take Profit и не зависит от настройки айсберга основного ордера.
Автопонижение цены Take Profit
Последовательная корректировка цены Take Profit в сторону уменьшения уровня прибыли.
Функция помогает закрыть позицию с меньшей прибылью, если цена не достигает изначально заданного уровня Take Profit.
Таймер
Время в секундах между каждым шагом понижения Take Profit.
Допускаются целые и дробные значения.
Пример: 1 секунда
Шаг
Размер в процентах от цены открытия позиции, на который будет уменьшаться Take Profit с частотой, указанной в параметре «Таймер».
Пример: 0,5%
Порог
Минимальное значение Take Profit в процентах от цены открытия позиции, до которого допустимо автопонижение.
Пример: 0,2%
Пример работы автопонижения
Условия:
расстояние для ордера: 3%
Take Profit: 1,5%
таймер автопонижения: 1 секунда
шаг автопонижения: 0,5%
порог автопонижения: 0,2%
Последовательность событий:
Позиция открывается, Take Profit выставляется на уровне 1,5%
Через 1 секунду (если Take Profit не исполнился) → новый Take Profit на уровне 1%
Через 1 секунду → новый Take Profit на уровне 0,5%
Через 1 секунду → новый Take Profit на уровне 0,2% (минимальный порог)
Take Profit остаётся на уровне 0,2% до закрытия позиции
⚠️ Важно: корректировка Take Profit в сторону повышения прибыли не предусмотрена.
Контакты и поддержка
Если у вас возникли вопросы по настройке алгоритма или вы хотите предложить улучшения, обратитесь в службу поддержки.
Последнее обновление