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

Стратегии

Система Turtle Two для трёх активов Hyperliquid с независимыми стопами Whipsaw

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

HyperliquidThreeAssetTurtleWhipsaw

Сводка по итогам

После трёх итераций стратегия проверила адаптацию Turtle Whipsaw с подтверждением по закрытию и ограниченным повторным входом на трёх активах Hyperliquid. Она закрыла 86 неттированных позиций, но понесла убыток 4.67%; коэффициент Шарпа составил -0.215, фактор прибыли — 0.772. По итогам проверки бэктеста фиксированный эксперимент отвергли из-за отрицательного математического ожидания, поэтому до оптимизации и последующих проверок дело не дошло.

Гипотеза

Один эксперимент с фиксированными параметрами адаптирует исходный пробой за 55 дней, пирамидинг до четырёх юнитов и независимые стопы Whipsaw на половине ATR для бессрочных контрактов ATOM, NEAR и UNI. Торговля ведётся в обоих направлениях по завершённым дневным каналам UTC и исполняется на барах длительностью 4 часов. Каждый остановленный юнит может повторно войти по исходному уровню входа, пока кампания пробоя активна. Заявления источника о результативности не проверены. Это адаптация, а не точное воспроизведение: исполнение подтверждается закрытием, риск снижен, частота повторных входов ограничена.

Доля Hyperliquid занижена: 8.5% против целевого значения 20%, тогда как эксперименты только с длинными позициями и одним символом представлены избыточно. Концентрация корпуса отсутствует, поэтому утверждать новизну на уровне символов нельзя. В локальных каталогах есть дневные файлы Parquet и файлы с барами 4 часов для всех трёх инструментов; точный исторический охват ещё нужно проверить. Существенное отличие от неудачных переносов Turtle 20/10 — независимый жизненный цикл юнитов Whipsaw и механизм повторного входа в сочетании с фактическими каналами за 55 дней, а не барами исполнения 55. Это эксперимент в семействе стратегий следования за трендом со слабой исходной вероятностью успеха после прежних неудач Turtle; отрицательный результат фиксированных правил должен закрыть эту постановку без подбора параметров.

negative_expectancy: отказаться от оптимизации этой фиксированной адаптации Turtle Whipsaw для трёх активов, поскольку фактическое исполнение после издержек убыточно на 86 закрытых неттированных позициях; PF 0.772, а средняя доходность закрытой позиции -2.588% ниже порога проверки +0.15%. Это отвергает указанный эксперимент с подтверждением закрытием ATOM/NEAR/UNI и ограниченным повторным входом, но не исходную систему Turtle и не следование за трендом в целом. Это не доказывает, что у всех альтернативных конфигураций параметров отсутствует преимущество.

Реализация

Система Turtle Two для ATOM, NEAR и UNI — бессрочных контрактов Hyperliquid. Входы происходят после завершённых дневных пробоев за 55 UTC, подтверждённых закрытием 4-часового бара; до 4 юнитов добавляются с шагом в 0.5 замороженных ATR. У каждого юнита свой стоп Whipsaw на 0.5-ATR, и он может повторно войти по исходному уровню, пока кампания активна. Кампания завершается при закрытии противоположного канала за 20 дней или по истечении 90 дней.

В итерации 3 меняется только учёт ордеров, как просил QA; сигналы, входы, размер позиций и лимиты риска остаются прежними. При запросе отмены заменённый стоп больше не забывается. Его клиентский идентификатор ордера ID хранится в строковом скалярном поле юнита u{slot}_pending_stops до конечного события: подтверждения отмены, исполнения, отклонения, истечения срока или отказа в отмене закрытого ордера. Исполнения этих ожидающих стопов вычитаются из объёма юнита. После частичного исполнения входа новый стоп размещается функцией _protect только после завершения всех прежних стопов и покрывает сверенный остаток объёма юнита, поэтому не перекрывает их и не сокращает объём других юнитов. Выходы из кампании для юнита откладываются, пока у него есть ожидающие стопы, чтобы рыночный выход рассчитывался по фактически оставшемуся объёму после исполнения стопа, опередившего отмену. Новые обработчики отмены, истечения срока и отказа в отмене либо снова защищают юнит, либо продолжают закрытие кампании. Процесс завершения в режиме closing также ожидает окончания ожидающих и действующих стопов.

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

