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

Стратегии

SOL Дневной вход в длинную позицию при всплеске объёма во время отката и накоплении (BINANCE фьючерсы USD-M, 1-DAY, только OHLCV, механизм «умные деньги во время снижения»)

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

SolDailyVolumeSurgeOnPullbackAccumulationLong

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

В стратегии SolDailyVolumeSurgeOnPullbackAccumulationLong проверялась гипотеза: означают ли дни роста с высоким объёмом во время откатов SOL накопление информированными участниками, которое стоит покупать. После исправления ошибки логики выхода в предыдущей итерации полный бэктест за 6 лет дал 45 сделок, доходность -24.9%, фактор прибыли 0.86 и среднюю доходность на сделку 0.025%; просадка 61% была сосредоточена в периоды высокой волатильности. Аналитик отказался от стратегии на этапе проверки бэктеста из-за отрицательного математического ожидания, не вызванного комиссиями, и счёл поиск порогов необоснованным при таком малом числе сделок. Отклонение относится только к этому конкретному правилу для дневных данных SOL, а не к сигналам объёма на откатах в целом.

Гипотеза

Лонговая дневная стратегия для SOLUSDT.BINANCE ищет закономерности накопления крупными игроками и информированными участниками во время откатов. Механизм: когда SOL формирует дневной бар с объёмом > 2.0× среднего объёма за 30 дней AND закрывается в плюсе (закрытие > открытия) AND цена находится BELOW ниже максимума за 5 дней более чем на 3% (то есть всплеск объёма произошёл во время отката, NOT на пробое новых максимумов), это указывает на информированных покупателей, накапливающих позицию по сниженным ценам.……Показать большеСвернуть

Лонговая дневная стратегия для SOLUSDT.BINANCE ищет закономерности накопления крупными игроками и информированными участниками во время откатов. Механизм: когда SOL формирует дневной бар с объёмом > 2.0× среднего объёма за 30 дней AND закрывается в плюсе (закрытие > открытия) AND цена находится BELOW ниже максимума за 5 дней более чем на 3% (то есть всплеск объёма произошёл во время отката, NOT на пробое новых максимумов), это указывает на информированных покупателей, накапливающих позицию по сниженным ценам. Объём на откатах — более сильный сигнал, чем объём на пробоях: цена уже упала, а агрессивная покупка со скидкой говорит о твёрдой уверенности. Войди LONG на открытии следующего дня; выйди по цели прибыли, стопу, нарушению тренда или времени. DELIBERATE DESIGN AROUND ANALYST FEEDBACK: три мои последние гипотезы возврата к среднему на длинных и коротких позициях с таймфреймом BTC 4H (BtcRangeExpansion 51.4% win, BtcAsianSession 50.2%, BtcConsecutiveStreak 47.1%) были опровергнуты эмпирически; аналитик прямо указал: «BTC 4H 2020-2026 — структурно режим импульсного движения, не поддерживающий универсальные стратегии игры на откатах». Эта гипотеза полностью отказывается от неудачного шаблона: она LONG-ONLY (по направлению импульса, а не против него), использует таймфрейм DAILY (где сигналы имеют более структурное значение) и основана на активе DIFFERENT (SOL, а не BTC) — каждое измерение учитывает часть опровержения. ACKNOWLEDGED DIRECTION QUOTA VIOLATION: сейчас только 90.3% длинных стратегий против целевого значения ≤55%. Я сознательно принимаю этот компромисс в третий раз подряд, поскольку эмпирические данные убедительны: возврат к среднему на длинных и коротких позициях для активов и таймфреймов с надёжными данными у меня просто не работает. В будущих гипотезах можно попробовать длинные и короткие позиции другими способами: кросс-секционный импульс, долгосрочные модели разворота, опционные конструкции после стабилизации потока данных. DATA SAFETY: используются SOLUSDT.BINANCE-1-DAY-LAST-EXTERNAL — тот же поток данных, что и у принятой SolDailyEmaTrendContinuationLong. ZERO дополнительных данных, ZERO дополнительных типов баров, ZERO дополнительных инструментов. Закрываются два пробела портфеля: (1) механизм VOLUME-DURING-PULLBACK (все существующие стратегии на основе объёма в портфеле срабатывают при BREAKOUT к новым максимумам — это вариант с обратным таймингом, срабатывающий во время спадов); (2) дневное покрытие SOL (сейчас в портфеле лишь 1 SOL дневная стратегия против 5+ BTC дневных стратегий с учётом продвинутых и тех, что у меня в работе: SOL недостаточно представлен на дневном таймфрейме). Ожидается около 30-40 циклов входа в год × 6 лет дневных данных SOL ≈ 180-240 сделок — заметно выше минимума выборки для walk-forward-анализа. Механизм эмпирически соответствует направлению импульса, NOT противодействуя тренду. Он относится к иному классу механизмов, чем две мои предыдущие лонговые гипотезы в работе: BtcFourHourPullbackInUptrend использует тайминг по серии красных баров, EthFourHourNarrowRangeCoilExpansion — сжатие диапазона, а здесь применяется профиль объёма во время спада.

