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

Стратегии

ADA бессрочный контракт: истощение потока ордеров и дивергенция, длинно-короткая стратегия (один инструмент ADAUSDT.BINANCE USD-M — ставка против ценовых экстремумов, не NOT подтверждённых агрессивным потоком TAKER: короткая позиция при новом максимуме на ослаблении давления покупок тейкеров BUY, длинная — при новом минимуме на ослаблении давления продаж тейкеров SELL; заданный риск, 3 параметров)

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

AdaTakerFlowExhaustionDivergenceLS

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

Эта стратегия попыталась дать платформе новый ракурс — определять, кто проявляет агрессию, а не только куда двигалась цена, — уходя от ADA ценовых экстремумов, которые агрессивный ордерный поток тейкеров не подтвердил, и следуя единственному уцелевшему архетипу платформы: сделки по одному инструменту на одной площадке, длинные и короткие позиции, определённый риск. К итерации 3 разработчик хорошо выполнил инженерную работу: создал действительно ортогональный сигнал потока, настоящий внутрибараный скобочный ордер……Показать большеСвернуть

Эта стратегия попыталась дать платформе новый ракурс — определять, кто проявляет агрессию, а не только куда двигалась цена, — уходя от ADA ценовых экстремумов, которые агрессивный ордерный поток тейкеров не подтвердил, и следуя единственному уцелевшему архетипу платформы: сделки по одному инструменту на одной площадке, длинные и короткие позиции, определённый риск. К итерации 3 разработчик хорошо выполнил инженерную работу: создал действительно ортогональный сигнал потока, настоящий внутрибараный скобочный ордер stop_market OCO вместо опровергнутого стопа по цене закрытия, а также расчёт размера позиции по риску с жёстким ограничением номинала и без множителя плеча; всё это было аккуратно измерено на 512 сделках. Но преимущества просто не оказалось: фактор прибыли 0.77, доходность -60.6%, отрицательное математическое ожидание на сделку, просадка 61.6%, а доля прибыльных сделок в обоих направлениях во всех годах с 2022 по 2026 была ниже 26%. Аналитик закрыл стратегию при проверке бэктеста, поскольку это опровергнутый вариант стратегии ухода от экстремумов с отрицательным математическим ожиданием из семейства альтернативного возврата к среднему, неоднократно проваливавшегося в этой сессии; области параметров, достойной оптимизации, не нашлось.

Гипотеза

Стратегия разворота LONG-SHORT, SINGLE-INSTRUMENT, SINGLE-VENUE на бессрочном контракте ADAUSDT.BINANCE USD-M, которая добавляет ONE действительно новый, ортогональный источник информации — агрессивный ордерный поток TAKER (объём покупок тейкерами против объёма продаж тейкерами) — к ценовому сигналу; именно такое дополнение допускает L38 (новый источник информации, а не клон импульса или замена символа). Механизм — дивергенция ордерного потока EXHAUSTION DIVERGENCE: ценовой экстремум заслуживает доверия, только……Показать большеСвернуть

Стратегия разворота LONG-SHORT, SINGLE-INSTRUMENT, SINGLE-VENUE на бессрочном контракте ADAUSDT.BINANCE USD-M, которая добавляет ONE действительно новый, ортогональный источник информации — агрессивный ордерный поток TAKER (объём покупок тейкерами против объёма продаж тейкерами) — к ценовому сигналу; именно такое дополнение допускает L38 (новый источник информации, а не клон импульса или замена символа). Механизм — дивергенция ордерного потока EXHAUSTION DIVERGENCE: ценовой экстремум заслуживает доверия, только если агрессивный поток рыночных ордеров движется в том же направлении. Когда цена медленно достигает нового локального HIGH, но чистое давление тейкеров-BUY за этим движением оказывается FALLING (ралли держится на пассивном дрейфе / ослаблении агрессии), движение выдыхается и склонно к развороту → SHORT; зеркальная ситуация — новый локальный LOW, достигнутый при WEAKENING давлении тейкеров-SELL → LONG. Это отличается от всех идей в моём списке на рассмотрении: это не импульс (ETH цена-OI), не контртрендовая стратегия на основе ставки финансирования (DOGE), не структура ложного пробоя (XRP) и не опционы (BTC календарь); стратегия отслеживает, WHO ли агрессивный поток, а не только то, куда двигалась цена. Она намеренно следует единственному архетипу, который выдержал проверку в этой фабрике: один инструмент, одна площадка, длинные и короткие позиции, определённый риск, управление с помощью трейлинг-стопа, мало параметров; и остаётся LOW-FREQUENCY на часовых барах 4 с целями в несколько процентов, так что затраты на полный цикл около 0.10% USD-M несущественны (это позволяет избежать кладбища fee_edge). Структурный стоп HARD на экстремуме дивергенции и ограничение плеча 2x по своей конструкции исключают возможность ликвидации / обвала -100%, погубившего предыдущую одноинструментную стратегию MR. ADA — ликвидный символ с высокой долей розничных участников, не относящийся к BTC/ETH/SOL/XRP/DOGE (он диверсифицирует мои инструменты), ордерный поток которого несёт сильные, пригодные для эксплуатации признаки истощения. Параметры 3 — чтобы противостоять переобучению, которое чаще всего губит стратегии в журнале.

