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

Стратегии

Freqtrade AwesomeMacd (berlinguyinca), точный перенос только для длинных позиций на 1h для спотового рынка NEARUSDT

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

AwesomeMacdNearSpot

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

В этом запуске AwesomeMacd из Freqtrade без изменений перенесена на спотовый рынок NEARUSDT со свечами 1h — это проверка воспроизведения, а не прогноз преимущества. Бэктест за 6 лет показывает, что перенос следует правилам исходной стратегии, но сигнал не содержал информации: средний результат 462 сделок составил 0.093% на сделку, фактор прибыли — 0.923, коэффициент Шарпа — -0.59, а моделируемое воздействие на цену обнулило счёт в декабре 2022. Проверяющий бэктеста остановил запуск после одной итерации, поскольку результат оказался ниже порога комиссий спотового рынка и был убыточным ещё до учёта воздействия на цену; поэтому оптимизация и последующие этапы не проводились. Проверяющий также отметил неподтверждённую проблему движка для проверки: сделки продолжали открываться после того, как кривая капитала достигла нуля.

Гипотеза

Точный перенос стратегии Freqtrade «AwesomeMacd» Герта Вольгемута (berlinguyinca, GPL-3.0; сама она преобразована из Mynt AwesomeMacd.cs sthewissen). Мы переносим версию Freqtrade без изменений, а не исходную Mynt: в Freqtrade условие входа зависит от того, выше или ниже нуля находится MACD LINE (TA-Lib по умолчанию 12/26/9), тогда как в Mynt использовался MACD HISTOGRAM с (5,7,4). Индикаторы на свечах 1ч: AO = SMA(медианная цена (H+L)/2, 5) - SMA(медианная цена, 34), стандартный вариант qtpylib……Показать большеСвернуть

Точный перенос стратегии Freqtrade «AwesomeMacd» Герта Вольгемута (berlinguyinca, GPL-3.0; сама она преобразована из Mynt AwesomeMacd.cs sthewissen). Мы переносим версию Freqtrade без изменений, а не исходную Mynt: в Freqtrade условие входа зависит от того, выше или ниже нуля находится MACD LINE (TA-Lib по умолчанию 12/26/9), тогда как в Mynt использовался MACD HISTOGRAM с (5,7,4). Индикаторы на свечах 1ч: AO = SMA(медианная цена (H+L)/2, 5) - SMA(медианная цена, 34), стандартный вариант qtpylib awesome_oscillator (простой, не взвешенный). Линия MACD = EMA(close,12) - EMA(close,26), согласно вычислениям TA-Lib. ADX(14) вычисляется в исходном коде, но не используется ни в одном правиле, поэтому опущен (на поведение это не влияет). Вход (enter_long) срабатывает, когда macd > 0 AND ao > 0 AND ao предыдущей свечи < 0; то есть AO пересекает ноль вверх, пока MACD положителен. Сигнал выхода (exit_long) срабатывает, когда macd < 0 AND ao < 0 AND ao предыдущей свечи > 0. Также применяются настройки Freqtrade по умолчанию: minimal_roi {"0": 0.10}, тейк-профит при прибыли +10%, начиная с минуты 0; стоп-лосс -0.25; use_exit_signal = True; exit_profit_only = False; одна открытая сделка на пару; только лонг (can_short по умолчанию False). Адаптация платформы: (1) Площадка и инструмент. В исходнике пара не указана, поэтому мы выбрали NEARUSDT.BINANCE_SPOT: режим только лонг без плеча подходит для спотового рынка, для NEAR доступна многолетняя история Binance с интервалом 1ч начиная с октября 2020, а NEAR редко встречается в корпусе данных, в отличие от BTC, LINK, DOT и ATOM. (2) Момент исполнения. В Freqtrade сигнал исполняется на открытии следующей свечи. На площадке 24/7 это use_equivalent из реестра: рыночный ордер на закрытии свечи сигнала. (3) ROI и стоп — внутрисвечные ордера, сопоставляемые платформой (тейк-профит — лимитный ордер/MIT, стоп — reduce-only _submit_stop_market); это повторяет бэктест Freqtrade, где выход происходит по максимуму и минимуму свечи. Выставлять ордер, остающийся на бирже, не требуется. (4) Размер позиции. Размер ставки Freqtrade задаётся конфигурацией пользователя. Мы используем настройку платформы по умолчанию: 95% капитала счёта на вход, одна позиция за раз, без наращивания позиции. (5) Комиссия тейкера Binance Spot составляет 0.10% за сторону. Все параметры зафиксированы на исходных значениях по умолчанию. Ожидаемая арифметика на сделку: пересечение AO нуля при MACD>0 на NEAR 1ч запускает движение, прибыль по которому ограничена на уровне +10%, а убыток продолжается до сигнала выхода (обычно от -2% до -5%) или до -25%. Даже при доле прибыльных сделок около 40%, средней прибыли +4% и среднем убытке -2.5%, валовый результат составляет около +0.1% на сделку. Это не даёт явного преимущества над комиссией за полный оборот 0.20%, поэтому это проверка точности воспроизведения, а не прогноз сильного преимущества стратегии.

