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

Стратегии

UNI 4H Подтверждение бычьего тренда Aroon Oscillator только в лонг

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

UniAroonOscillatorBullishTrendConfirmationLong4H

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

UniAroonOscillatorBullishTrendConfirmationLong4H разработана с учётом длинного списка прежних неудач: только OHLCV, чтобы избежать проблем из-за дополнительных данных; новый символ из сектора DeFi (UNI) и структурно отличный индикатор — осциллятор Aroon Чанде, измеряющий время с момента экстремума, а не цену относительно MA. Реализация была чистой и точно соответствовала гипотезе, дав 431 сделок только в лонг за 5.5 лет, но преимущество было фундаментально отрицательным: коэффициент Шарпа -0.497, фактор прибыли 0.883, общая доходность -28.4%; убыток в 5 из 7 лет и максимальная просадка 50%. Проверка бэктеста отклонила стратегию до оптимизации: гипотеза — что Aroon подтверждает торгуемый бычий тренд на UNI 4H — не давала преимущества, а единственный содержательный параметр и базовая доходность PF-0.88 не оставляли ничего, кроме шума, для поиска лучшего результата из N вариантов. Стратегия отмечена как неудачный шаблон для семейства трендовых стратегий по времени с момента экстремума на отдельных альткоинах, что перекликается с отклонённой родственной стратегией Aroon ADA 4H.

Гипотеза

Стратегия подтверждения тренда только в лонг по одному инструменту TREND-CONFIRMATION на бессрочных фьючерсах UNIUSDT (Binance USD-M) использует осциллятор Aroon на барах 4 часа. CRITICAL DESIGN CHOICES выбраны под влиянием 6+ последовательных неудач стратегий на дополнительных данных и стратегий возврата к среднему / контртрендовых стратегий с короткими позициями: (a) ZERO зависимости от дополнительных данных — только OHLCV. (b) NOT возврат к среднему (неудачи на бессрочных контрактах альткоинов), NOT……Показать большеСвернуть

Стратегия подтверждения тренда только в лонг по одному инструменту TREND-CONFIRMATION на бессрочных фьючерсах UNIUSDT (Binance USD-M) использует осциллятор Aroon на барах 4 часа. CRITICAL DESIGN CHOICES выбраны под влиянием 6+ последовательных неудач стратегий на дополнительных данных и стратегий возврата к среднему / контртрендовых стратегий с короткими позициями: (a) ZERO зависимости от дополнительных данных — только OHLCV. (b) NOT возврат к среднему (неудачи на бессрочных контрактах альткоинов), NOT контртрендовые короткие позиции (неудачи при финансировании BTC). (c) 4H + Binance USD-M — сочетание для проверки, подтверждённое эмпирически. (d) символ NEW — UNI (Uniswap) нет в текущем портфеле ADA/AVAX/BNB/BTC/DOT/ETH/LINK/LTC/SOL; он представляет отдельный сектор DeFi (DEX токен управления) и не коррелирует с уже представленными альткоинами из секторов L1/L2/платежей/оракулов/мемов. (e) механизм NEW — осциллятор Aroon структурно отличается от всех остальных индикаторов в конвейере: это NOT канал (Donchian/Keltner), NOT индикатор на основе объёма, NOT MACD, NOT Supertrend и NOT система на основе скользящих средних (пересечения Hull/EMA/SMA). Aroon (метод Тушара Чанде 1995) измеряет TIME-SINCE-EXTREME, а не цену относительно MA: Aroon Up = 100 × (период − bars_since_highest_high) / период. Если последний максимум был совсем недавно AND, а последний минимум — давно, тренд сильно восходящий. Это принципиально иной источник сигнала. (f) MAXIMALLY SIMPLE — единственный содержательный параметр (период Aroon = 14, каноническое значение по умолчанию Чанде).

Итерация 4 устраняет сбой слоя -2: два вспомогательных метода поиска индекса экстремума были помечены как @staticmethod, но _StrategyProxy слоя -2 повторно привязывает методы класса как методы экземпляра, снимая дескриптор staticmethod, поэтому `self._idx_last_max(highs_w)` передавал 2 позиционных аргумента функции, ожидающей 1 аргументов (TypeError во всех шести синтетических сценариях). Минимальное исправление без регрессий переносит `_idx_last_max`/`_idx_last_min` на уровень модуля и вызывает их без `self.` — привязка невозможна, поэтому TypeError не повторится. Вся математика сигналов, расчёт размера позиции, импорты и структура класса в остальном побайтно совпадают с previous_code, сохраняя уже пройденные статические проверки слоя 1 и непрерывный незамороженный сигнал Aroon.

