RangeReclaim
@tradejs/strategy-range-reclaim торгует возврат внутрь диапазона закрытой
старшей свечи после неудачного пробоя. Версия 0.1.1 опубликована отдельно
от @tradejs/base. Значения по умолчанию и дополнительные правила входа
предназначены для исследования и не являются проверенной торговой рекомендацией.
Установка
npm install @tradejs/strategy-range-reclaim@0.1.1
Добавьте "@tradejs/strategy-range-reclaim" в список strategies вашего
Project, сохранив существующие preset, connectors, indicators и runtime config.
Зафиксируйте установленную версию и сохраните lock-файл.
Вход и выход
Детектор собирает исходную старшую свечу из последовательных закрытых младших
свечей. Поддерживаются пары младшего/старшего интервала 15/240, 15/60
и 60/240 минут. Диапазон доступен с начала следующего старшего периода:
последняя свеча периода не торгует его собственный новый диапазон.
Для LONG минимум должен быть строго ниже нижней границы, после чего свеча
должна закрыться строго внутри диапазона. Для SHORT правило симметрично.
Возврат допустим на свече пробоя или в течение дополнительных
RANGE_RECLAIM_WAIT_BARS свечей. Новый экстремум не продлевает срок.
Пересечение обеих границ, превышение глубины, истечение срока или обновление
исходного диапазона отменяют ожидание.
На исходный диапазон разрешена одна подтверждённая попытка входа. Отключённое направление, открытая позиция, отклонение по риску или исполнению расходуют эту попытку. Стоп находится за экстремумом выхода с буфером ATR. Цель — середина исходного диапазона либо противоположная граница. Стоп и цель после подтверждения не меняются. Размер позиции и минимальное отношение прибыли к риску учитывают расчётные затраты.
Стоп и тейк исполняет TradeJS. Стратегия также запрашивает выход через
RANGE_RECLAIM_MAX_HOLD_BARS младших интервалов от времени сигнала;
пропуски свечей не продлевают срок. Историческое исполнение по умолчанию
использует открытие следующей свечи, поэтому ценовой разрыв может изменить
отношение прибыли к риску, рассчитанное на сигнале.
Ключи конфигурации
| Группа | Ключи | Назначение |
|---|---|---|
| Интервалы | INTERVAL, RANGE_RECLAIM_RANGE_INTERVAL | Младший/старший интервалы в минутах; по умолчанию 15/240. |
| Подтверждение | RANGE_RECLAIM_WAIT_BARS, RANGE_RECLAIM_MAX_DEPTH_RATIO | Дополнительные свечи ожидания и максимальная глубина как доля ширины; по умолчанию 1 и 0.25. |
| Срок диапазона | RANGE_RECLAIM_MAX_SOURCE_AGE_BARS | Срок подтверждения после закрытия исходной свечи в младших интервалах. По умолчанию 0 отключает проверку; равенство положительному сроку означает просрочку. |
| Стоп и цель | RANGE_RECLAIM_ATR_LENGTH, RANGE_RECLAIM_STOP_ATR_BUFFER, RANGE_RECLAIM_TARGET | Период ATR 14, буфер стопа 0.1 ATR, цель midpoint по умолчанию или opposite. |
| Удержание | RANGE_RECLAIM_MAX_HOLD_BARS | По умолчанию 16 младших интервалов. |
| Допуск | RANGE_RECLAIM_MAX_COST_SHARE | Предел отношения расчётных затрат полного оборота к валовой прибыли до цели. По умолчанию 0 отключает проверку; равенство положительному пределу разрешено. |
| Риск | MAX_LOSS_VALUE, RISK_FEE_RATE, RISK_SLIPPAGE_BPS, RISK_MARKET_IMPACT_BPS, LONG.*, SHORT.* | Денежный риск, расчётные затраты, переключатели направлений и минимальное чистое отношение прибыли к риску. Оба направления включены с минимальным отношением 1. |
| Историческое исполнение | BACKTEST_PRICE_MODE, BACKTEST_ENTRY_DELAY_BARS | По умолчанию open и 1. |
| Правила входа | RANGE_RECLAIM_ENTRY_POLICY | По умолчанию off; дополнительные исследовательские правила ниже требуют 15/240. |
Доступны правила purple, orange, purple-short, intersection и union.
purple требует возврата не менее чем на 10% ширины диапазона. orange
требует SHORT и ширины строго больше 6 ATR либо 3475 базисных пунктов
относительно цены подтверждения. purple-short добавляет к purple
требование SHORT; intersection требует оба правила, union — любое из них.
Они действуют до входа независимо от ИИ. Отдельно обученный AI-gate в пакет
не входит.
Данные и восстановление
Неполный старший период и пропуски свечей не дают построить допустимый диапазон. Пропуск сбрасывает диапазон, ожидание и ATR. Движок восстанавливается теми же переходами по свечам, что использует при непрерывной работе. Повторный timestamp не продвигает состояние.
Открытой позиции нужен сохранённый checkpoint с состоянием сделки.
Без времени входа стратегия запрашивает RANGE_RECLAIM_UNKNOWN_POSITION_AGE,
поскольку оставшийся срок удержания неизвестен. Фигуры входа показывают
исходный диапазон, выход за границу, подтверждение, стоп и цель; фактическое
заполнение после задержки записывает TradeJS.