BINANCE_SPOT — подходящая площадка для стратегии только с длинными позициями и без кредитного плеча; у предложений для спотового рынка доля выживших выше. NEAR редко встречается в корпусе, поэтому такой выбор позволяет избежать чрезмерно проверенной серии BTC. Дополнительный поток данных не нужен.

no_edge: negative_expectancy. Проверка минимального порога комиссии: avg_trade_return_pct составляет 0.093% относительно порога 0.25% BINANCE_SPOT. PF равен 0.923, коэффициент Шарпа — -0.59, а IC 0.0009 (t=0.21) на 462 закрытых сделках за примерно 6 лет. Суммарный PnL сделок отрицателен ещё до моделирования воздействия на цену и составляет около -$388k; 2022 и 2025 теряют -1.4% и -1.6% на сделку. Комиссии составляют лишь 6.6% от валовой прибыли, поэтому причина не в них: ограничение +10% ROI при стопе -25% не……Показать большеСвернуть

no_edge: negative_expectancy. Проверка минимального порога комиссии: avg_trade_return_pct составляет 0.093% относительно порога 0.25% BINANCE_SPOT. PF равен 0.923, коэффициент Шарпа — -0.59, а IC 0.0009 (t=0.21) на 462 закрытых сделках за примерно 6 лет. Суммарный PnL сделок отрицателен ещё до моделирования воздействия на цену и составляет около -$388k; 2022 и 2025 теряют -1.4% и -1.6% на сделку. Комиссии составляют лишь 6.6% от валовой прибыли, поэтому причина не в них: ограничение +10% ROI при стопе -25% не окупается при доле прибыльных сделок 38%. С учётом моделируемого воздействия на цену (183% от валовой прибыли, ёмкость около $30k) счёт обнуляется в декабре 2022, доходя до 0. Все параметры закреплены контрактом, поэтому оптимизация ничего не изменит. Опасение QA, высказанное при предварительной проверке, подтвердилось на полной истории. Вывод относится только к точному переносу AwesomeMacd на спотовом рынке Binance NEARUSDT с таймфреймом 1h, настройкой ROI по умолчанию и стопом на уровне 95% при расчёте размера позиции от капитала. Это не опровергает AwesomeMacd на других парах, вариант Mynt с гистограммой или другие настройки ROI/стопа. Отдельный признак для проверки движка, не подтверждённый: после ликвидации на 2022-12-08 кривая капитала показывает 0, но сделки продолжают открываться с шестизначным номиналом; вероятно, при расчёте размера позиции используется капитал без списанного воздействия на цену.

Реализация

