Moontraider logo
Moontraider logo

Documentation

Алгоритм Vector

Обзор алгоритма

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

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


Как работает алгоритм

Принцип работы

  1. Разбивка времени на фреймы Временной интервал (Time Frame) делится на небольшие отрезки — фреймы (Frame Size). Например, если Time Frame = 2 секунды, а Frame Size = 0,2 секунды, то алгоритму необходимо 10 фреймов для анализа.
  2. Сбор данных в каждом фрейме В каждом фрейме алгоритм анализирует:
    • минимальную и максимальную цену трейдов в периоде;
    • количество трейдов;
    • объёмы трейдов.
  3. Проверка условий для входа Алгоритм формирует сигнал на вход, если:
    • размер спреда (разница между максимальной и минимальной ценой) в каждом фрейме превышает заданный процент (Min Spread Size);
    • направление движения верхней и нижней границы спреда соответствует заданным диапазонам (Upper/Lower Border Range) (если включено);
    • в каждом фрейме количество трейдов превышает минимальное значение (Min Trades Per Frame);
    • объём торгов в каждом фрейме превышает минимум (Min Quote Asset Volume).
  4. Размещение ордеров При срабатывании триггера алгоритм размещает ордера:
    • для покупки (Buy): на расстоянии Order Distance от нижней границы спреда;
    • для продажи (Sell): на расстоянии Order Distance от верхней границы спреда;
    • с частотой, заданной параметром Order Frequency;
    • до тех пор, пока не достигнут Max Orders.
  5. Управление позицией После исполнения ордера активируется Take Profit:
    • для покупки: отсчитывается от нижней границы спреда текущего фрейма;
    • для продажи: отсчитывается от верхней границы спреда текущего фрейма.
    • При этом значение Тейк Профит указывается в процентах от найденного расстояния (мин/макс), а не в процентах цены

Настройка алгоритма

Основные параметры

1. Frame Size (размер фрейма)

Размер микро-интервала в секундах, на которые разбивается Time Frame.

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

Значение по умолчанию: 0,2 секунды

Минимальное значение: 0,001 секунды

Максимальное значение: без ограничений

2. Time Frame (временной интервал)

Длительность временного окна для анализа в секундах.

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

Значение по умолчанию: 1 секунда

Минимальное значение: 0,001 секунды

Максимальное значение: без ограничений


3. Min Spread Size (минимальный размер спреда)

Минимальный размер диапазона цены в процентах.

Спред — это разница между максимальной и минимальной ценой во фрейме. Алгоритм создаёт сигнал, только если спред в каждом фрейме превышает указанное значение.

Значение по умолчанию: 0,5%

Минимальное значение: 0%

Максимальное значение: без ограничений


4. Upper Border Range (диапазон верхней границы)

Фильтр отслеживает, как изменяется верхняя граница спреда от фрейма к фрейму.

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

Как это работает:

Изменение = (Верхняя граница следующего фрейма — Верхняя граница предыдущего фрейма) / Спред последнего фрейма × 100%

Пример: 4 фрейма с верхними границами 100, 101, 102, 105. Спред последнего фрейма = 5.

Изменения: (101-100)/5 × 100 = +20%, (102-101)/5 × 100 = +20%, (105-102)/5 × 100 = +60%

Диапазон от +10% до +70% → все изменения попали ✅

Диапазон от +10% до +50% → последнее изменение (+60%) вышло за границу ❌

Значения диапазона:

  • Положительные значения — верхняя граница растёт (цена движется вверх)
  • Отрицательные значения — верхняя граница снижается (цена движется вниз)
  • Диапазон позволяет фильтровать силу движения

Используйте чекбокс для включения или отключения фильтра.

Использование: комбинируйте с Lower Border Range для поиска односторонних движений. Например, для растущего тренда установите положительные значения для обеих границ.

Значение по умолчанию: от 0% до 0,5%

Минимальное значение: без ограничений

Максимальное значение: без ограничений

5. Lower Border Range (диапазон нижней границы)

Фильтр отслеживает, как изменяется нижняя граница спреда от фрейма к фрейму.

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