no_edge: negative_expectancy. Зафиксированное дневное правило SOLUSDT.BINANCE (объём > 2x среднего за 30 дней, зелёный бар, закрытие более чем на 3% ниже максимума за 5 дней, длинная позиция на следующем открытии) приносит убыток после издержек: 45 закрытых сделок за 6 лет при исправленном многодневном выходе. avg_trade_return_pct составляет 0.025% при минимуме по фьючерсам 0.15%; PF равен 0.86, что ниже 1; общая доходность — -24.9%, максимальная просадка — 61%. Комиссии составляют лишь 2.6% валовой прибыли, поэтому они не являются причиной. 71% входов убыточны, в основном из-за стопа 6% в течение дня или двух; прибыль около 2:1 по выигрышным сделкам не компенсирует долю убыточных 29%. Исправление выхода в прошлой итерации устранило дефект реализации; остаётся структура прибыли и убытка без преимущества. По этой выборке поиск параметров порогов не обоснован. Область вывода: отклоняется только эта реализация для дневных данных SOL. Она не опровергает сигналы накопления на всплесках объёма при откатах в целом, например с фильтром тренда или на других активах.

Реализация

Лонговая дневная стратегия накопления на откате со всплеском объёма для SOL, без изменений входа и с размером позиции 1.2x от капитала. Отложенная защита 6%, цель по закрытию 12%, нарушение SMA(20) после возврата выше уровня и временной стоп на 15 баров.

Минимальная переработка только выходов для previous_code. Вариант (a): активировать условие слома SMA только после того, как завершённое закрытие после входа вернулось выше SMA(20), а затем выходить при более позднем закрытии ниже этого уровня. При исполнении входа немедленно размещать стоп reduce-only SELL по фактической средней цене исполнения x 0.94, округлённой с учётом шага цены инструмента; при частичных исполнениях обновлять защищаемое количество и цену. Базовый сценарий отменяет защиту перед выходами по сигналу, а при закрытии сбрасывает скалярное состояние и отменяет оставшиеся ордера. Триггер входа, постоянно действующий сигнал, семантика исполнения по рынку и плечо position_pct 0.6 x 2.0 остаются без изменений. Этот повторный прогон считается ещё одним просмотром результатов на полной истории. Конвейер должен проверить длительность сделок, причины выхода и временные метки стопа 2022-05; разработчик не запускал бэктест, улучшение результатов не доказано.

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

Предоставленная тестовая среда сообщает о 45 закрытых длинных позициях, чистой доходности -26.53% и средней чистой доходности на сделку -0.0527%. Это замечания по результатам для аналитика, а не свидетельство ошибки корректности.

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

Шарп
0,01
Общая доходность
-24,90%
Максимальная просадка
61,45%
Всего сделок
45
Доля прибыльных
28,9%
Профит-фактор
0,86

Недочёт выхода в предыдущей версии исправлен. Теперь сделки удерживаются 1-11 дней и закрываются по цели, стопу, нарушению тренда после возврата выше уровня или временному лимиту, как указано в гипотезе. Условие входа не менялось.

Сделки соответствуют механизму: 45 только длинных входов, каждый на следующий день после закрытия в плюсе при высоком объёме, более чем на 3% ниже максимума за 5 дней. Учёт корректен, на конец открытых позиций нет (end_unrealized_pct 0).

Диагностика 1-барного signal_research умеренно положительна (IC 0.050, t=2.36). Однако она оценивает непрерывную оценку tanh на каждом баре, а не редкий исполненный сигнал, поэтому не показывает, что у торгового правила есть преимущество.

Отрицательное математическое ожидание после издержек на полной истории с 2020-09 по 2026-10: общая доходность -24.9%, PF 0.86, коэффициент Шарпа 0.008; положительный результат был в 2 из 7 календарных лет.

avg_trade_return_pct составляет 0.025%, что ниже минимального значения 0.15% для BINANCE USD-M. Результат не достигает минимума, а комиссии составляют лишь 2.6% валовой прибыли, поэтому они не являются причиной. Средний результат на сделку — -$553.

Убытки объясняются структурой прибыли и убытка. 32 из 45 входов убыточны, большинство — в течение 1 дня; убыток близок к полному стопу 6% (около -$4-8 тыс. при плече 1.2x). Доля прибыльных сделок — 0.289, соотношение прибыли к убытку — 2.12 ($11.9 тыс. / $5.6 тыс.), что ниже примерно 2.46, необходимых для безубыточности при такой доле убыточных сделок. В большинстве случаев всплеск объёма в день отката сменяется дальнейшим снижением, а не окупающимся накоплением.

