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

Стратегии

LINK Bybit 4H: пробой канала Дончиана с выходом у средней линии, длинные и короткие позиции без фильтров, базовый параметр 1 (LINKUSDT.BYBIT 4H, чистый OHLCV, вне рынка около 55% времени)

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

LinkBybitDonchianMidlineExitLS

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

LinkBybitDonchianMidlineExitLS применяла правила канала Дончиана FMZ к бессрочным контрактам LINK на Bybit: для входа цена должна была выйти за диапазон 50 баров, выход происходил у средней линии. Стратегия открывала длинные и короткие позиции и примерно половину времени оставалась вне рынка. Механизм работал согласно спецификации (50% экспозиции, 89 длинных и 78 коротких сделок, бета 0.01), однако бэктест всей истории показал отрицательное математическое ожидание: -0.446% на сделку, PF 0.886, коэффициент Шарпа -0.21 и общую доходность -15.6%. После 3 итераций аналитик по разбору бэктеста отказался от стратегии с вердиктом no_edge/negative_expectancy, подтвердив прежнее опасение QA по предварительному тесту; до оптимизации, анализа и оценки риска дело не дошло. Возможный артефакт учета на последнем баре бэктеста передан на проверку движка, но на решение он не повлиял.

Гипотеза

Основано на дайджест-статье FMZ автора 善 «Анализ стратегии канала Дончиана в исследовательской среде» (fmz.com/digest-topic/4385, раздел «Условия покупки и продажи»). В статье приведен полный набор правил: верхняя граница — максимум цены за последние N баров, нижняя — минимум, средняя линия — их среднее. Если позиции нет, открыть длинную при закрытии выше верхней границы и короткую при закрытии ниже нижней. Закрыть длинную, если цена закрытия опустилась ниже средней линии, короткую — если поднялась выше нее.……Показать большеСвернуть

Основано на дайджест-статье FMZ автора 善 «Анализ стратегии канала Дончиана в исследовательской среде» (fmz.com/digest-topic/4385, раздел «Условия покупки и продажи»). В статье приведен полный набор правил: верхняя граница — максимум цены за последние N баров, нижняя — минимум, средняя линия — их среднее. Если позиции нет, открыть длинную при закрытии выше верхней границы и короткую при закрытии ниже нижней. Закрыть длинную, если цена закрытия опустилась ниже средней линии, короткую — если поднялась выше нее. Заявления статьи о результативности не используются; решение принимает наш бэктест с учетом комиссий. Согласно L167, это не точный перенос. Здесь изложен сам механизм. Если убрать инструмент и таймфрейм, правило такое: «войти в направлении закрытия за пределами диапазона максимумов/минимумов N баров; держать позицию, пока цена не вернется к середине диапазона». Это медленный пробой тренда, допускающий отсутствие позиции, а не возврат к среднему. Это также не сделка по событию с фиксированным временем закрытия (L166), поскольку выход зависит от состояния цены. Выбран инструмент: бессрочный контракт LINKUSDT.BYBIT, бары 4H. Доля Bybit в корпусе составляет 1.4% при целевом значении не менее 5%; история баров начинается с 2021-03, примерно 5.5 лет назад, в отличие от Hyperliquid (L168). Механизму не нужны дополнительные потоки данных, поэтому запрет L160 на дополнительные триггеры Bybit неприменим. LINK — ликвидный альткоин с высокой устойчивостью тренда, не входящий в концентрацию BTC. Предыдущий провал LINK был связан с контртрендовым сигналом потока тейкерских сделок — это другой механизм. Сделка состоит из одной позиции, без сигнала на активе A и торговли активом B (L143), без фильтра по режиму рынка (L130) и без заданного вручную списка инструментов (L151). Есть один основной параметр — длина канала N = 50 баров (около 8.3 дней, как в примере статьи); для средней линии выхода используется то же N. Позиция отсутствует в промежутке между выходом у средней линии и следующим закрытием за каналом в противоположную сторону; ожидаем, что это будет около 50-60% времени. Размер позиции: риск 2% капитала относительно расстояния от цены входа до средней линии на входе (начальный стоп); номинал = 0.02*капитал / (|цена входа - средняя линия| / цена входа), не более 1.0x капитала. Кредитное плечо — 1x, поэтому усиления за счет маржи нет. Длинная позиция никогда не переворачивается сразу в короткую. Сначала позиция должна закрыться у средней линии, что исключает расходы на удвоенный номинал при перевороте, описанные в L150.