Фундаментально отрицательное преимущество; стратегия не подходит для оптимизации. За 431 сделок / 5.5 лет базовые показатели: коэффициент Шарпа -0.497, profit_factor 0.883 (<1, убыток после комиссий), total_return -28.4%, отрицательная альфа (-0.06); убыток в 5 из 7 лет в нескольких рыночных режимах. Реализация корректна и точно соответствует гипотезе (431 сделок только в лонг, только OHLCV, незамороженный сигнал), поэтому это не ошибка кода, которую можно исправить итерациями: гипотеза о том, что осциллятор……Показать большеСвернуть

Фундаментально отрицательное преимущество; стратегия не подходит для оптимизации. За 431 сделок / 5.5 лет базовые показатели: коэффициент Шарпа -0.497, profit_factor 0.883 (<1, убыток после комиссий), total_return -28.4%, отрицательная альфа (-0.06); убыток в 5 из 7 лет в нескольких рыночных режимах. Реализация корректна и точно соответствует гипотезе (431 сделок только в лонг, только OHLCV, незамороженный сигнал), поэтому это не ошибка кода, которую можно исправить итерациями: гипотеза о том, что осциллятор Aroon подтверждает торгуемый бычий тренд на UNI 4H, просто не даёт преимущества. При единственном содержательном параметре и базовой доходности PF-0.88 оптимизации не на чем искать устойчивую область; перебор лучших из N за 2 часов лишь подогнал бы кривую под шум в механизме с отрицательным математическим ожиданием. FAILURE PATTERN: стратегия подтверждения тренда Aroon только в лонг по одному активу на бессрочном контракте альткоина даёт действительно отрицательное базовое преимущество (как и отклонённая родственная стратегия Aroon ADA 4H). Семейство трендовых стратегий по времени с момента экстремума не даёт преимущества на отдельных альткоинах; не следует повторять попытку для каждого символа.

Реализация

Подтверждение тренда только в лонг на бессрочном контракте UNIUSDT Binance USD-M, бары 4H. Используется осциллятор Aroon Тушара Чанде (Aroon Up минус Aroon Down за окно в 14 баров) как непрерывный сигнал [-100,+100], измеряющий время с момента экстремума. Открывает лонг, когда осциллятор сильно положительный (>= entry_osc), закрывает позицию при ослаблении тренда (<= exit_osc) или по стоп-лоссу / тейк-профиту / временному стопу. Только OHLCV, без зависимости от дополнительных данных, размер позиции относительно капитала, плечо 1.0.

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

Проверка не пройдена (слой 2 — синтетические сценарии): Использованные параметры: ['tp_pct', 'exit_osc', 'risk_pct', 'stop_pct', 'entry_osc', 'aroon_period', 'min_notional', 'notional_pct', 'max_hold_bars'] Проверьте, что __init__ задаёт все атрибуты из self.parameters.get(). - steady_uptrend: TypeError: UniAroonOscillatorBullishTrendConfirmationLong4H._idx_last_max() ожидает 1 позиционный аргумент, получено 2 (время бара: 1735691340000) - steady_downtrend: TypeError:……Показать большеСвернуть

Проверка не пройдена (слой 2 — синтетические сценарии): Использованные параметры: ['tp_pct', 'exit_osc', 'risk_pct', 'stop_pct', 'entry_osc', 'aroon_period', 'min_notional', 'notional_pct', 'max_hold_bars'] Проверьте, что __init__ задаёт все атрибуты из self.parameters.get(). - steady_uptrend: TypeError: UniAroonOscillatorBullishTrendConfirmationLong4H._idx_last_max() ожидает 1 позиционный аргумент, получено 2 (время бара: 1735691340000) - steady_downtrend: TypeError: UniAroonOscillatorBullishTrendConfirmationLong4H._idx_last_max() ожидает 1 позиционный аргумент, получено 2 (время бара: 1735691340000) - flat_ranging: TypeError: UniAroonOscillatorBullishTrendConfirmationLong4H._idx_last_max() ожидает 1 позиционный аргумент, получено 2 (время бара: 1735691340000) - volatility_spike: TypeError: UniAroonOscillatorBullishTrendConfirmationLong4H._idx_last_max() ожидает 1 позиционный аргумент, получено 2 (время бара: 1735691340000) - zero_volume: TypeError: UniAroonOscillatorBullishTrendConfirmationLong4H._idx_last_max() ожидает 1 позиционный аргумент, получено 2 (время бара: 1735691340000) - price_gap: TypeError: UniAroonOscillatorBullishTrendConfirmationLong4H._idx_last_max() ожидает 1 позиционный аргумент, получено 2 (время бара: 1735691340000)

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