Максимальная просадка — 61.4%, а самый долгий период от пика до восстановления — 2,159 дней. Убытки сосредоточены в терциле повышенной волатильности (-44.6%) и терциле нормальной волатильности (-20.5%); период LUNA принёс убыток 26.8%.

За 6 лет сигнал сработал 45 раз, около 7 раз в год, против прогнозируемых 180-240 сделок. Согласно заданным условиям, это редкое событие, а имеющаяся выборка не подтверждает заявленное преимущество накопления.

Замечание тестовой среды QA (-26.5%, -0.053% на сделку) подтверждается на полной истории.

Анализ

Исправьте выход, чтобы стратегия реализовывала гипотезу о многодневном удержании; не меняйте триггер входа. (1) Выход при сломе тренда срабатывает на баре после входа в 47 из 48 сделок: входы на откате уже закрываются ниже SMA(20), поэтому условие `price < self._last_trend_sma` истинно сразу. Сделайте слом тренда относительным к сделке. Варианты: (a) активировать выход SMA только после того, как цена закрытия сначала вернулась выше SMA; (b) использовать более медленный фильтр тренда (например, SMA(50)), который……Показать большеСвернуть

Исправьте выход, чтобы стратегия реализовывала гипотезу о многодневном удержании; не меняйте триггер входа. (1) Выход при сломе тренда срабатывает на баре после входа в 47 из 48 сделок: входы на откате уже закрываются ниже SMA(20), поэтому условие `price < self._last_trend_sma` истинно сразу. Сделайте слом тренда относительным к сделке. Варианты: (a) активировать выход SMA только после того, как цена закрытия сначала вернулась выше SMA; (b) использовать более медленный фильтр тренда (например, SMA(50)), который откат уже не пробивает; или (c) определять слом тренда как закрытие ниже минимума бара импульса. Выберите один вариант и задокументируйте его; оставьте TP 12%, стоп 6% и временной стоп на 15 баров в качестве остальных выходов. (2) Обеспечьте исполнение стопа 6% как выставленного заранее ордера stop_market, размещаемого при входе (цена входа x 0.94), а не только проверки на закрытии. Стопы, проверяемые только по дневному закрытию, позволяют по сделке 2022-05 LUNA понести убыток примерно в 4.5x раза больше предусмотренного стопом. (3) Оставьте размер позиции на уровне position_pct при плече 0.6 x = номинал 2.0 = 1.2x, а семантику входа не меняйте (объём > 2.0x среднего за 30 дней без учёта текущего бара, закрытие выше цены открытия, >3% ниже максимума за 5 дней). После исправления проверьте список сделок: периоды удержания должны различаться и составлять от 1 до 15 баров. Примечание: при разработке на полной истории эта переработка считается ещё одним просмотром результатов. ## Доработки библиотеки (из библиотеки знаний; проверяйте их, не принимайте на веру) Активируйте слом тренда только после возврата выше SMA после входа и защитите позицию выставленным заранее стопом 6%. Сохраните вход и размер позиции; повторный прогон считается ещё одним просмотром результатов на полной истории. 1. [выход] Активировать слом тренда после возврата выше SMA: оставить trend_exit_period=20. При исполнении входа установить sma_exit_armed=false. На завершённых дневных барах после входа активировать условие, когда close >= SMA(20); после активации выходить при последующем close < SMA(20). Сбрасывать при полном закрытии. Оставить TP=12%, stop=6% и max_hold_bars=15. Сохранить точный триггер входа и position_pct=0.6 с плечом=2.0. Проверить периоды удержания и причины выхода, чтобы убедиться в разнообразии длительности в пределах 1–15 баров. — Аналитик сообщает о преждевременных выходах SMA в 47 из 48 сделок. В исходнике используется crossunder(close,Trail2), что подтверждает выходы при смене состояния. Фиксация возврата выше SMA — предложенная адаптация, а не опубликованное правило SMA(20). Она позволяет реализовать предполагаемое многодневное удержание без изменения отбора входов; улучшение результатов пока не доказано. (источник: 唐奇安通道突破策略|Donchian Channel Breakout Strategy with ATRSL Trailing Stop, стр. 1) 2. [стоп] Защитить позицию выставленным заранее стопом: при исполнении входа немедленно разместить выставленный заранее reduce-only SELL stop_market на исполненное количество по фактической цене входа x 0.94, округлённой до шага цены инструмента. Обеспечивать защиту по мере исполнения частичных заявок. Поддерживать защиту активной до возврата выше SMA; при закрытии отменять оставшуюся защиту и координировать выходы, чтобы предотвратить случайное открытие короткой позиции. Сохранить TP=12%, временной стоп на 15 баров и номинал собственного капитала 1.2x. Проверить сделку 2022-05, а также время отправки стоп-заявки, срабатывания и исполнения. Никогда не применять задним числом вновь размещённый стоп к ценам на баре, предшествовавшим входу. — Просадка 39.139% и сообщённый аналитиком убыток примерно в 4.5 раза больше предусмотренного стопом выявляют недостаточность защиты только по закрытию. В источнике по Donchian предлагаются процентные стопы; в статье о потоке ордеров объясняется, что OHLC не содержит сведений о внутрибарах и деталях исполнения. Это обосновывает использование явных защитных ордеров и проверок причинно-следственной последовательности исполнения. Точное правило 6% задано ограничением аналитика; гэпы и проскальзывание всё ещё могут привести к большим убыткам. Сохраняйте фактические комиссии платформы. (источник: 唐奇安通道突破策略|Donchian Channel Breakout Strategy with ATRSL Trailing Stop, стр. 1; 基于逐笔成交的高频回测系统兼论K线回测的缺陷, стр. 1)

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