Песочница показывает отрицательную чистую доходность и низкую долю прибыльных сделок. Оцените фиксированные правила за весь исторический период; результаты этих дымовых тестов не доказывают дефект корректности. Статистика закрытых позиций на неттинговом счёте объединяет жизненные циклы юнитов, поэтому её не следует трактовать как доходность отдельных юнитов Whipsaw.

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

Шарп
-0,21
Общая доходность
-4,67%
Максимальная просадка
14,61%
Всего сделок
86
Доля прибыльных
8,1%
Профит-фактор
0,77

Стратегия работает на всех трёх активах: 86 закрытых неттированных позиций, включая 35 длинных и 51 коротких. Код реализует дневные каналы пробоя, пирамидинг и независимые стопы юнитов; выборочные сделки показывают как срабатывания коротких стопов, так и продолжительные короткие кампании.

Учёт сходится, все позиции закрыты, а в проверенных входных данных OHLCV нет пропущенных баров.

Фактический чистый убыток — $4,669.90 (-4.67%); PF 0.772, коэффициент Шарпа — -0.215. Заявленная средняя доходность закрытой позиции составляет -2.588%, что ниже порога проверки Hyperliquid +0.15%; эти сводные показатели не отражают доходность отдельных юнитов Whipsaw.

Согласно подробным записям, чистый PnL составляет +$1,044.60 для ATOM, -$4,038.26 для NEAR и -$1,676.24 для UNI. Убытки портфеля сохраняются даже при возврате заявленных комиссий и издержек воздействия на рынок.

Экономическое опасение QA подтверждается результатами за весь период. Зарегистрированный эксперимент не имеет настраиваемых параметров, а проверенных дефектов корректности, которые оправдывали бы итерации разработчика, нет.

Предоставленный ориентир помечен как не имеющий смысла; отставание от стратегии «купи и держи» не используется как основание для отклонения.

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

Проверка не пройдена (уровень 3 — бэктест в песочнице): Недопустимое `value` для объёма: 1.4210854715202004E-14 округлено до нуля из-за шага размера 0.00000001 и точности размера 8 Тип бара: ATOMUSD.HYPERLIQUID-4-HOUR-LAST-EXTERNAL, обработано баров: 0 Убедитесь, что стратегия совершает сделки с заданными данными и параметрами.

Проверка не пройдена (уровень 4 — проверка QA) [класс=code_defect]: - [edge_concern] Песочница показывает отрицательное математическое ожидание после издержек. Это справочный результат; оценка за всю историю должна проверить фиксированные правила после исправления учёта ордеров. - [critical] _cancel_stop сразу очищает ордер стопа ID после запроса на отмену. Отмена выполняется асинхронно: старый стоп может исполниться до её завершения. Тогда on_order_filled не сможет определить это исполнение, и объём юнита……Показать большеСвернуть

Проверка не пройдена (уровень 4 — проверка QA) [класс=code_defect]: - [edge_concern] Песочница показывает отрицательное математическое ожидание после издержек. Это справочный результат; оценка за всю историю должна проверить фиксированные правила после исправления учёта ордеров. - [critical] _cancel_stop сразу очищает ордер стопа ID после запроса на отмену. Отмена выполняется асинхронно: старый стоп может исполниться до её завершения. Тогда on_order_filled не сможет определить это исполнение, и объём юнита останется завышенным. При замене защиты после частичного входа новый стоп поэтому может сократить другие юниты в неттированной позиции; при закрытии кампании рыночные выходы могут быть отправлены на объём, уже закрытый стопами. reduce_only не позволяет открыть противоположную позицию, но не сохраняет раздельный учёт юнитов. (строка 171) — исправление: сохранять связь ордера ID с юнитом для каждого активного стопа и стопа с ожидающей отменой до обработки его конечного события. Учитывать исполнения заменённых стопов, сверять заменяющую защиту и ожидающие выходы с оставшимся объёмом юнита и явно обрабатывать подтверждения отмены. Проверить гонку исполнения стопа с заменой и отменой при закрытии кампании.

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