Точный перенос Freqtrade AwesomeMacd (berlinguyinca) на спотовый рынок Binance NEARUSDT, свечи 1h, только длинные позиции. Покупка при пересечении Awesome Oscillator (SMA5-SMA34 медианной цены) нуля снизу вверх (ao>0, предыдущее ao<0), когда линия MACD (EMA12-EMA26) положительна. Продажа при обратном условии (macd<0, ao<0, предыдущее ao>0). Условные ордера удерживают тейк-профит 10% minimal_roi и стоп-лосс -25% внутри свечи. На каждый вход используется 95% капитала, одновременно открыта одна позиция.

Правила, определения индикаторов (простое MA AO по медианной цене, EMA в стиле TA-Lib с инициализацией SMA для линии MACD) и значения по умолчанию в точности следуют исходному коду. ADX и сигнал/гистограмма MACD вычисляются в исходном коде, но не используются в правилах, поэтому опущены. ROI и стоп-лосс — соответствующие площадке условные ордера, выставленные при входе; они срабатывают внутри свечи, как в бэктесте Freqtrade. should_exit обрабатывает только сигнал выхода. calculate_signal возвращает AO в процентах от цены как непрерывный сигнал; условие пересечения/MACD находится в should_enter/should_exit. Это проверка воспроизведения: согласно собственным расчётам гипотезы, валовое преимущество близко к затратам на круговую сделку на спотовом рынке 0.20%.

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

Необязательно: инициализировать быструю EMA значением SMA закрытий[slow-fast : slow], чтобы в точности соответствовать TA-Lib. После прогрева изменения поведения не ожидается.

В TA-Lib функция MACD инициализирует быструю EMA средним значением SMA на интервале, который заканчивается там же, где инициализация медленной EMA (обе последовательности начинаются с одного индекса). Здесь быстрая EMA инициализируется по первым 12 закрытиям. Разница геометрически затухает и становится пренебрежимо малой после прогрева (min_bars 60; при первом вызове цикл обработки догоняет все накопленные свечи), влияя лишь на первые несколько часов истории и прогрев после каждого сброса границы walk-forward-анализа.

Не требуется. При желании добавьте freqtrade_fee в фиксированный план, чтобы явно закрепить расчёт TP.

take_profit_pct — это 0.102102 (10.21% от цены), а не 10%. Это ставка выхода Freqtrade за вычетом комиссий ROI: open*(1+roi+fee)/(1-fee), где комиссия равна 0.001; это корректный перевод minimal_roi {"0": 0.10}. Конструктор проверяет её по roi_pct и freqtrade_fee. freqtrade_fee не входит в research_contract.fixed, поэтому здесь он указан только для возможности проследить происхождение.

Симуляция (832 дней, 172 закрытых сделок, без оптимизации) показывает avg_trade_return_pct -0.25% при затратах на круговую спотовую сделку 0.20%, PF 0.83 и просадку 94.5%. Комиссия составляет лишь 7.7% от валовой прибыли, поэтому валовое преимущество выглядит отрицательным или нулевым. Вся прибыль пришлась на треть периода с высокой волатильностью. Это соответствует собственной оценке гипотезы (около +0.1% валовой прибыли на сделку). Все параметры зафиксированы (список настраиваемых параметров пуст), поэтому оптимизация не изменит результат. Решение по этому точному воспроизведению должен дать бэктест на полной истории. Сначала проверьте, отрицательна ли также средняя доходность сделки по годам на полной истории.

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

Шарп
-0,59
Общая доходность
-100,00%
Максимальная просадка
100,00%
Всего сделок
462
Доля прибыльных
38,3%
Профит-фактор
0,92

Сделки соответствуют правилам исходной стратегии. Все 462 входов — длинные позиции AO при пересечении нуля снизу вверх и MACD > 0. Выходы происходят по плечу +10% ROI (прибыльные сделки группируются около +9.3%), стопу -25% (убыточные сделки группируются около -25.5%) или пересечению сигнала. Перенос точный.