Эта итерация устраняет ONLY два взаимосвязанных дефекта управления риском, выявленных при проверке Layer-4 QA, оставляя путь сигнала побайтно идентичным (он прошёл Layers 1-3). Дефект 1, стоп по цене закрытия: should_exit мог сравнивать pnl со стопом только на закрытии NEXT 4H, поэтому бар, резко прошедший уровень, закрывал позицию далеко за ним. Исправлено переопределением _submit_entry для выставления скобочного ордера OCO через self.order_factory.bracket(...) — пассивный дочерний ордер stop_market, который……Показать большеСвернуть

Эта итерация устраняет ONLY два взаимосвязанных дефекта управления риском, выявленных при проверке Layer-4 QA, оставляя путь сигнала побайтно идентичным (он прошёл Layers 1-3). Дефект 1, стоп по цене закрытия: should_exit мог сравнивать pnl со стопом только на закрытии NEXT 4H, поэтому бар, резко прошедший уровень, закрывал позицию далеко за ним. Исправлено переопределением _submit_entry для выставления скобочного ордера OCO через self.order_factory.bracket(...) — пассивный дочерний ордер stop_market, который исполняется INTRABAR по цене стопа, плюс лимитный TP на уровне tp_r x R. Это точное решение уже проверено на упомянутой ревьюером родственной стратегии на ложный пробой AVAX, с тем же API и тем же переопределением _submit_exit (отменить пассивные дочерние ордера, затем закрыть позицию) для резервного пути. Я сохранил проверки базового класса на прогрев и готовность рынка внутри переопределения, поэтому поведение в live/paper не меняется. Дефект 2, усиление выхода за уровень плечом: ревьюер показал, что при min_stop_pct=0.8% и risk_frac=0.02 требуемый номинал составлял 2.5x, из-за чего сделки с узким стопом упирались в потолок плеча 2x (avg_position_pct 120.8%), превращая выход за уровень 18% в убыток 37% капитала. Исправлено полным удалением множителя плеча из position_size, заменой его абсолютным ограничением max_notional_frac=0.50, уменьшением risk_frac до 0.01 и повышением min_stop_pct с 0.8% до 1.5%, чтобы лимит больше не достигался регулярно. Поскольку плечо больше не учитывается при расчёте размера позиции, плечо в конфигурации установлено в 1.0, как требуют правила (без leverage_set_but_unused); фьючерсная площадка по-прежнему подходит, поскольку стратегия открывает короткие позиции. Убыток на сделку при исполнении по пассивному стопу составляет теперь около 1% капитала плюс проскальзывание исполнения, а валовая экспозиция никогда не превышает половины капитала. Таким образом, путь к просадке 49.6% / разовому убытку -37k закрыт самой конструкцией, а не декларацией. Два замечания для ревьюера. Во-первых, побочный эффект скобочного ордера таков: пока дочерние ордера SL/TP остаются активными, проверка orders_open базового класса пропускает _process_primary, поэтому выходы по отдаче трейлинг-прибыли, противоположной дивергенции и времени становятся резервными и срабатывают, только когда нет активного защитного ордера; теперь выплату определяют фиксированные стоп 1R / цель 2.5R скобочного ордера. Это действительно меняет профиль выхода и должно улучшить второй вывод ревьюера (avg_win $3290 ~= avg_loss $3203 при доле прибыльных сделок 45.8%), поскольку соотношение «вознаграждение:вознаграждение» положительно по конструкции, но доля прибыльных сделок снизится, и я не подбирал пороги ради её повышения. Во-вторых, я согласен с опасением ревьюера насчёт отсутствия преимущества и не оспариваю его: profit_factor 0.87 и avg_trade_return_pct ~0.003% показывают, что в этой выборке стратегия игры на возврат цены после отклонения не принесла прибыльного возврата с учётом издержек. Я исправил дефект риска, как было указано, и не пытался повторно подбирать параметры сигнала, чтобы спасти доходность; если бэктест с ограниченным хвостовым риском всё ещё не покажет преимущества, от этой стратегии следует отказаться из-за несостоятельности самого механизма, а не продолжать дорабатывать.

