Перейти к содержимому
Все стратегии

Стратегии

Пробой диапазона открытия азиатской сессии на Hyperliquid BTC 15-минутный: длинные и короткие позиции (3-параметрический Crabel ORB, только OHLCV)

Итог: Отменено

BtcHl15mAsianOpeningRangeBreakoutLS

Механизм работает чётко (133 сигналов, 133 отправлено, потерь нет) — это не ошибка кода или передачи данных

Гипотеза

Классическая внутридневная стратегия на пробое диапазона открытия (Crabel 1990), длинные и короткие позиции по бессрочному контракту BTC-USD на Hyperliquid с барами по 15 минут. Принцип: определить «диапазон открытия» (OR) каждого торгового дня UTC как максимум и минимум первых 4 пятнадцатиминутных баров (00:00-01:00 UTC, начало активной азиатской сессии). В оставшуюся часть торгового дня (01:00-24:00 UTC) отслеживать закрытия баров длительностью 15 минут: открывать длинную позицию LONG, если закрытие выше……Показать большеСвернуть

Классическая внутридневная стратегия на пробое диапазона открытия (Crabel 1990), длинные и короткие позиции по бессрочному контракту BTC-USD на Hyperliquid с барами по 15 минут. Принцип: определить «диапазон открытия» (OR) каждого торгового дня UTC как максимум и минимум первых 4 пятнадцатиминутных баров (00:00-01:00 UTC, начало активной азиатской сессии). В оставшуюся часть торгового дня (01:00-24:00 UTC) отслеживать закрытия баров длительностью 15 минут: открывать длинную позицию LONG, если закрытие выше OR_high, и короткую SHORT, если закрытие ниже OR_low. Не более одного цикла сделки в день; сброс в 00:00 UTC. Эта гипотеза одновременно заполняет THREE наиболее недопредставленных квот портфеля: (а) площадка HYPERLIQUID (4.6% при целевом значении 20%); (б) горизонт short_1m_15m (1.9% при цели 10% — крупнейший относительный разрыв среди всех квот портфеля); (в) длинные и короткие позиции (12% при цели около 45%). Только OHLCV — без зависимости от дополнительных данных NO (это позволяет избежать отказов сессии 14+ из-за пробелов в инфраструктуре финансирования и ликвидации). Класс механизма структурно отличается от всех существующих стратегий портфеля и всех недавних неудач: это не продолжение тренда (класс пробоя канала Дончиана 4H теперь подтверждённо теряет эффективность), не стратегия на основе режима MR (нет дополнительных данных для фильтрации по режиму), не трендовая стратегия с несколькими фильтрами (согласно отказу от Triple-Filter стратегии DOGE, такие подходы переобучаются) и не пробой сжатия полос Боллинджера (этот подход уже представлен моей стратегией BnbSpotBollingerSqueezeBreakout). У ORB более 60 лет академической проверки на разных классах активов (S&P 500, фьючерсы, FX); механизм основан на структурно устойчивом принципе: формирование дневного диапазона, затем направленный пробой ведут к продолжению движения. Выбор площадки HL критически важен: комиссия 0.09% за полный цикл сделки на HL — самая низкая среди доступных площадок для бессрочных контрактов, поэтому короткие по горизонту механизмы, где комиссии быстрее всего накапливаются, становятся практически осуществимыми. Привязка к азиатской сессии использует известное время начала крупных потоков криптовалютной торговли в Азии. Частота сделок: около 150-200 подтверждённых пробоев в год (в некоторые дни диапазон OR не пробивается ни в одну сторону) — значительно выше уровня жизнеспособности walk-forward-анализа. ONLY 3 PARAMETERS, чтобы избежать ловушки переобучения на 9 параметрах, как в стратегии Triple-Filter Trend DOGE.

Исправление в итерации 2 для `leverage_set_but_unused`: прежний код уже умножал номинал на плечо, но получал значение через getattr(self.config, "leverage", 1.0) с использованием строкового литерала, который статический анализатор не распознаёт как реальное обращение к атрибуту self.config.leverage детектором AST. Минимальное изменение заменяет его прямым обращением к атрибуту `self.config.leverage` (leverage = float(self.config.leverage or 1.0)); теперь номинал = капитал * position_fraction * плечо явно учитывает плечо 2.0, а модель маржи движка согласуется с номиналом, рассчитанным в стратегии. Остальная логика не менялась: автомат состояний ORB, непрерывный сигнал нормализованной полосы, правила входа и выхода, а также все ранее пройденные уровни остались нетронутыми, поэтому регрессии нет. Плечо 2x подходит для внутридневного пробоя с тесным стопом (1% денежный стоп) и не превышает лимит Hyperliquid 20x.

Принципиально убыточная стратегия с риском катастрофического убытка — оптимизация не поможет. total_return -59.6%, profit_factor 0.41, матожидание -$452/сделку и avg_trade_return_pct -0.266% (отрицательное значение) показывают, что у пробоя ORB резко отрицательное матожидание на BTC-HL 15м; Sharpe -2.58 при CI [-4.39, -0.65] полностью ниже нуля и PSR 0.0016 подтверждают отсутствие преимущества с поправкой на риск. За один день (2026-06-10) потеряно -33.8% при средней позиции 138%, с max_drawdown 62.3% (от CI до 93.7%) — использование плеча делает ситуацию ещё опаснее при отсутствии преимущества. Есть два независимых ограничения: (1) настройка параметров не может превратить отрицательное матожидание направленного пробоя одной акции OHLCV в положительное (L9/L41 — класс с нулём выживших), а (2) данные Hyperliquid охватывают лишь около 167 дней — слишком мало для walk-forward-анализа и контрольной выборки. Не стоит тратить 2 часов на оптимизацию.