Большая выборка: 462 закрытых сделок за примерно 6 лет; metrics_reliable — да, аудит исходных данных пройден без замечаний.

Результат ниже порога комиссии спотового рынка и убыточен: avg_trade_return_pct составляет 0.093% при пороге проверки 0.25% BINANCE_SPOT. PF равен 0.923, коэффициент Шарпа — -0.59, IC исполненного сигнала — 0.0009 (t=0.21), то есть сигнал не содержит информации. Причина не в комиссиях: они составляют лишь 6.6% от валовой прибыли.

Опасение QA подтвердилось на полной истории. Средняя доходность сделок по годам: +3.74% (2020), +0.88% (2021), -1.39% (2022), +0.26% (2023), +0.65% (2024), -1.63% (2025), +1.14% (2026). Суммарный PnL сделок до моделируемого воздействия на цену — около -$388k; убыток обусловлен срабатываниями стопа -25% (например, -$141k на 2025-02-03 и -$136k на 2025-10-10). Убыточна сама структура выплат по условным ордерам: прибыль ограничена уровнем +10%, а стоп составляет 2.5x от этой величины.

Моделируемое воздействие на цену составляет 183% валовой прибыли (около $853k), а capacity_usd — всего около $29.8k. При таком размере позиции NEAR на спотовом рынке и свечах 1h слишком неликвиден; согласно отчёту, капитал 0 на 2022-12-08 (ликвидация). В прибыльные годы стратегия также зависела от беты: рост 2020-21 совпал с бычьим ралли NEAR.

Возможная несогласованность журнала, независимо не проверена: указанная кривая капитала равна 0 с декабря 2022, однако сделки продолжают открываться примерно на $130k–$550k номинала вплоть до 2026. По-видимому, при расчёте размера позиции используется величина капитала, не учитывающая списанные издержки воздействия на цену. Рассматривайте это как признак для проверки движка. Вердикт не меняется: PnL на уровне сделок отрицателен даже без учёта воздействия на цену.

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

Проблема была не в комиссиях (они составили лишь 6.6% от валовой прибыли); убытки возникли из-за ограничения прибыли по успешным сделкам на уровне +10% при удержании убыточных сделок до стопа -25%. Такая структура не окупается при доле прибыльных сделок около 38%; кроме того, размер позиции в 95% от капитала на неликвидном спотовом рынке NEAR привёл к высоким издержкам воздействия на цену.

Проверяющий бэктеста проголосовал за остановку до оптимизации (no_edge: negative_expectancy). Средняя доходность сделки оказалась ниже порога комиссии 0.25% BINANCE_SPOT, а суммарный PnL сделок составил около -$388k даже до учёта воздействия на цену. Все параметры были закреплены контрактом, поэтому оптимизация не могла изменить результат.

Точный перенос AwesomeMacd из Freqtrade (berlinguyinca) на спотовый рынок Binance NEARUSDT со свечами 1h: открыть длинную позицию, когда Awesome Oscillator пересекает ноль снизу вверх, а линия MACD положительна; закрыть её при обратном пересечении. Используются настройки Freqtrade по умолчанию: +10% ROI, стоп-лосс -25% и размер позиции 95% от капитала.

В более чем 462 длинных сделках с октября 2020 по октябрь 2026 средняя доходность сделки составила 0.093% от номинала; доля прибыльных сделок — 38.3%, фактор прибыли — 0.923, коэффициент Шарпа — -0.59, а сигнал IC 0.0009 (t=0.21). Общая доходность составила -100%: с учётом моделируемого воздействия на цену (183% от валовой прибыли, ёмкость около $29.8k) счёт был ликвидирован 2022-12-08.

Анализ

AwesomeMacd

Анализ

AwesomeMacd.py

AwesomeMacd.cs

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