Убедительный чистый убыток, пересекающий порог жёсткого отказа по просадке >50% (L19). profit_factor 0.77 (<1.0), total_return -60.6%, коэффициент Шарпа -0.18, avg_trade_return_pct -0.398% (отрицательный), max_drawdown 61.6% (CI до 92.8%), матожидание -$116 на сделку по 512 сделкам — убыток в каждом году 2022-2026, а скользящий коэффициент Шарпа отрицателен почти на всём историческом отрезке. Обе стороны убыточны (long_win_rate 25.6%, short_win_rate 24.0%), поэтому исходная предпосылка — что ценовой экстремум, не……Показать большеСвернуть

Убедительный чистый убыток, пересекающий порог жёсткого отказа по просадке >50% (L19). profit_factor 0.77 (<1.0), total_return -60.6%, коэффициент Шарпа -0.18, avg_trade_return_pct -0.398% (отрицательный), max_drawdown 61.6% (CI до 92.8%), матожидание -$116 на сделку по 512 сделкам — убыток в каждом году 2022-2026, а скользящий коэффициент Шарпа отрицателен почти на всём историческом отрезке. Обе стороны убыточны (long_win_rate 25.6%, short_win_rate 24.0%), поэтому исходная предпосылка — что ценовой экстремум, не подтверждённый агрессивным потоком тейкеров, сменится разворотом — опровергнута: у стратегии на дивергенции истощения нет направленного преимущества после издержек ни в одну сторону. Это не хрупкость к комиссиям (avg_trade_return_pct отрицателен, а не просто низок) и не проблема настройки: при отрицательном преимуществе во всех режимах и просадке 62% не существует области параметров для оптимизации; оптимизация с выбором лучшего результата среди -225 испытаний лишь переобучится на несколько удачных месяцев. Это альтернативное семейство стратегий возврата к среднему с игрой на развороте, которое неоднократно проваливалось в этой сессии. Откажитесь от него согласно правилам PF<1.0 / отрицательная доходность / отрицательный avg_trade_return_pct / >50%-DD, а не тратьте 2 часов на оптимизацию.

Реализация

Разворот при истощении потока ордеров на инструменте ADAUSDT.BINANCE USD-M на барах 4H. Сигнал не отличается от версии, прошедшей слои 1-3: непрерывная оценка дивергенции price_pos - flow_pos, где price_pos — положение цены закрытия внутри скользящего диапазона максимума/минимума за 30 баров, пересчитанное на [-1,+1], а flow_pos — такое же преобразование сглаженного дисбаланса агрессивных ордеров тейкеров ((покупки-продажи)/(покупки+продажи)) внутри собственного диапазона за 30 баров. Высокая положительная оценка……Показать большеСвернуть