Как это работает:

Изменение = (Нижняя граница следующего фрейма — Нижняя граница предыдущего фрейма) / Спред последнего фрейма × 100%

Пример: 4 фрейма с нижними границами 50, 51, 52, 53. Спред последнего фрейма = 3.

Изменения: (51-50)/3 × 100 = +33,3%, (52-51)/3 × 100 = +33,3%, (53-52)/3 × 100 = +33,3%

Диапазон от +20% до +40% → все изменения попали ✅

Диапазон от +20% до +30% → все изменения (+33,3%) вышли за границу ❌

Значения диапазона:

  • Положительные значения — нижняя граница растёт (цена движется вверх)
  • Отрицательные значения — нижняя граница снижается (цена движется вниз)
  • Диапазон позволяет фильтровать силу движения

Используйте чекбокс для включения или отключения фильтра.

Использование: комбинируйте с Upper Border Range для поиска односторонних движений. Например, для растущего тренда установите положительные значения для обеих границ.

Значение по умолчанию: от 0% до 0,5%

Минимальное значение: без ограничений

Максимальное значение: без ограничений


6. Min Trades Per Frame (минимум трейдов во фрейме)

Минимальное количество трейдов, которое должно произойти в каждом фрейме.

Этот параметр фильтрует низкоактивные периоды. Если во фрейме трейдов меньше указанного значения, фрейм не учитывается.

Значение по умолчанию: 2

Минимальное значение: 0

Максимальное значение: без ограничений


7. Min Quote Asset Volume (минимальный объём торгов)

Минимальный объём торгов в котируемой валюте для каждого фрейма.

Помогает избежать входа в рынок при низкой ликвидности. Если объём трейдов во фрейме меньше указанного значения, фрейм не учитывается.

Значение по умолчанию: 10 000

Минимальное значение: 0

Максимальное значение: без ограничений


8. Order Distance (расстояние для ордера)

Расстояние в процентах от размера спреда, на котором будет размещён ордер относительно границы.

Как это работает:

Order Distance отсчитывается в процентах от размера спреда (разницы между верхней и нижней границей).

  • Для Buy: ордер размещается выше нижней границы на указанный процент от спреда
  • Для Sell: ордер размещается ниже верхней границы на указанный процент от спреда

Пример для Buy:

Нижняя граница = 70

Спред = 5

Order Distance = 5%

Расстояние в пунктах = 5 × 5% = 0,25

Цена ордера = 70 + 0,25 = 70,25

Чем больше значение Order Distance, тем дальше ордер от границы и ближе к противоположной стороне спреда. Отрицательные значения размещают ордер за пределами спреда (ниже нижней границы для Buy или выше верхней границы для Sell).

Значение по умолчанию: 5%

Минимальное значение: без ограничений (принимаются отрицательные значения)

Максимальное значение: без ограничений (принимаются значения выше 100%)

9. Use Adaptive Order Distance (адаптивное расстояние)

Алгоритм автоматически корректирует Order Distance с учётом направления движения границы спреда.

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

Как это работает:

  1. Алгоритм считает изменение границы между каждой парой соседних фреймов
  2. Вычисляет среднее изменение в абсолютных единицах цены
  3. Добавляет это значение к базовой цене ордера

Формула среднего изменения:

((a2-a1) + (a3-a2) + (a4-a3) + …) / n

где a — значение границы в каждом фрейме, n — количество переходов между фреймами.

Для Buy: используется нижняя граница спреда

Для Sell: используется верхняя граница спреда

Пример для Buy:

4 фрейма с нижними границами: 76, 74, 72, 70

Последний фрейм: нижняя граница = 70, спред = 5

Order Distance = 5%

Изменения: (74-76) = -2, (72-74) = -2, (70-72) = -2

Среднее изменение = (-2 + -2 + -2) / 3 = -2

Без адаптации:

Цена ордера = 70 + (5 × 5%) = 70 + 0,25 = 70,25

С адаптацией:

Цена ордера = 70,25 + (-2) = 68,25

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


10. Order Lifetime (время жизни ордера)