Проверка не пройдена (слой 2 — синтетические сценарии): Использованные параметры: ['vol_mult', 'vol_period', 'min_notional', 'position_pct', 'pullback_pct', 'max_hold_bars', 'stop_loss_pct', 'take_profit_pct', 'pullback_lookback', 'trend_exit_period'] Убедитесь, что __init__ задаёт все атрибуты из self.parameters.get(). - steady_uptrend: Сигнал зафиксирован: все 469 сигналов идентичны (значение=0.0). Вероятно, в calculate_signal() ошибка — сигнал никогда не меняется. - steady_downtrend: Сигнал зафиксирован: все……Показать большеСвернуть

Проверка не пройдена (слой 2 — синтетические сценарии): Использованные параметры: ['vol_mult', 'vol_period', 'min_notional', 'position_pct', 'pullback_pct', 'max_hold_bars', 'stop_loss_pct', 'take_profit_pct', 'pullback_lookback', 'trend_exit_period'] Убедитесь, что __init__ задаёт все атрибуты из self.parameters.get(). - steady_uptrend: Сигнал зафиксирован: все 469 сигналов идентичны (значение=0.0). Вероятно, в calculate_signal() ошибка — сигнал никогда не меняется. - steady_downtrend: Сигнал зафиксирован: все 469 сигналов идентичны (значение=0.0). Вероятно, в calculate_signal() ошибка — сигнал никогда не меняется. - flat_ranging: Сигнал зафиксирован: все 469 сигналов идентичны (значение=0.0). Вероятно, в calculate_signal() ошибка — сигнал никогда не меняется. - volatility_spike: Сигнал зафиксирован: все 469 сигналов идентичны (значение=0.0). Вероятно, в calculate_signal() ошибка — сигнал никогда не меняется. - zero_volume: Сигнал зафиксирован: все 469 сигналов идентичны (значение=0.0). Вероятно, в calculate_signal() ошибка — сигнал никогда не меняется. - price_gap: Сигнал зафиксирован: все 469 сигналов идентичны (значение=0.0). Вероятно, в calculate_signal() ошибка — сигнал никогда не меняется.

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

На дневном графике SOL зелёный бар с высоким объёмом во время отката обычно предшествовал дальнейшему снижению, а не восстановлению; такой сигнал возникал лишь примерно 7 раз в год при прогнозе 30-40. Любая новая попытка накопления на откатах при повышенном объёме требует другой конфигурации, например фильтра тренда или другого актива.

После 3 итераций вердикт проверки бэктеста — «отказаться» (no_edge: negative_expectancy). После исправления недочёта выхода из предыдущей версии правило всё ещё давало убыток после издержек и оставалось значительно ниже минимума 0.15% на сделку. Большинство убыточных сделок достигали стопа 6% за день-два, а соотношение прибыли к убытку около 2.1:1 не компенсировало долю убыточных сделок 29%. Этапы оптимизации, анализа, оценки риска и портфеля не проводились.

Лонговая дневная стратегия SOLUSDT.BINANCE покупает на открытии следующего дня после зелёного дня с объёмом выше 2x среднего за 30 дней и закрытием более чем на 3% ниже максимума за 5 дней. Гипотеза: высокий объём покупок во время отката указывает на накопление позиции крупными игроками.

За период бэктеста с 2020-09 по 2026-10 стратегия совершила 45 длинных сделок: общая доходность — -24.9%, коэффициент Шарпа — 0.008, фактор прибыли — 0.86, доля прибыльных сделок — 28.9%, avg_trade_return_pct — 0.025%, максимальная просадка — 61.4%. Комиссии составили лишь 2.6% от валовой прибыли.

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