_cancel_stop сразу очищает ордер стопа ID после запроса на отмену. Отмена выполняется асинхронно: старый стоп может исполниться до её завершения. Тогда on_order_filled не сможет определить это исполнение, и объём юнита останется завышенным. При замене защиты после частичного входа новый стоп поэтому может сократить другие юниты в неттированной позиции; при закрытии кампании рыночные выходы могут быть отправлены на объём, уже закрытый стопами. reduce_only не позволяет открыть противоположную позицию, но не сохраняет раздельный учёт юнитов.

Проверка не пройдена (уровень 4 — проверка QA) [класс=code_defect]: - [edge_concern] Песочница показывает отрицательное чистое математическое ожидание. Это справочный результат; оценка результативности за всю историю — задача аналитика. Денежные потоки финансирования не моделировались. - [critical] Ордеры выхода из кампании, отменённые или истёкшие, не очищают exit_oid. Оба обработчика конечных событий вызывают _terminal_stop(), который обрабатывает только защитные стопы. Рыночные ордера Hyperliquid исполняются……Показать большеСвернуть

Проверка не пройдена (уровень 4 — проверка QA) [класс=code_defect]: - [edge_concern] Песочница показывает отрицательное чистое математическое ожидание. Это справочный результат; оценка результативности за всю историю — задача аналитика. Денежные потоки финансирования не моделировались. - [critical] Ордеры выхода из кампании, отменённые или истёкшие, не очищают exit_oid. Оба обработчика конечных событий вызывают _terminal_stop(), который обрабатывает только защитные стопы. Рыночные ордера Hyperliquid исполняются как лимитные ордера IOC, поэтому частично исполненный выход может завершиться с оставшимся объёмом. Тогда у юнита нет защитного стопа, а устаревший exit_oid мешает _close_campaign() отправить новый выход и навсегда блокирует кампанию. — исправление: обрабатывать отмену и истечение срока для идентификаторов входа и выхода, а также стопов. Очищать идентификаторы конечных выходов, сверять оставшийся объём и сразу возобновлять ликвидацию кампании. Проверить сценарии «частичное исполнение — отмена» и «частичное исполнение — истечение срока». - [critical] При отклонении или запрете защитного стопа _failed_order() очищает его ID и устанавливает closing=True, но не отправляет ордер на ликвидацию. Позиция остаётся без защиты до следующего синхронизированного решения по портфелю, потенциально четыре часа или дольше, если по одной из сторон отсутствуют данные. Это лишает смысла независимую защиту со стопом на расстоянии половины ATR. — исправление: немедленно запускать ликвидацию кампании после отклонения или запрета защитного стопа и предусмотреть ограниченные повторы при неудаче ликвидационных ордеров. Проверить, что ликвидация начинается без ожидания нового бара. - [critical] _update() не всегда сбрасывает дневные индикаторы после разрывов. При незавершённом закрытии в полночь он очищает историю и ATR, но оставляет значения ready и канала, рассчитанные до сброса, позволяя _manage() использовать устаревшие каналы на этом баре. Целые дни пропуска UTC также не обнаруживаются: ветка смены дня обходит проверку разрыва временных меток. Поэтому канал может представлять 55 наблюдавшихся дней, растянутых более чем на 55 календарных дней. — исправление: обнаруживать разрывы до расчёта готовности или каналов, немедленно сбрасывать готовность и значения каналов, а перед новыми входами заново набирать последовательную историю завершённых дневных баров. Во время восстановления продолжать сопровождать действующие защитные стопы.

Сводка по итогам

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

По итогам проверки бэктеста решили отказаться от стратегии из-за отрицательного математического ожидания и доходности ниже порога проверки +0.15%; убытки сохранились даже после возврата заявленных комиссий и издержек воздействия на рынок. У фиксированного эксперимента не было настраиваемых параметров или подтверждённых дефектов корректности, которые оправдывали бы итерации; до оптимизации и последующих проверок дело не дошло.

Отслеживать длинные и короткие тренды в бессрочных контрактах Hyperliquid ATOM, NEAR и UNI с помощью пробоев за 55 дней, пирамидинга до четырёх юнитов, независимых стопов на половине ATR и ограниченного повторного входа.

Бэктест показал -4.67% на 86 закрытых неттированных позициях; коэффициент Шарпа — -0.215, фактор прибыли — 0.772, максимальная просадка — 14.61%. Средняя доходность закрытой позиции составила -2.588%; эти сводные показатели не отражают доходность отдельных юнитов Whipsaw.

Анализ

Техническая суть торговых правил системы Turtle

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