Время в секундах, в течение которого ордер остаётся активным. Алгоритм ищет волатильность, ставит ордер в надежде в волатильности принять участие и снимает если не получил заполнение в ожидаемый срок. Этот параметр имеет смысл выставлять в корреляции с Frame Size/Timeframe.

Если ордер не исполнился за это время — он автоматически отменяется.

Значение по умолчанию: 1 секунда

Минимальное значение: 0 секунд

Максимальное значение: без ограничений


11. Max Orders (максимум ордеров и позиций)

Суммарное количество неисполненных ордеров и открытых позиций.

Алгоритм считает ордера и позиции вместе. Новый ордер не будет размещён, если сумма активных ордеров и открытых позиций достигла указанного лимита.

Значение по умолчанию: 3

Минимальное значение: 0

Максимальное значение: без ограничений


12. Order Frequency (частота размещения ордеров)

Частота размещения новых ордеров (в секундах) при активном триггере.

Важно: данный параметр заменяет привычный параметр «Задержка перед перезапуском», так как выполняет аналогичную функцию — контролирует интервал между размещением ордеров.

Значение по умолчанию: 0,1 секунды

Минимальное значение: 0 секунд

Максимальное значение: без ограничений


13. Use Detect Shot (обнаружение прострелов)

Включите этот режим для обнаружения резких движений цены с последующим откатом.

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

Важно: при включённом режиме Detect Shot параметры Time Frame, Upper Border Range и Lower Border Range не учитываются, так как алгоритм анализирует только последний фрейм.

Значение отката по умолчанию: 80%

Минимальное значение: 0%

Максимальное значение: 100%

  • 100% — полный откат к начальной точке движения
  • 0% — откат отсутствует

Пример: если цена резко выросла с 100 до 101, а затем откатила до 100,2, откат составил 80% от движения (цена прошла обратно 0,8 из 1).


14. Shot Direction (направление прострела)

Выберите направление движения, которое алгоритм должен обнаруживать:

  • Up — резкий рост цены
  • Down — резкое падение цены

Управление прибылью и рисками

Take Profit (фиксация прибыли)

Уровень фиксации прибыли в процентах от размера спреда.

  • Для Buy: отсчитывается от нижней границы спреда в текущем фрейме
  • Для Sell: отсчитывается от верхней границы спреда в текущем фрейме

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

Например, алгоритм с параметром Spread Size = 0.5, сработает как при расстоянии в 1.0% так и при расстоянии в 5.0% между ценами в фреймах, при такой большой возможной разнице логичнее выставлять Take Profit в зависимости от найденной ситуации.

Adaptive Take Profit (адаптивный тейк-профит)

Алгоритм автоматически корректирует дистанцию Take Profit с учётом направления движения границы спреда.

При включении адаптации алгоритм анализирует, как изменялась соответствующая граница спреда между всеми фреймами в Time Frame, вычисляет среднее изменение и добавляет его к базовой цене Take Profit. Это позволяет фиксировать прибыль с учётом текущего тренда движения цены.

Как это работает:

  1. Алгоритм считает изменение границы между каждой парой соседних фреймов
  2. Вычисляет среднее изменение в абсолютных единицах цены
  3. Добавляет это значение к базовой цене Take Profit

Формула среднего изменения:

((a2-a1) + (a3-a2) + (a4-a3) + …) / n

где a — значение границы в каждом фрейме, n — количество переходов между фреймами.

Для Buy: используется нижняя граница спреда

Для Sell: используется верхняя граница спреда

Пример для Buy:

4 фрейма с нижними границами: 100, 110, 120, 130

Последний фрейм: нижняя граница = 130, спред = 100

Take Profit = 90%

Изменения: (110-100) = +10, (120-110) = +10, (130-120) = +10

Среднее изменение = (+10 + +10 + +10) / 3 = +10

Без адаптации:

Цена Take Profit = 130 + (100 × 90%) = 130 + 90 = 220

С адаптацией:

Цена Take Profit = 220 + (+10) = 230

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


Stop Loss (ограничение убытков)

Уровень стоп-лосса в процентах от цены размещения ордера.


Контакты и поддержка

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