Сохранена успешно прошедшая проверку логика скользящих сигналов Дончиана и средней линии. Добавлен буфер пробоя 0.15%, превышающий приблизительные комиссии тейкера Bybit за полный круг 0.11%, чтобы уменьшить число входов на пробоях в один тик, не покрывающих издержки. Количество округляется вниз с учетом точности шага размера разрешенного инструмента; ордер отклоняется при номинале ниже $5 и повторно проверяется на соответствие нормализованному ограничению капитала.

Код ошибки: no_edge/negative_expectancy, из первого отчета с измерениями. Доходность на сделку -0.446% ниже минимального уровня для одной сделки на фьючерсах Bybit 0.15% и имеет неверный знак, поэтому речь не о просто слабом преимуществе fee_edge. Сделок: 167; PF 0.886; коэффициент Шарпа -0.21 (бутстрэп CI -1.03 до 0.63); доля прибыльных сделок 35.3%; максимальная просадка 25.4%; положительными были 2 лет из 7. Терциль волатильности в стрессовом режиме, где пробой Дончиана должен приносить прибыль, дал убыток 35%……Показать большеСвернуть

Код ошибки: no_edge/negative_expectancy, из первого отчета с измерениями. Доходность на сделку -0.446% ниже минимального уровня для одной сделки на фьючерсах Bybit 0.15% и имеет неверный знак, поэтому речь не о просто слабом преимуществе fee_edge. Сделок: 167; PF 0.886; коэффициент Шарпа -0.21 (бутстрэп CI -1.03 до 0.63); доля прибыльных сделок 35.3%; максимальная просадка 25.4%; положительными были 2 лет из 7. Терциль волатильности в стрессовом режиме, где пробой Дончиана должен приносить прибыль, дал убыток 35% при коэффициенте Шарпа -1.39. При L142/L141 эта форма выплат опровергнута: отрицательный коэффициент Шарпа на более чем 100 сделках — завершенное измерение. Изменение длины канала или выхода лишь перемещает долю прибыльных сделок относительно выплат вдоль той же кривой. Это не бета (бета 0.01). Опасение QA по предварительному тесту (PF 0.956, среднее -0.446%) подтверждено на полной истории. Сам механизм работает согласно спецификации: экспозиция 50%, длинные и короткие позиции сбалансированы, выход происходит у средней линии. Пробой канала Дончиана 4H по одному инструменту с выходом у средней линии на LINK не дает преимущества после учета издержек. На проверку движка передано следующее предположение (не проверено): последний бар 2026-04-13 показывает дневную доходность -15.44% при отсутствии позиции (последний выход 2026-04-09, end_unrealized 0); это похоже на артефакт учета в конце бэктеста. Также наблюдается парное движение -13.5%/+16.3% на 2023-06-06/07. Ни одно из этих наблюдений не меняет вердикт: доходность без последнего бара составляет около -0.2%.

Реализация

Пробой канала Дончиана на Bybit для LINKUSDT с таймфреймом 4 часа и длиной 50 баров: буфер пробоя с учетом комиссий, выход у средней линии, размер позиции относительно капитала, нормализация количества с учетом точности инструмента и соблюдение минимального номинала.

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

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

Метод min_bars_required() скрывает метод фреймворка; проверьте вызов переопределения.

Оставлять его следует только как вариант с учетом комиссий, если именно это и задумано.

Буфер пробоя 0.15% добавляет порог, которого нет в буквальном правиле гипотезы.

Предварительный тест дал существенно отрицательный результат: 167 сделок, фактор прибыли 0.956 и средняя доходность сделки -0.446%. Аналитику следует проверить преимущество стратегии Дончиана на полном бэктесте.

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

Шарп
-0,21
Общая доходность
-15,60%
Максимальная просадка
25,45%
Всего сделок
167
Доля прибыльных
35,3%
Профит-фактор
0,89

Механизм реализован точно. Входы происходят при закрытии за границами канала длиной 50 баров с буфером 0.15%; выходы — у средней линии. Длинные и короткие позиции сбалансированы (89L/78S), экспозиция составляет 50% (гипотеза предсказывала 40-50%), прямого переворота из длинной позиции в короткую нет.

Выборка достаточна: 167 сделок за 2001 дней (около 5.5 лет), пропущенных входов нет.

Это не бета: бета равна 0.01, корреляция с бенчмарком — 0.07.

Отрицательное математическое ожидание. avg_trade_return_pct составляет -0.446% против минимального уровня для одной сделки Bybit USD-M в размере 0.15% (0.11% за полный круг). PF равен 0.886, коэффициент Шарпа — -0.21 (CI -1.03 до 0.63), PSR 0.35.