Шарп
-0,50
Общая доходность
-28,41%
Максимальная просадка
50,38%
Всего сделок
431
Доля прибыльных
35,0%
Профит-фактор
0,88

Реализация чистая и соответствует гипотезе: 431 сделок только в лонг, 0 сделок в шорт, только OHLCV, без зависимости от дополнительных данных, непрерывный меняющийся от бара к бару сигнал Aroon (нет риска замороженного сигнала).

Большая выборка сделок (431) за 5.5 лет — результаты статистически значимы и не являются шумом малой выборки.

Конвейер входа работает штатно: сигналов 431, отправлено заявок 431, отклонено из-за размера / наличных средств / минимального номинала 0.

Отрицательное преимущество за весь период: коэффициент Шарпа -0.497, profit_factor 0.883 (<1, убыток после комиссий), total_return -28.4%, CAGR -10.1%.

Отрицательная альфа (-0.06) и отрицательный коэффициент Сортино (-0.87) — стратегия не добавляет доходности с поправкой на риск относительно базовой экспозиции.

Убыточна в 5 из 7 календарных лет в разных рыночных режимах (2021 -10%, 2022 -26%, 2023 -12%, 2026 -21%) — дело не в одном неблагоприятном режиме, а в отсутствии преимущества на структурном уровне.

Максимальная просадка 50.4%; период под водой длился 1,936 дней (более 5 лет); доля прибыльных сделок всего 35%, максимум последовательных убытков — 13.

Только один содержательный параметр (период Aroon) и пороги входа/выхода — нет широкой устойчивой области для оптимизации, которую можно было бы использовать при убыточной базовой доходности.

Анализ

Представленный strategy_code не NOT реализует эту гипотезу — приложен не тот файл. Гипотеза: «UNI 4H Aroon Oscillator Bullish Trend Confirmation Long» (только длинные позиции, один инструмент, только OHLCV, UNIUSDT-PERP на барах 4H, сигнал осциллятора Aroon). Но код — это класс EthBtcRatioZScoreMeanReversionPairs: нейтральная к рынку парная сделка с двумя инструментами, длинной и короткой позициями, возвратом к среднему отношения ETH/BTC с z-оценкой на барах BTCUSDT+ETHUSDT DAILY. Конфигурация бэктеста……Показать большеСвернуть

Представленный strategy_code не NOT реализует эту гипотезу — приложен не тот файл. Гипотеза: «UNI 4H Aroon Oscillator Bullish Trend Confirmation Long» (только длинные позиции, один инструмент, только OHLCV, UNIUSDT-PERP на барах 4H, сигнал осциллятора Aroon). Но код — это класс EthBtcRatioZScoreMeanReversionPairs: нейтральная к рынку парная сделка с двумя инструментами, длинной и короткой позициями, возвратом к среднему отношения ETH/BTC с z-оценкой на барах BTCUSDT+ETHUSDT DAILY. Конфигурация бэктеста подтверждает, что запускался именно этот вариант: instrument_id=BTCUSDT.BINANCE, extra_instruments=[ETHUSDT.BINANCE], бары 1-DAY, сбалансированные длинная позиция 53 / короткая позиция 53 — в тесте нет UNI, нет 4H, нет Aroon и нет логики только для длинных позиций. ACTION: отправь фактический код стратегии UNI 4H с осциллятором Aroon и только длинными позициями (один инструмент UNIUSDT.BINANCE-4-HOUR, без дополнительных инструментов, вход по осциллятору Aroon Up/Down, только длинные позиции) и повтори бэктест до начала оптимизации. Отдельно: NOT просто отправляй код парной сделки с отношением ETH/BTC и MR: у этого семейства стратегий неоднократно не обнаруживали преимущества (от родственной стратегии отказались из-за полностью отрицательного коэффициента Шарпа CI), и этот запуск тоже убыточен (PF 0.95, коэффициент Шарпа -0.22, общий результат -11.8%). Сама гипотеза не тестировалась — сначала исправь несоответствие файла.

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

