Стратегии
ETH OKX Вход при развороте полосы SuperTrend, более узкий выход по «люстре», явное состояние вне рынка, длинные и короткие позиции (ETHUSDT.OKX 4H, канонические ATR10 x 3, чистый OHLCV)
Итог: Отменено
EthOkxSuperTrendFlipChandelier
Сводка по итогам
EthOkxSuperTrendFlipChandelier перенёс сигнал разворота SuperTrend на 4H ETH на OKX, добавил выход по индикатору Chandelier и явное состояние без позиции, после чего стратегия прошла проверку бэктеста и перешла к оптимизации после первого бэктеста с результатом +170.9%. Этот результат был хрупким: коэффициент Шарпа 0.60, PF 1.17 и просадка 53%. Оптимизация сузила полосы, из-за чего оборот более чем удвоился, а реализованная доходность составила -81%; на отложенной выборке коэффициент Шарпа оказался равен -0.43. Аналитик отказался от стратегии после 2 итераций, признав её no_edge; он отметил подозрение на артефакт разметки MTM, лежащий в основе проходных показателей устойчивости, а также то, что семейство стратегий с сигналом разворота SuperTrend на ETH теперь провалилось в двух вариантах.
Гипотеза
Итерация 2 исправляет leverage_set_but_unused. position_size теперь напрямую считывает self.config.leverage (прежняя форма getattr() скрывала его от проверки) и использует его в ограничении номинала. risk_pct изменено с 0.02 на 0.03, чтобы ограничение с учётом плеча (1.5x капитала) действительно срабатывало при низком ATR: оно действует, когда расстояние до стопа меньше 2%, то есть 4H ATR ниже примерно 1% цены. Следовательно, плечо не является инертным. Логика сигнала, входа и выхода, а также импорты не изменены.
Реализация
ETHUSDT.OKX 4H, длинные и короткие позиции. Развороты направления SuperTrend (Уайлдер ATR10 x 3.0 на hl2, полосы с последовательным смещением) — единственный триггер входа. Каждая позиция закрывается при закрытии свечи за трейлингом «люстра» 2xATR (экстремум с момента входа) либо при неблагоприятном развороте, после чего стратегия остаётся вне рынка до следующего разворота. Размер позиции рассчитывается исходя из риска 3% капитала относительно расстояния до стопа «люстра»; номинал ограничен значением 0.75 x капитала x плечо из конфигурации (2x).
Результаты верификации
Рассмотри risk_pct 0.015-0.02. При желании добавь защитный стоп-приказ с фиксированным уровнем начального трейлинга «люстра», чтобы заявленный риск соблюдался внутри свечи.
Бюджет риска на сделку составляет risk_pct=0.03 (3% капитала) относительно расстояния до уровня выхода по индикатору Chandelier. В уроке L148 требуется, чтобы расстояние стопа × размер позиции <= 1-2% капитала. Стоп также оценивается на закрытии 4H, поэтому гэпы и быстрые свечи могут привести к превышению заданного уровня. Совокупный номинальный объём независимо ограничен: max_notional_frac(0.75) x плечо(2) = 1.5x капитала, что укладывается в лимит площадки. Предусмотрено состояние без позиции, поэтому стратегия не имеет профиля, ведущего к взрывному росту риска при реинвестировании. Песочница avg_position_pct — 76%, ликвидации не было.
Изменения не требуются. Если предполагается трактовка «после разворота — вне рынка», сбрасывай _armed_dir, когда выход вызван неблагоприятным разворотом.
Если позиция всё ещё открыта в момент неблагоприятного разворота SuperTrend, should_exit закрывает её на свече разворота. Затем активированный разворот открывает позицию в противоположном направлении на следующей свече (базовый шаблон никогда не выходит из позиции и не входит в новую на одной свече). Это разворот с задержкой в одну свечу. Такая логика согласуется с правилом «разворот — единственный триггер входа в любом направлении», но больше напоминает стоп-разворот, чем предполагает формулировка «автоматических разворотов нет». На практике трейлинг-стоп «люстра» 2xATR обычно срабатывает раньше разворота полосы 3xATR, поэтому такой сценарий редок.
Оставить без изменений.
Переопределение min_bars_required перекрывает базовый метод (статическое предупреждение). Это безвредно: метод возвращает atr_period+5, а состояние SuperTrend инициализируется из self._bars[:-1] при первом вызове calculate_signal, в том числе во время начального прогрева для торговли на реальном счёте.
Песочница (одна неоптимизированная выборка, 2299 дней): всего +198%, коэффициент Шарпа 0.49 с CI [-0.26, 1.24], PSR 0.79, PF 1.20, максимальная DD 49% с длительностью DD в 1207 дней; информационный коэффициент относительно стратегии «купи и держи» отрицательный. Шок ставки 2022 составил -15%. Доходность на сделку равна 0.51% от номинала, что с запасом покрывает круговую сделку стоимостью около 0.10% при пороге OKX. Слабые места — значимость и просадка, а не комиссии. Кроме того, funding_folded=false при funding_events_available=0, поэтому финансирование бессрочного контракта OKX не включено в прибыль и убыток (NOT). При экспозиции около 29% и удержании позиций по 2 дней это небольшое упущение, но длинная позиция в бычьи годы выглядит выгоднее, чем была. Сначала проверь, сохраняется ли результат с учётом финансирования и сосредоточено ли преимущество в 2020-2021.
Обзор бэктеста
- Шарп
- 0,60
- Общая доходность
- 170,93%
- Максимальная просадка
- 53,46%
- Всего сделок
- 310
- Доля прибыльных
- 38,7%
- Профит-фактор
- 1,17
Выборка соответствует ожидаемому объёму: 310 сделок за 2,299 дней, 155 длинных и 155 коротких. Это соответствует входу по развороту SuperTrend на таймфрейме 4H, выходу по «люстре» и состоянию вне рынка. entry_diag работает без сбоев: сигналов 310, отправлено 310, ни один не потерян.
Сделки соответствуют гипотезе. На разворотах открываются сбалансированные длинные и короткие позиции; среднее удержание — около 2 дней, экспозиция — 29%.
Экономика каждой сделки покрывает издержки. avg_trade_return_pct составляет 0.51% (невзвешенное среднее — 0.29%), тогда как круговая сделка по OKX обходится примерно в 0.10%. Комиссия составляет 4.6% от валовой прибыли, влияние рынка — 13%.
Финансирование теперь учтено (-$27.6 тыс.), и результат по-прежнему сохраняется: реализованный реестр заканчивается на $270.9 тыс., что согласуется с общей доходностью +170.9%; end_unrealized составляет 0.
Опасение по поводу QA подтвердилось лишь отчасти. Преимущество не ограничено 2020-21: 2024 принёс +$111 тыс. реализованной прибыли. Бета равна 0.02, корреляция — 0.05, поэтому это не замаскированная длинная позиция.
Просадка реальна. Восстановление кривой капитала по закрытым сделкам даёт максимальную DD 53.8%, которая длилась 1,207 дней, при стандартном фьючерсном параметре 20%. Размер позиции агрессивный: risk_pct 0.03, средняя позиция — 84% капитала.
Статистическая значимость низкая. Коэффициент Шарпа равен 0.60, а его CI составляет от -0.13 до 1.36; PSR — 0.85. PF — 1.17, доля прибыльных сделок — 0.387 (форма выплат «урок L142», рекомендация).
У длинной позиции преимущество близко к нулю: +$15 тыс. на 155 сделках. Короткие позиции принесли +$156 тыс.
Реализованные прибыль и убыток по годам непоследовательны: 2022 -$41k, 2023 -$31k, 2025 -$20k. Это ровно нижний порог 60% прибыльных лет.
Подозревается артефакт метрик, механизм не проверен. У daily_returns регулярно встречаются парные значения около -17%, а затем +21% в дни без открытой позиции (например, 2023-04-16/17, 2023-03-24/25); к 2024 они увеличиваются до -29.6/+40.5. Они завышают волатильность, VaR и знаменатель коэффициента Шарпа. Проверь это на тестовом стенде.
Анализ
Механизм реализован согласно гипотезе: вход только при разворотах SuperTrend, выход по трейлингу «люстра», явное состояние вне рынка, сбалансированные длинные и короткие позиции (155/155 в первом отчёте, 394/394 после оптимизации).
Первый отчёт проходит порог комиссий: avg_trade_return_pct 0.51% при круговой сделке стоимостью около 0.10% OKX (порог 0.15%); комиссии составляют 4.6% от валовой прибыли.
Параметров с резким порогом нет. PBO 0.07, CPCV OOS 1.62, DSR 0.978.
Дело не в бете: бета 0.02, корреляция 0.05.
Провал проверки на отложенной выборке HARD: коэффициент Шарпа -0.43 на 167 сделках за 459 дней периода, не использованного при оценке (2025-01-05 — 2026-04-09), z_vs_oos -2.2, consistent_with_oos=false. Выборка достаточна, результат на новых данных измерен и отрицателен.
Реализованный реестр оптимизированной стратегии обрушился: total_return -81.4%, PF 0.90, максимальная просадка 93.8% при предварительно зарегистрированном пороге 30%, avg_trade_return_pct -0.037% (ниже издержек) и 2024 при -100%. Оптимизатор сузил st_factor до 1.51, а трейлинг «люстра» — до 1.19; оборот более чем удвоился (с 310 до 788 сделок), а avg_position_pct вырос до 172%.
metrics_reliable=false. Оптимизированный коэффициент Шарпа 1.47, коэффициенты Шарпа CPCV и DSR рассчитаны по дневному ряду MTM, знак которого не совпадает со знаком реализованной доходности -81%. В этом ряду регулярно встречаются парные дни с результатами -X%/+Y% (например, -60.19/+137.94 на 2022-09-12/13 и -86.28/+612.72 на 2024-08-06/07). В первом отчёте та же закономерность повторяется с идентичными парами (-17.0582/+20.5665 и на 2023-03-24/25, и на 2023-04-16/17). Подозреваю артефакт переоценки, но механизм не проверен. Поэтому прошедшая проверку «устойчивая» статистика OOS/DSR/PBO не подтверждает наличие преимущества.
Первый отчёт уже был слабым: коэффициент Шарпа 0.60 при CI от -0.13 до 1.36 (стрэддлы 0), PF 1.17, доля прибыльных сделок 0.387, максимальная просадка 53% против заранее зарегистрированного значения 30%, убыточные годы: 2022, 2023 и 2026, а максимальная длительность просадки составила 1207 дней.
Предварительно зарегистрированный прогноз выполнен по 3 из 6 проверок; не достигнуты пороги максимальной просадки, PF и avg_trade.
Не проходит программу FDR.
История итераций
Проверка не пройдена (leverage_set_but_unused): конфигурация задаёт leverage=2.0, но стратегия нигде не использует плечо при расчёте размера позиции. Используй его для расчёта: номинал = капитал * доля * плечо / цена (считывай self.config.leverage) — или установи leverage=1.0. В текущем виде плечо инертно, а бэктест идентичен 1x.
Сводка по итогам
Покрытия издержек на сделку недостаточно: для разворотов полос SuperTrend/ATR на отдельном крупном активе нужен новый сигнал-фильтр. К оптимизированным алгоритмом узким полосам, увеличивающим оборот, следует относиться с недоверием, если статистика устойчивости рассчитана по ненадёжному ряду MTM.
Аналитик отклонил стратегию, классифицировав её как no_edge. Она не прошла проверку на отложенной выборке HARD (коэффициент Шарпа -0.43 за 459 не использованных ранее дней, z_vs_oos -2.2); успешные показатели CPCV OOS 1.62, DSR 0.978 и PBO 0.07 получены по ряду MTM с пометкой metrics_reliable=false, знак которого расходился с реализованной прибылью и убытком. Первый отчёт уже был слабым: интервал коэффициента Шарпа CI пересекал порог 0, просадка превысила предварительно зарегистрированный порог 30%, убыточными были годы 2022, 2023 и 2026, а программа FDR не была пройдена.
Длинно-короткая стратегия ETHUSDT.OKX 4H, использовавшая канонический SuperTrend (ATR10 x 3) только как сигнал входа при развороте полосы. Выход — по более узкому трейлинг-стопу «люстра» 2xATR, после чего стратегия оставалась вне рынка до следующего разворота. Исходную стратегию со стоп-разворотом на таймфрейме 15м переформулировали, чтобы избежать комиссий.
Первый бэктест показал +170.9% за 2,299 дней на 310 сделках (155 длинных, 155 коротких), при avg_trade_return_pct 0.51%, коэффициенте Шарпа 0.60 (CI от -0.13 до 1.36), PF 1.17 и максимальной просадке 53%. Оптимизированная конфигурация (st_factor 1.51, трейлинг «люстра» 1.19) принесла -81.4% на 788 сделках при просадке 93.8% и avg_trade_return_pct -0.037%; проверка на отложенной выборке провалена: коэффициент Шарпа -0.43 на 167 сделках.
Анализ
SuperTrend V.1 — система линий супертренда
Stratmill — это инструмент для исследований и бумажной торговли, а не финансовая консультация или брокер. Результаты бэктестов и бумажной торговли являются гипотетическими. Торговля сопряжена с риском убытков.