Структура выплат опровергнута (L142). Доля прибыльных сделок — 0.353, а PF 0.886; соотношение средней прибыли к среднему убытку составляет около 1.6x: средняя прибыль — $2052 против среднего убытка $1265. Этого недостаточно при доле прибыльных сделок 35%.

Положительными были лишь 2 из 7 календарных лет. Терциль стрессовой волатильности потерял 35% (Sharpe -1.39) — именно в таком режиме пробой должен приносить прибыль.

Предполагаемый артефакт, механизм не проверен: на последнем баре (2026-04-13) отображается -15.44%, хотя стратегия не держит позицию. Последняя сделка закрылась на 2026-04-09, а end_unrealized_pct — это 0. Также наблюдается парное движение -13.5%/+16.3% на 2023-06-06/07. Даже без отображения последнего бара общая доходность составляет около -0.2% за 5.5 лет, поэтому вердикт от него не зависит.

Опасения QA насчет преимущества подтвердились. Предварительный тест показал PF 0.956 и среднее значение -0.446%; полная история это подтверждает.

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

sandbox_timeout: проверка не пройдена (уровень 3 — бэктест в изолированной среде): предварительный тест превысил лимит времени 300с на окне около 20000 баров (2400 дней данных LINKUSDT.BYBIT-4-HOUR-LAST-EXTERNAL). Почти всегда это означает, что работа на каждом баре растет вместе с историей: например, полный повторный просмотр ряда ставок финансирования или дополнительных данных либо создание списка с вызовом min()/sorted() внутри calculate_signal()/on_bar() на каждом баре. Предварительно отсортируйте массивы временных меток ONCE в __init__ и используйте bisect либо кэшируйте результаты по временной метке, чтобы стоимость обработки одного бара была O(log n), а не O(n).

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

Проверка не пройдена (уровень 4 — разбор QA) [класс=code_defect]: - [edge_concern] Производительность в изолированной среде носит рекомендательный характер, но входы могут происходить на пробоях всего на один тик, когда движение меньше торговых издержек Bybit. - [critical] Стратегия входит при любом закрытии выше предыдущей верхней границы или ниже предыдущей нижней, без минимального расстояния пробоя. Ожидаемое движение при пробое на один тик может быть меньше комиссий за полный круг и рыночного воздействия. (строка 69) — исправление: добавьте и применяйте буфер пробоя с учетом комиссий, существенно превышающий издержки за полный круг на площадке и ожидаемое рыночное воздействие, для входов как в длинную, так и в короткую позицию. - [warning] Количество жестко задано с точностью до одного десятичного знака без учета точности шага размера инструмента, проверки минимального номинала $5 или проверки, что нормализованное количество остается в пределах ограничения номинала. (строка 103) — исправление: округляйте с учетом точности разрешенного инструмента, отклоняйте нулевые объемы, соблюдайте минимум $5 и повторно проверяйте ограничение после нормализации.

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

Обычный пробой канала Дончиана по одному инструменту с выходом у средней линии на 4H на LINK не дал преимущества после учета издержек и принес наибольшие убытки при высокой волатильности — в режиме, когда стратегия должна зарабатывать. Изменение длины канала или точки выхода лишь повлияло бы на соотношение доли прибыльных сделок и выплат вдоль той же кривой.

При разборе бэктеста аналитик отказался от стратегии до оптимизации с кодом ошибки no_edge/negative_expectancy: доходность на сделку была отрицательной и ниже минимального уровня Bybit 0.15%, а соотношение выплат 1.6x не могло обеспечить долю прибыльных сделок 35%. Предполагаемый артефакт учета последнего бара (-15.44% при отсутствии позиции) передан на проверку движка; без этого бара доходность все равно составляла около -0.2%, поэтому вердикт не изменился.

Пробой канала Дончиана на LINKUSDT.BYBIT 4H-барах, длинные и короткие позиции, длина канала 50 баров: вход при закрытии за диапазоном максимумов/минимумов N баров, выход при возврате цены к средней линии канала. Риск позиции — 2% капитала относительно расстояния до средней линии при кредитном плече 1x.

За примерно 5.5 лет (2001 дней, 167 сделок) доходность составила -15.6%, коэффициент Шарпа — -0.21 (CI -1.03 до 0.63), фактор прибыли — 0.886, доля прибыльных сделок — 35.3%, avg_trade_return_pct -0.446%, максимальная просадка — 25.4%. Положительным был лишь 2 год из 7, а терциль волатильности в стрессовом режиме принес убыток 35% (коэффициент Шарпа -1.39).

Анализ

Анализ стратегии канала Дончиана в исследовательской среде

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