Проверка не пройдена (слой 2 — синтетические сценарии): Использованные параметры: ['exit_zscore', 'min_notional', 'max_hold_days', 'stop_loss_pct', 'per_leg_notional', 'profit_target_pct', 'ratio_lookback_days', 'ratio_zscore_threshold'] Проверьте, что __init__ задаёт все атрибуты из self.parameters.get(). - steady_uptrend: Замороженный сигнал: все 409 сигналов идентичны (значение=0.0). Вероятно, в calculate_signal() ошибка — сигнал никогда не меняется. - steady_downtrend: Замороженный сигнал: все 409 сигналов……Показать большеСвернуть

Проверка не пройдена (слой 2 — синтетические сценарии): Использованные параметры: ['exit_zscore', 'min_notional', 'max_hold_days', 'stop_loss_pct', 'per_leg_notional', 'profit_target_pct', 'ratio_lookback_days', 'ratio_zscore_threshold'] Проверьте, что __init__ задаёт все атрибуты из self.parameters.get(). - steady_uptrend: Замороженный сигнал: все 409 сигналов идентичны (значение=0.0). Вероятно, в calculate_signal() ошибка — сигнал никогда не меняется. - steady_downtrend: Замороженный сигнал: все 409 сигналов идентичны (значение=0.0). Вероятно, в calculate_signal() ошибка — сигнал никогда не меняется. - flat_ranging: Замороженный сигнал: все 409 сигналов идентичны (значение=0.0). Вероятно, в calculate_signal() ошибка — сигнал никогда не меняется. - volatility_spike: Замороженный сигнал: все 409 сигналов идентичны (значение=0.0). Вероятно, в calculate_signal() ошибка — сигнал никогда не меняется. - zero_volume: Замороженный сигнал: все 409 сигналов идентичны (значение=0.0). Вероятно, в calculate_signal() ошибка — сигнал никогда не меняется. - price_gap: Замороженный сигнал: все 409 сигналов идентичны (значение=0.0). Вероятно, в calculate_signal() ошибка — сигнал никогда не меняется.

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

Семейство стратегий подтверждения тренда только в лонг на основе Aroon (время с момента экстремума) даёт действительно отрицательную базовую доходность на отдельных бессрочных контрактах альткоинов — как и отклонённая родственная стратегия Aroon ADA 4H, — поэтому не следует повторять попытку для каждого символа: корректную реализацию механизма без преимущества невозможно оптимизацией превратить в прибыльную.

Проверка бэктеста отклонила стратегию до оптимизации: она не прошла проверку альфы, коэффициента Шарпа, максимальной просадки, общей доходности и фактора прибыли. При точной реализации (431 сделок только в лонг, только OHLCV, незамороженный сигнал) проблема была в гипотезе, а не в ошибке: у трендового подтверждения Aroon по времени с момента экстремума не было торгуемого преимущества на UNI, поэтому при одном содержательном параметре и убыточной базовой доходности не было устойчивой области, которую могла бы использовать оптимизация.

Стратегия подтверждения тренда только в лонг по одному инструменту на UNIUSDT.BINANCE USD-M perp (4H бары, только OHLCV) использует осциллятор Aroon Тушара Чанде: открывает лонг, когда осциллятор указывает на сильный и свежий восходящий тренд (недавний максимум, давний минимум), и выходит при ослаблении тренда или по стоп-лоссу / тейк-профиту / временному стопу. Выбор сделан намеренно: новый символ, новое семейство индикаторов и отсутствие зависимости от дополнительных данных после неоднократных неудач стратегий на дополнительных данных и возврате к среднему.

За 431 сделок только в лонг примерно за 5.5 лет стратегия имела фундаментально отрицательное преимущество: общая доходность -28.4%, CAGR -10.1%, коэффициент Шарпа -0.497, фактор прибыли 0.883 (убыток после комиссий), отрицательная альфа (-0.06) и коэффициент Сортино (-0.87), доля прибыльных сделок 35%, максимальная просадка 50.4%, убыток в 5 из 7 календарных лет в разных рыночных режимах.

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