Разворот при истощении потока ордеров на инструменте ADAUSDT.BINANCE USD-M на барах 4H. Сигнал не отличается от версии, прошедшей слои 1-3: непрерывная оценка дивергенции price_pos - flow_pos, где price_pos — положение цены закрытия внутри скользящего диапазона максимума/минимума за 30 баров, пересчитанное на [-1,+1], а flow_pos — такое же преобразование сглаженного дисбаланса агрессивных ордеров тейкеров ((покупки-продажи)/(покупки+продажи)) внутри собственного диапазона за 30 баров. Высокая положительная оценка означает, что цена прижимается к верхней границе диапазона на иссякающем давлении покупок тейкеров BUY -> SHORT истощённое ралли; высокая отрицательная оценка означает новый минимум на ослаблении давления продаж тейкеров SELL -> LONG. В этой итерации изменена система управления риском: входы теперь выставляются скобочным ордером OCO (рыночный вход + реальный пассивный защитный стоп stop_market на структурном экстремуме дивергенции + лимитный тейк-профит на уровне 2.5R), размер позиции рассчитывается исходя из риска 1% капитала при стопе, с жёстким ограничением валового номинала в 50% капитала и без множителя плеча.

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

Проверка не пройдена (слой 4 — проверка QA): - THE 'DEFINED-RISK, NO-BLOWUP BY CONSTRUCTION' CLAIM IS FALSIFIED BY THE SANDBOX. В гипотезе утверждается, что жёсткий структурный стоп и ограничение плеча 2x делают ликвидацию/-100% катастрофический убыток невозможными по самой конструкции, однако среда тестирования выводит total_return -30%, max_drawdown 49.6% (CI до 94.0%) и единичный убыток largest_loss -$37,042 (~37% счёта размером около $100k, ~18x номинального бюджета 2% risk_per_trade), при avg_position_pct……Показать большеСвернуть

Проверка не пройдена (слой 4 — проверка QA): - THE 'DEFINED-RISK, NO-BLOWUP BY CONSTRUCTION' CLAIM IS FALSIFIED BY THE SANDBOX. В гипотезе утверждается, что жёсткий структурный стоп и ограничение плеча 2x делают ликвидацию/-100% катастрофический убыток невозможными по самой конструкции, однако среда тестирования выводит total_return -30%, max_drawdown 49.6% (CI до 94.0%) и единичный убыток largest_loss -$37,042 (~37% счёта размером около $100k, ~18x номинального бюджета 2% risk_per_trade), при avg_position_pct 120.8% (с плечом). Причина — два связанных дефекта; это тот же SAME сбой управления риском, уже выявленный и исправленный в родственном варианте с неудачным пробоем XRP: (1) THE STOP IS CLOSE-BASED, NOT INTRABAR. should_exit вычисляет pnl_pp = get_position_pnl_pct(position, self._last_close) и срабатывает только при pnl_pp <= -stop_pp, поэтому после резкого прохода цены через стоп на баре 4 часов выход происходит лишь на закрытии NEXT, намного дальше заданного стопа. (2) 2x LEVERAGE AMPLIFIES THE OVERSHOOT. position_size ограничивает номинал значением капитал*плечо = 2x; поскольку min_stop_pct=0.8% доводит капитал*0.02/0.008 до 2.5x, сделки с узким стопом регулярно достигают потолка 2x. Позиция номиналом 2x, превысившая стоп по цене закрытия примерно на 18% (что укладывается в диапазон обвала ADA за 4h), дала наблюдавшийся убыток 37% от капитала. Поэтому номинальный риск 2% при стопе иллюзорен именно для хвостовых сделок, формирующих просадку 49.6%. - Даже если оставить дефект риска в стороне, среда тестирования не показывает преимущества: profit_factor 0.87, avg_trade_return_pct ~0.003% (практически ноль), total_return -30%, коэффициент Шарпа 0.38, его CI [-1.29, 2.10] пересекает ноль, avg_win $3290 ~= avg_loss $3203 при доле прибыльных сделок 45.8% (матожидание слегка отрицательное). В этой выборке стратегия на дивергенции потока ордеров не возвращалась к среднему с прибылью после издержек. Для проверяющего бэктест это вопрос преимущества, вторичный по отношению к дефекту риска; однако даже с ограниченным хвостовым риском механизм всё ещё может приносить чистый убыток, и тогда от него следует отказаться, а не перенастраивать.

На backtest_review оцени полный многолетний период; если win_rate останется ниже точки безубыточности ~1/(1+tp_r), а profit_factor < 1.0 при теперь ограниченном хвостовом риске, ABANDON стратегию на дивергенции потока тейкеров вместо оптимизации (при исходной доле прибыльных сделок ниже точки безубыточности, заданной соотношением риска и прибыли, нет области параметров для подбора). Продолжай только если на полном периоде стратегия достигает цели 2.5R достаточно часто, чтобы покрывать издержки.