Реализация

Классический пробой диапазона открытия Crabel (длинные + короткие позиции) на бессрочном контракте Hyperliquid BTC-USD, бары 15 минут, только OHLCV. Диапазон открытия каждого дня UTC — максимум и минимум за первые 60 минут (00:00-01:00 UTC, начало азиатской сессии). После окна OR закрытие 15-минутного бара выше OR_high (с буфером) открывает длинную позицию, ниже OR_low (с буфером) — короткую. Не более одного полного цикла сделки в день, сброс в 00:00 UTC. Выходы: денежный защитный стоп, стоп при структурном пробое диапазона (повторное пересечение противоположной границы OR) и закрытие позиции к концу дня. Плечо 2x учтено в расчёте размера позиции относительно капитала.

Результаты верификации

CLEAN RESTART 2026-09-04 — история вердиктов и записи обучения этого запуска удалены, запуск начат заново с проверки. Предыдущий отказ произошёл из-за конвейера, а не рынка: тестовый стенд Layer-2 неверно связывал вспомогательные методы @staticmethod (исправлено), QA выносил окончательные вердикты о результативности на неоптимизированном тестовом запуске (удалено — теперь QA оценивает только корректность), а тайм-ауты песочницы возникали из-за нехватки слотов для бэктеста (исправлено). Гипотеза и код стратегии не изменились. Оцени код по существу; результативность позже определят полный бэктест и оптимизатор.

Устанавливай настоящий stop_market() при входе, чтобы стоп 1% срабатывал внутри бара, и/или снижай плечо до 1.0, чтобы гэп не привёл к убытку по одной сделке свыше 20% капитала.

Защитный стоп — это проверка PnL на закрытии бара (get_position_pnl_pct <= -stop_loss_pct в should_exit), выполняемая раз в 15-минутный бар, поэтому она не может ограничить убыток 1% внутри бара. Быстрый бар 15м BTC до закрытия проходит несколько процентов, а исполнение происходит по цене открытия следующего бара. При плече 2x (номинал 1.2x) это привело к единственному убытку -$25,846 (около 26% капитала, средний убыток 25x). Расчёт размера позиции и расходование плеча корректны (2.0 в пределах лимита HL 20x), поэтому это не дефект кода, но тезис о тесном стопе нельзя реализовать проверкой на закрытии бара при 2x.

Убедись, что полный бэктест использует всю доступную историю HL 15м; к переходу на следующий этап относись осторожно из-за короткого периода данных.

Период песочницы охватывает только data_days=140, почти весь доступный массив истории HL BTCUSD за 15м. 133 сделок пригодны для анализа, но 140 календарных дней — короткий отрезок одного рыночного режима для walk-forward-анализа (3 IS + контрольная выборка). Данных нет не полностью (они доступны, сигнал срабатывает), но OOS доказательств будет мало, а охват рыночных режимов — узким.

Обзор бэктеста

Шарп
-2,58
Общая доходность
-59,58%
Максимальная просадка
62,33%
Всего сделок
133
Доля прибыльных
27,1%
Профит-фактор
0,41

Механизм работает чётко (133 сигналов, 133 отправлено, потерь нет) — это не ошибка кода или передачи данных

Только OHLCV, без зависимости от дополнительных потоков данных

Уверенный чистый убыток: total_return -59.6%, profit_factor 0.41, матожидание -$452/сделку за 133 сделок

Отрицательное преимущество на сделку: avg_trade_return_pct -0.266% (ниже минимального порога любой площадки)

Sharpe -2.58 при CI [-4.39, -0.65] полностью отрицателен; PSR 0.0016; information_ratio -3.9

Катастрофический хвостовой убыток: -33.8% за один день (2026-06-10), largest_loss -$26,268, avg_position_pct 138% — безрассудное использование плеча, max_drawdown 62.3% (от CI до 93.7%)

Только 167 дней данных Hyperliquid (около 5.7 месяцев) — слишком мало для walk-forward-анализа и контрольной выборки

Направленный пробой одной акции OHLCV — класс с почти нулевым числом выживших (L9/L41)

История итераций

Проверка не пройдена (leverage_set_but_unused): в настройках задано плечо=2.0, но стратегия не использует плечо при расчёте размера позиции. Рассчитывай позиции с его учётом — номинал = капитал * доля * плечо / цена (считывай self.config.leverage) — или установи плечо=1.0. Сейчас плечо не действует, и бэктест идентичен 1x.

data_unavailable: не удалось собрать данные бэктеста для BTCUSD.HYPERLIQUID после 5 попыток: - бары (bar_type=BTCUSD.HYPERLIQUID-15-MINUTE-LAST-EXTERNAL): получено 0, требовалось 200 или интервал не менее 14 дней Блокер — слой данных, а не стратегия. Вернись к оценке этой гипотезы, когда сбор данных будет исправлен или история инструмента будет дополнена.

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