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

Стратегии

SOL Импульс лонг-шорт с фильтром силы тренда DMI (один инструмент, бессрочный контракт SOLUSDT.BINANCE, бары 4 ч — направленный импульс ONLY только при подтверждении настоящего тренда сигналом ADX; вне рынка при боковом движении, трейлинг ATR, параметризованная стратегия 3)

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

SolAdxGatedDmiMomentumLS

Измеримая выборка: 133 сделок за 6 лет (значительно больше порога около 100 сделок), поэтому это не случай провала из-за невозможности измерения

Гипотеза

Стратегия LONG-SHORT по одному инструменту, чистая OHLCV, для бессрочного контракта SOLUSDT.BINANCE USD-M: торгует направленным импульсом ONLY только тогда, когда фильтр силы тренда STRENGTH (ADX) подтверждает, что тренд действительно действует, и остаётся вне рынка во флэте. Она применяет единственный принцип с подтверждённым положительным преимуществом на этой фабрике — направленный фильтр SELECTIVE стратегии, которая выжила (держать позицию только при подтверждении с высокой уверенностью, иначе оставаться вне……Показать большеСвернуть

Стратегия LONG-SHORT по одному инструменту, чистая OHLCV, для бессрочного контракта SOLUSDT.BINANCE USD-M: торгует направленным импульсом ONLY только тогда, когда фильтр силы тренда STRENGTH (ADX) подтверждает, что тренд действительно действует, и остаётся вне рынка во флэте. Она применяет единственный принцип с подтверждённым положительным преимуществом на этой фабрике — направленный фильтр SELECTIVE стратегии, которая выжила (держать позицию только при подтверждении с высокой уверенностью, иначе оставаться вне рынка), — через ось подтверждения NOT из моей очереди ожидания: силу тренда (ADX/DMI), в отличие от согласия двух таймфреймов (BTC/XRP), EMA+структуры свингов (LINK) и всплеска объёма (ETH). Это прямо направлено на причину, по которой направленные сигналы UNGATED 4H этой сессии (пробой канала Дончиана, канал EMA, диапазон-MR) показали отрицательное матожидание NEGATIVE на сделку: они торговали во флэте, где направленного преимущества нет. Фильтр ADX — классическое надёжное решение: он измеряет, существует ли вообще тренд, поэтому стратегия использует импульс, только когда есть тренд, за которым можно следовать. Конструкция исключает все подтверждённые режимы отказа: NOT систему на дневных барах (BNB Turtle только что провалилась UNMEASURABLE — слишком мало дневных сделок), NOT идею с опционами, дополнительными инструментами или низкой частотой (провал на этапе разработки либо невозможность измерения), NOT кросс-секционную ротацию крупных монет (запрещена L32). Это SIMPLE чистая стратегия OHLCV по одному инструменту со стандартными инкрементальными индикаторами (разработчик поставляет её без свопов и тайм-аутов); она в зоне приемлемых комиссий и измеримости (трендовые движения 4H на SOL около ~2-5% намного больше комиссии ~0.10%; сигналы ADX/DMI срабатывают около 120-200 раз за многолетнюю историю), заполняет недопредставленную категорию LONG-SHORT (13.4% против книги только лонгов 86%) и добавляет SOL как новое отдельное имя (в отличие от провалившегося пробоя SOL-HL: другая площадка и механизм). Только 3 параметров.

Сразу по существу: мой заранее установленный критерий отказа выполнен, и моя рекомендация Аналитику — ABANDON: эта заявка не пытается спасти преимущество. В итерации 2 было письменно указано: если версия с исправленной геометрией выплат и без истощённых входов всё ещё убыточна, запаздывающий характер ADX фильтрами не исправить. QA измерил именно это, и решающее значение здесь не доходность, а то, что WIN RATE WAS 0.25 IN BOTH ITERATIONS остались без изменений, хотя оба исправления механизма сработали как……Показать большеСвернуть

Сразу по существу: мой заранее установленный критерий отказа выполнен, и моя рекомендация Аналитику — ABANDON: эта заявка не пытается спасти преимущество. В итерации 2 было письменно указано: если версия с исправленной геометрией выплат и без истощённых входов всё ещё убыточна, запаздывающий характер ADX фильтрами не исправить. QA измерил именно это, и решающее значение здесь не доходность, а то, что WIN RATE WAS 0.25 IN BOTH ITERATIONS остались без изменений, хотя оба исправления механизма сработали как задумано: гистерезис пересечения DI исправил геометрию выплат (RR 0.72 -> 1.66), а фильтр против истощения убрал худшие поздние входы (PF 0.241 -> 0.553). Ни один из них не повлиял на точность определения направления, а 0.25 x 1776 - 0.75 x 1071 = -$359/сделку — это арифметика, а не проблема настройки: вход ошибочен в трёх случаях из четырёх, и ни дизайн выхода, ни расстояние до стопа этого не исправят. Поэтому я изменил только REVERT: выбрал его, поскольку QA показал, что фильтр против истощения не меняет точность, но уничтожает выборку: сократил её с 28 до 16 сделок и создал артефакт асимметрии 2.08 / эксцесса 28.9, из-за которого оставшаяся статистика ненадёжна, то есть решение об отказе стало зависеть от двух выбросов. Удаление фильтра (двух тестов уровня ADX в should_enter и двух закреплённых констант; гистерезис выхода на пересечении DI, который явно устранил реальный дефект, сохранён) даст наиболее чистое измерение на самой большой выборке и с правильной геометрией: есть ли у этого входа направленное преимущество на SOL 4H. Именно так должен выглядеть итоговый анализ. Ожидаю, что результат останется отрицательным; если так, правильное решение — отказаться, а не оптимизировать: при точности, зафиксированной на уровне ровно 0.25 в двух независимых конструкциях, положительного внутривыборочного преимущества для поиска параметров нет, а настройка adx_gate/dmi_period/trail_atr_mult лишь подогнала бы стратегию под выбросы — именно так в этой сессии провалились предыдущие переносы конвергенции на PBO. В diff три удаления; импорты, класс, непрерывный сигнал с весом ADX, пересечение для входа, остальные выходы и логика расчёта размера позиции не затронуты, поэтому предыдущие слои не могут дать регрессию. Размер позиции не менялся из-за метрик риска >100%; я согласен с QA, что количество, привязанное к риску, с независимым ограничением капитала 1x не может дать просадку 1205% при плече 1.0 и liquidated=false; это нужно исправлять на стороне движка.

Одноконтрактный трендовый подход с направленной торговлей по OHLCV, фильтруемым через ADX, имеет реальное преимущество на сделку (avg_trade_return_pct 1.70%, PF 1.28), но сигнал с поправкой на риск незначим и не проходит критерий допуска: Sharpe 0.48, бутстрэпный CI [-0.32, 1.23] включает ноль (PSR 0.77). Базовый Sharpe 0.48 намного ниже порога допуска ~1.5 и порога оптимизации семейства momentum L82 (Sharpe >~1.3, PF >2.0); поправка на оптимизацию по лучшему из N результатов сводит эффект к DSR/контрольной……Показать большеСвернуть

Одноконтрактный трендовый подход с направленной торговлей по OHLCV, фильтруемым через ADX, имеет реальное преимущество на сделку (avg_trade_return_pct 1.70%, PF 1.28), но сигнал с поправкой на риск незначим и не проходит критерий допуска: Sharpe 0.48, бутстрэпный CI [-0.32, 1.23] включает ноль (PSR 0.77). Базовый Sharpe 0.48 намного ниже порога допуска ~1.5 и порога оптимизации семейства momentum L82 (Sharpe >~1.3, PF >2.0); поправка на оптимизацию по лучшему из N результатов сводит эффект к DSR/контрольной выборке, поэтому реалистичного пути к значимому допуску нет. Результат также чувствителен к недавним условиям: в спокойном режиме стратегия теряет (-0.47), а 2026 составляет -10.2%, при этом скользящий Sharpe падает до -4.7; значит, последняя контрольная выборка длиной -20% приходится на ухудшающийся режим и, вероятно, не пройдёт жёсткий контрольный порог. Оптимизация не стоит 2 часов. Примечание: заранее зафиксированное обоснование разработчика ABANDON (WR 0.25, -$359/сделку) основано на тестовой выборке из 16-28 сделок и опровергается полным бэктестом на 133 сделках (WR 0.35, положительное матожидание). Верная причина отказа — незначимый низкий базовый Sharpe и хрупкость режима на контрольной выборке, а не расчёты разработчика. Модель провала: no_edge/переобученный направленный трендовый подход на одном OHLCV, незначимый базовый Sharpe ниже -1.0 (L63/L82).

Реализация

Моментум лонг/шорт с фильтром ADX на DMI perpetual-контракте SOLUSDT.BINANCE USD-M, бары 4H, только OHLCV. Сигнал — спред ADX, взвешенный по DI ((+DI - -DI)/100 x ADX/25), непрерывный и монотонно зависящий от направления и силы тренда. Для входа нужны ADX >= adx_gate (в боковике позиция не открывается) и новое пересечение сигналом уровня +/- di_min_spread. Выходы: (a) пересечение DI против позиции на di_exit_margin (5 DI пунктов гистерезиса, поэтому одиночный откат против тренда в рамках сохраняющегося тренда пережидается); (b) падение ADX ниже 0.6 x входного порога; (c) трейлинг-стоп ATR на расстоянии trail_atr_mult ATR от лучшего закрытия после входа. Размер позиции рассчитывается так, чтобы зафиксированный риск до трейлинг-стопа составлял 2% капитала; номинал ограничен 1x капитала, округление вниз выполняется с шагом целых единиц SOL. Три настраиваемых параметра: adx_gate, dmi_period, trail_atr_mult.

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

CLEAN RESTART 2026-09-04 — историю вердиктов и записи обучения этого запуска удалили, проверку начали заново. Ранее конвейер остановил стратегию не из-за рынка: тестовая среда Layer-2 неверно связала вспомогательные методы @staticmethod (исправлено), QA вынес окончательные вердикты о доходности по неоптимизированному дымовому тесту (это убрали — теперь QA оценивает только корректность), а тайм-ауты песочницы возникли из-за нехватки слотов для бэктеста (исправлено). Гипотеза и код стратегии не изменились. Оцени код по его достоинствам; результативность позже определят полный бэктест и оптимизатор.

Незначительное преимущество зависит от трендового режима и крупных выигрышей: win_rate 0.35, положительное матожидание обеспечивается трейлингом ATR, который позволяет прибыли расти (avg_win 2.5x avg_loss; эксцесс 9.9), и фильтром ADX, исключающим боковик (спокойная треть выборки -10.6%). Sharpe CI включает ноль. Это закономерный профиль следования за трендом с фильтром ADX, а не дефект; открытый вопрос — устойчивость OOS. Придавай большой вес walk-forward-анализу и контрольной выборке; убедись, что avg_trade_return_pct остаётся положительным, а win_rate выше ~0.30; не подгоняй параметры под победителей с тяжёлыми хвостами.

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

Шарп
0,48
Общая доходность
41,34%
Максимальная просадка
14,86%
Всего сделок
133
Доля прибыльных
35,3%
Профит-фактор
1,28

Измеримая выборка: 133 сделок за 6 лет (значительно больше порога около 100 сделок), поэтому это не случай провала из-за невозможности измерения

Реальное преимущество на сделку: avg_trade_return_pct 1.70% намного больше комиссии за полный оборот ~0.10%; PF 1.28 и RR ~2.3 (avg_win 3220 против avg_loss 1374) — комиссии не съедают результат

Риск ограничен: max_drawdown 14.9%, ликвидации нет, экспозиция всего 26.6%

Заранее установленный разработчиком критерий ABANDON основывался на неверном тесте в песочнице на 16-28 сделках (WR 0.25); полный бэктест на деле лучше (WR 0.35, положительное матожидание). Значит, аргументация несостоятельна, но это не спасает стратегию

Коэффициент Шарпа 0.48, бутстрэп CI [-0.32, 1.23] пересекает ноль, а PSR 0.77 (<0.95) — скорректированное на риск преимущество статистически неотличимо от нуля

Базовый коэффициент Шарпа 0.48 намного ниже порога продвижения ~1.5; лучший из N результатов оптимизации снижается на DSR при оценке на отложенной выборке, поэтому реалистичного пути к статистически значимому продвижению нет

Ниже порога разрешения на оптимизацию для семейства импульсных стратегий L82 (Шарп >~1.3, PF >2.0); этот вариант с фильтром TF на одном ADX не относится к продвигаемому классу конвергенции на двух TF

Неустойчива к режиму и давности данных: убыток в спокойной трети выборки (коэффициент Шарпа -0.47, -10.6%); годовой -10.2% 2026, скользящий коэффициент Шарпа падает до -4.7 — последний отрезок тестовой выборки длиной -20% приходится на этот ухудшающийся режим и, по всей видимости, не пройдёт строгую проверку на отложенной выборке

CAGR только 4.9% за 6 лет

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

Проверка не пройдена (обзор слоя 4 — QA): - DECISIVELY NEGATIVE EDGE — направленный результат сессии WORST; фильтр «наличия тренда» ADX не спас результат, а ухудшил его. На измеримой выборке из 28 сделок за 363 дней (metrics_reliable=true): avg_trade_return_pct -1.71%, profit_factor 0.241 (теряет около $4 на каждые выигранные $1), коэффициент Шарпа -1.63 (CI [-3.29, 0.06], probabilistic_sharpe 0.024), win_rate 0.25, total_return -13.5%, матожидание -$482/сделку. Соотношение риска и доходности снова перевёрнуто,……Показать большеСвернуть

Проверка не пройдена (обзор слоя 4 — QA): - DECISIVELY NEGATIVE EDGE — направленный результат сессии WORST; фильтр «наличия тренда» ADX не спас результат, а ухудшил его. На измеримой выборке из 28 сделок за 363 дней (metrics_reliable=true): avg_trade_return_pct -1.71%, profit_factor 0.241 (теряет около $4 на каждые выигранные $1), коэффициент Шарпа -1.63 (CI [-3.29, 0.06], probabilistic_sharpe 0.024), win_rate 0.25, total_return -13.5%, матожидание -$482/сделку. Соотношение риска и доходности снова перевёрнуто, несмотря на конструкцию с гистерезисом выхода: avg_win $611 < avg_loss $847 (RR 0.72). Исходная гипотеза — «направленные системы сессии без фильтра на 4H теряли деньги, торгуя во флэте, а ADX исправит это, торгуя только при наличии тренда» — опровергнута: фильтрация по ADX дала частоту выигрышей LOWER (25%), чем у систем без фильтра (30-41%), потому что ADX — это LAGGING показатель наличия тренда: он подтверждает тренд, когда тот в основном уже прошёл, поэтому вход систематически запаздывает — покупка подтверждённой силы почти на исходе на SOL 4H, после чего цена возвращается к среднему. Именно такой сценарий сбоя разработчик назвал наиболее вероятным («ADX — запаздывающий показатель… вход по своей природе происходит поздно»). Выход по пересечению DI затем преждевременно закрывает редкие прибыльные сделки (малый выигрыш), тогда как убыточные сделки продолжаются до трейлинг-стопа ATR / обвала ADX (крупный убыток), снова создавая перевёрнутую структуру выплат. Поверхность защиты от переобучения с 3 параметрами не имеет значения: положительного преимущества на внутривыборочных данных нет, и оптимизировать нечего. - IMPLAUSIBLE RISK-METRIC UNITS — проверить (без изменений, на стороне движка). max_drawdown 14.47 (1447%, CI [7.26, 25.28]), cvar_95 1.18 превышают 100% несмотря на плечо 1.0, risk_pct 0.02, лимит номинала 1.0x (avg_position_pct 28.8%) и liquidated=false — это соглашение по нормализации метрик, принятое в рамках всей сессии, а не ошибка расчёта размера позиции (расчёт верен: привязка к риску, отдельный лимит, округление вниз и минимальный номинал). Требуется только подтверждение со стороны движка.

Проверка не пройдена (слой 4 — обзор QA): - BOTH FIXES WORKED MECHANICALLY YET THE EDGE IS STILL DECISIVELY NEGATIVE, AND THE WIN RATE IS IMMOVABLE — заранее установленный разработчиком критерий отказа выполнен. Гистерезис выхода на пересечении DI исправил геометрию выплат (avg_win $1776 > avg_loss $1071, RR 1.66, рост с перевёрнутого значения 0.72), а фильтр против истощения отсёк худшие поздние входы (PF 0.241 -> 0.553), но стратегия остаётся явно убыточной: avg_trade_return_pct -1.42% (ранее -1.71%),……Показать большеСвернуть

Проверка не пройдена (слой 4 — обзор QA): - BOTH FIXES WORKED MECHANICALLY YET THE EDGE IS STILL DECISIVELY NEGATIVE, AND THE WIN RATE IS IMMOVABLE — заранее установленный разработчиком критерий отказа выполнен. Гистерезис выхода на пересечении DI исправил геометрию выплат (avg_win $1776 > avg_loss $1071, RR 1.66, рост с перевёрнутого значения 0.72), а фильтр против истощения отсёк худшие поздние входы (PF 0.241 -> 0.553), но стратегия остаётся явно убыточной: avg_trade_return_pct -1.42% (ранее -1.71%), profit_factor 0.553, коэффициент Шарпа -0.484 (CI [-2.24, 1.09]), total_return -5.75%, матожидание -$359/сделку. THE DECISIVE FACT: win_rate по-прежнему ровно 0.25 — как в итерации 1. Ни фильтр входа против истощения, ни изменение выхода не повлияли на точность направления ACCURACY: вход с фильтром ADX DMI ошибочен примерно в 75% случаев независимо от управления сделкой, поэтому даже 1.66 RR не спасёт её (0.25 x 1776 - 0.75 x 1071 = -$359/сделку). Это доказывает отсутствие направленного преимущества у входа и точно соответствует критерию самого разработчика: «если версия без истощённых входов и с исправленной геометрией выплат всё ещё STILL убыточна, запаздывающий характер ADX нельзя исправить фильтрацией, а продолжение тренда на ADX 4H с фильтром не имеет направленного преимущества на SOL — ABANDON, а не проводить третью итерацию». Кроме того, фильтр против истощения сократил выборку с 28 до 16 сделок, почти сделав её неизмеримой (асимметрия 2.08 / эксцесс 28.9 — на результат влияют несколько сделок). - IMPLAUSIBLE RISK-METRIC UNITS — проверить (без изменений, на стороне движка). max_drawdown 12.05 (1205%, CI [5.38, 21.29]), cvar_95 1.36 превышают 100% несмотря на плечо 1.0, risk_pct 0.02, лимит номинала 1.0x (avg_position_pct 29.2%) и liquidated=false — это принятое в рамках всей сессии соглашение по нормализации метрик, а не ошибка расчёта размера позиции (размер позиции не менялся). Требуется только подтверждение со стороны движка.

Проверка не пройдена (уровень 4 — проверка QA): - ABANDON CONFIRMED ON THE CLEAN, LARGER SAMPLE — однозначно отрицательное преимущество, и разработчик сразу рекомендует отказаться от стратегии. Возврат фильтра против истощения, который уничтожал выборку (при этом сохраняется только гистерезис выхода на пересечении DI, исправивший реальный дефект геометрии), даёт более чистую оценку: 23 сделок (вместо 16 в итерации 2), metrics_reliable=true, avg_trade_return_pct -1.39%, profit_factor 0.462, Sharpe -0.766 (CI……Показать большеСвернуть

Проверка не пройдена (уровень 4 — проверка QA): - ABANDON CONFIRMED ON THE CLEAN, LARGER SAMPLE — однозначно отрицательное преимущество, и разработчик сразу рекомендует отказаться от стратегии. Возврат фильтра против истощения, который уничтожал выборку (при этом сохраняется только гистерезис выхода на пересечении DI, исправивший реальный дефект геометрии), даёт более чистую оценку: 23 сделок (вместо 16 в итерации 2), metrics_reliable=true, avg_trade_return_pct -1.39%, profit_factor 0.462, Sharpe -0.766 (CI [-2.63, 0.88]), total_return -9.64%, матожидание -$419/сделку. Win_rate составляет 0.304 — почти без изменений относительно 0.25, измеренного в итерациях 1-2 (при таком n разница укладывается в шум). Значит, вход по-прежнему неверно определяет направление примерно в 70% случаев; при исправленном RR (avg_win $1184 ~ avg_loss $1121, RR ~1.06) такая доля выигрышных сделок по простому расчёту означает чистый убыток. Это третье измерение того же результата в двух независимых вариантах реализации механизма: вход DMI с фильтром ADX не обладает точностью определения направления, которую можно было бы исправить управлением сделкой. Это полностью соответствует заранее зафиксированному критерию разработчика: «если версия с исправленной геометрией всё ещё убыточна, отставание ADX нельзя исправить фильтрацией — ABANDON». ADX — запаздывающий индикатор существования тренда, который подтверждает тренд уже после того, как тот в основном прошёл; на SOL 4H это означает систематически поздний вход, близкий к истощению тренда. - IMPLAUSIBLE RISK-METRIC UNITS — проверка (без изменений, на стороне движка). max_drawdown 13.99 (1399%, CI [6.72, 25.66]), var_95 1.04, cvar_95 1.51 превышают 100% несмотря на плечо 1.0, risk_pct 0.02, ограничение номинала 1.0x (avg_position_pct 29.5%) и liquidated=false. Это соглашение о нормализации метрик для всей сессии, а не ошибка расчёта размера позиции (расчёт размера позиции не менялся). Требуется только подтверждение на стороне движка.

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