RISK FIXES VERIFIED, BUT THE SANDBOX SHOWS NO EDGE — вероятнее всего, от стратегии следует отказаться на этапе backtest_review. Два взаимосвязанных дефекта управления риском, о которых я сообщил в итерации 2, действительно исправлены, и это подтверждают метрики: крупнейший разовый убыток снизился с -$37,042 (около 37% капитала, около 18x бюджета) до -$1,146 (около 1.1%, то есть примерно 1% risk_frac при пассивном стопе); max_drawdown снизился с 49.6% до 22.7%, а avg_position_pct снизился с 120.8% до 42.1% (ниже……Показать большеСвернуть

RISK FIXES VERIFIED, BUT THE SANDBOX SHOWS NO EDGE — вероятнее всего, от стратегии следует отказаться на этапе backtest_review. Два взаимосвязанных дефекта управления риском, о которых я сообщил в итерации 2, действительно исправлены, и это подтверждают метрики: крупнейший разовый убыток снизился с -$37,042 (около 37% капитала, около 18x бюджета) до -$1,146 (около 1.1%, то есть примерно 1% risk_frac при пассивном стопе); max_drawdown снизился с 49.6% до 22.7%, а avg_position_pct снизился с 120.8% до 42.1% (ниже лимита 50%). Стоп по цене закрытия заменён настоящим пассивным stop_market внутри скобочного ордера OCO (внутрибараное исполнение), а множитель плеча удалён из расчёта размера позиции. Риск теперь имеет заранее заданный предел. HOWEVER: даже при ограниченном хвостовом риске стратегия убыточна: total_return -15.5%, profit_factor 0.74, win_rate 0.247, коэффициент Шарпа -0.71 (CI [-2.52, 1.03]), avg_trade_return_pct +0.114% (положительный, но ниже минимального порога BELOW 0.15% USD-M для фьючерсов). Скобочный ордер сделал соотношение вознаграждения к риску положительным по конструкции (avg_win $2046 против avg_loss $904, около 2.3:1), но доля прибыльных сделок 24.7% чуть ниже уровня безубыточности ~28.6% для соотношения цели 2.5R к стопу 1R, поэтому математическое ожидание составляет -$175 на сделку: стратегия торговли на возврат цены после дивергенции ордерного потока недостаточно часто достигает цели, чтобы окупиться. Это не дефект корректности кода QA (теперь код корректен, а вывод об отсутствии преимущества должен сделать аналитик на основе многолетнего бэктеста); разработчик прямо согласен и просит отказаться от идеи, лежащей в основе стратегии, если бэктест с ограниченным хвостовым риском по-прежнему не покажет преимущества.

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

Шарп
-0,18
Общая доходность
-60,59%
Максимальная просадка
61,60%
Всего сделок
512
Доля прибыльных
24,8%
Профит-фактор
0,77

Добавлен действительно ортогональный источник информации (агрессивный ордерный поток тейкеров), а не клон импульсной стратегии

Надёжная конструкция с заданным риском: реальный внутрибара скобочный ордер stop_market, расчёт размера по риску, жёсткий лимит номинала, без множителя плеча

Достаточная выборка (512 сделок) и корректная обработка данных делают отрицательный результат надёжным (metrics_reliable=true)

profit_factor 0.77 (менее 1.0) и total_return -60.6% — однозначно убыточная стратегия

avg_trade_return_pct -0.398% — средняя прибыль/убыток на сделку LOSES в процентах от номинала

max_drawdown 61.6% (CI до 92.8%) пересекает порог жёсткого отказа >50%

Отрицательный результат в каждом году 2022-2026; скользящий коэффициент Шарпа отрицателен почти на всём историческом интервале

Обе стороны убыточны (long_win_rate 25.6%, short_win_rate 24.0%) — у стратегии на дивергенции истощения нет направленного преимущества

win_rate 24.8% с эксцессом 41.5 — результат зависит от редких прибыльных хвостовых сделок, которые не компенсируют череду убытков

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

Проверка не пройдена (слой 2 — синтетические сценарии): Использованные параметры: ['tp_r', 'lookback', 'risk_frac', 'atr_period', 'trail_arm_r', 'entry_thresh', 'min_notional', 'min_stop_pct', 'trail_give_r', 'stop_atr_mult', 'max_hold_hours', 'flow_max_stale_hours'] Проверьте, что __init__ задаёт все атрибуты из self.parameters.get(). - steady_uptrend: TypeError: AdaTakerFlowExhaustionDivergenceLS._rescale() принимает 3 позиционных аргументов, но передано 4 (время бара: 1735692480000) - steady_downtrend:……Показать большеСвернуть

Проверка не пройдена (слой 2 — синтетические сценарии): Использованные параметры: ['tp_r', 'lookback', 'risk_frac', 'atr_period', 'trail_arm_r', 'entry_thresh', 'min_notional', 'min_stop_pct', 'trail_give_r', 'stop_atr_mult', 'max_hold_hours', 'flow_max_stale_hours'] Проверьте, что __init__ задаёт все атрибуты из self.parameters.get(). - steady_uptrend: TypeError: AdaTakerFlowExhaustionDivergenceLS._rescale() принимает 3 позиционных аргументов, но передано 4 (время бара: 1735692480000) - steady_downtrend: TypeError: AdaTakerFlowExhaustionDivergenceLS._rescale() принимает 3 позиционных аргументов, но передано 4 (время бара: 1735692480000) - flat_ranging: TypeError: AdaTakerFlowExhaustionDivergenceLS._rescale() принимает 3 позиционных аргументов, но передано 4 (время бара: 1735692480000) - volatility_spike: TypeError: AdaTakerFlowExhaustionDivergenceLS._rescale() принимает 3 позиционных аргументов, но передано 4 (время бара: 1735692480000) - zero_volume: TypeError: AdaTakerFlowExhaustionDivergenceLS._rescale() принимает 3 позиционных аргументов, но передано 4 (время бара: 1735692480000) - price_gap: TypeError: AdaTakerFlowExhaustionDivergenceLS._rescale() принимает 3 позиционных аргументов, но передано 4 (время бара: 1735692480000)

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

Добавление действительно ортогонального источника информации (агрессивного потока тейкеров) и перестройка управления риском с использованием корректного внутрибараного скобочного стоп-ордера не создают преимущества. Если и длинные, и короткие позиции убыточны во всех режимах, сама предпосылка об истощении и дивергенции опровергнута, и никакая настройка параметров не спасёт стратегию ухода от экстремумов с отрицательным математическим ожиданием.

Стратегия была отброшена на этапе BACKTEST_REVIEW по нескольким причинам для безусловного отказа: фактор прибыли ниже 1.0, отрицательная общая доходность и отрицательная доходность на сделку, а также максимальная просадка выше порога жёсткого отказа >50%. Поскольку обе стороны убыточны, исходная предпосылка — разворот ценового экстремума, не подтверждённого потоком ордеров, — опровергнута: направленного преимущества после издержек нет, поэтому стратегия не дошла до оптимизации или анализа.

Длинно-короткая разворотная стратегия на одном инструменте и одной площадке для бессрочного контракта ADAUSDT.BINANCE USD-M, добавляющая агрессивный поток ордеров тейкеров как независимый источник информации: ставка на разворот ценовых экстремумов, не подтверждённых агрессивным потоком (короткая позиция при новом локальном максимуме на ослаблении покупок тейкеров, длинная — при новом локальном минимуме на ослаблении продаж тейкеров), с защитным скобочным ордером и заданным риском внутри бара.

Бэктест дал убедительный чистый убыток: фактор прибыли 0.77, общая доходность -60.6%, avg_trade_return_pct -0.398% (средняя сделка убыточна), коэффициент Шарпа -0.18 и матожидание -$116 на сделку по большой выборке из 512 сделок. Максимальная просадка составила 61.6% (CI до 92.8%); убыток был в каждом году 2022-2026, обе стороны неудачны (доля прибыльных длинных сделок 25.6%, коротких 24.0%), а результат зависит от редких прибыльных хвостовых событий (доля прибыльных сделок 24.8%, эксцесс 41.5).

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