Многопериодная скользящая средняя с обратным вызовом и динамическая стратегия стоп-профита и стоп-лосса ATR

SMA ATR TP/SL 移动平均线 回调策略 动态止损
Дата создания: 2025-08-07 11:14:27 Последнее изменение: 2025-08-07 11:14:27
Копировать: 0 Количество просмотров: 281
2
Подписаться
319
Подписчики

Многопериодная скользящая средняя с обратным вызовом и динамическая стратегия стоп-профита и стоп-лосса ATR Многопериодная скользящая средняя с обратным вызовом и динамическая стратегия стоп-профита и стоп-лосса ATR

Обзор

Многоциклическая среднелинейная обратная коррекция с динамической остановкой ATR - это количественная торговая стратегия, которая сочетает в себе кратковременные и долгосрочные пересекающиеся сигналы простой движущейся средней (SMA) и среднюю реальную длину волны (ATR). Основная цель стратегии заключается в том, чтобы уловить возможность обратной коррекции цены по отношению к краткосрочной среднелинейной, а также динамически установить остановку с помощью показателя ATR, эффективно контролировать риск и блокировать прибыль.

Стратегический принцип

Ключевые принципы стратегии основаны на взаимосвязи между простыми движущимися средними (SMA) и ценами на двух различных периодах и в сочетании с показателями ATR реализуют динамическое управление рисками:

  1. Входная логика:

    • Многоглазый вход: когда цена ниже 8-циклического SMA (быстрая линия) и быстрая линия находится над 30-циклическим SMA (медленная линия)
    • Пустой вход: когда цена выше 8 циклов SMA (быстрая линия), и быстрая линия находится ниже 30 циклов SMA (медленная линия)
  2. Механизм выхода:

    • Использование 14-циклического ATR для расчета волатильности рынка
    • Многоочередные потери: входная цена минус ATR в 1,2 раза
    • Мультиголовый стержень: входная цена плюс ATR в 2.0 раза
    • Потеря на пустом месте: входная цена плюс ATR в 1,2 раза
    • Входная цена за вычетом ATR в 2,0 раза

Логика стратегии основана на сочетании слежения за трендом и возвращения средних значений. Когда быстрая средняя линия находится выше медленной средней линии, рынок находится в восходящем тренде; когда быстрая средняя линия находится ниже медленной средней линии, рынок находится в нисходящем тренде.

Динамический механизм ATR-стоп-стоп адаптируется к реальной волатильности рынка, автоматически расширяет диапазон стоп-стоп при увеличении волатильности и сужает диапазон стоп-стоп при уменьшении волатильности, что является более гибким и соответствует реальной ситуации на рынке, чем стоп-стоп в фиксированных точках.

Стратегические преимущества

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

  2. Динамическое управление рискамиС помощью ATR устанавливается стоп-стоп, позволяющий автоматически корректировать параметры риска в зависимости от реальных рыночных колебаний, чтобы избежать слишком близкого стоп-стопа в период высокой волатильности или слишком большого стоп-стопа в период низкой волатильности.

  3. Оптимизация риска по сравнению с выгодойATR Stop Loss Multiple ((2.0) больше, чем Stop Loss Multiple ((1.2)), обеспечивает хорошее риско-прибыль соотношение, теоретически прибыль-убыток на одну сделку составляет 1.67:1.

  4. Краткие параметры стратегии: содержит только 4 ключевых параметра ((быстрый SMA цикл, медленный SMA цикл, ATR стоп-лост-множитель, ATR стоп-стоп-множитель), легко понять и оптимизировать

  5. Высокая степень адаптацииСтратегия может адаптироваться к различным рыночным условиям, хорошо работать в трендовых рынках и одновременно сокращать убытки в шокирующих рынках с помощью динамического стоп-лоска.

  6. Эффективность работы полного складаСтратегия использования позиционного менеджмента, установленного в качестве 100% доли в аккаунте, чтобы максимально использовать эффективность капитала при уверенности в появлении сигнала.

Стратегический риск

  1. Среднелинейная отсталость:SMA сам по себе является отстающим показателем, что может привести к задержке сигнала в быстро меняющихся рынках, что может привести к нежелательной точке входа или пропуску важных поворотных точек. Решение заключается в том, чтобы рассмотреть возможность использования EMA (индексная движущаяся средняя) вместо SMA для уменьшения отсталости.

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

  3. Параметр Чувствительность: Стратегическая производительность более чувствительна к SMA-циклическим и ATR-множественным настройкам, различные комбинации параметров отличаются в различных рыночных условиях. Решение состоит в том, чтобы оптимизировать настройки параметров в различных рыночных условиях путем обратной связи.

  4. Продолжающийся риск убытков: В условиях сильного колебания рынка может возникнуть последовательное остановка, в результате чего будут поглощены средства счета. Решение заключается в увеличении механизма фильтрации рыночной среды, уменьшении частоты торговли или приостановке торговли на высоко волатильных горизонтальных рынках.

  5. Риски полной позицииСтратегия: использование 100% торговли правами и интересами, увеличивает рисковый порог для одиночных сделок. Решение заключается в том, чтобы рассмотреть возможность создания позиций или снижения доли позиций, особенно в периоды высокой неопределенности на рынке.

  6. ATR фиксирован в течение расчетаATR в коде использует фиксированные 14 циклов, которые могут не полностью адаптироваться ко всем рыночным условиям. Решение заключается в том, чтобы установить циклы ATR в качестве параметров, которые можно регулировать для различных рыночных условий.

Направление оптимизации стратегии

  1. Фильтрация усиления тенденции: можно добавить ADX ((индекс среднего направления) или аналогичный показатель для измерения силы тренда, вступая только в то время, когда тренд ясен, избегая ложных сигналов в шокирующем рынке. Такая оптимизация может значительно повысить эффективность стратегии в трендовом рынке и уменьшить убыточные сделки в шокирующем рынке.

  2. Введение подтверждения мощности: в сочетании с динамическими показателями, такими как RSI или MACD, в качестве вспомогательных сигналов подтверждения, повышает строгость условий входа. Динамические показатели могут помочь подтвердить интенсивность движения цены и уменьшить убытки от ложных прорывов.

  3. Параметры оптимизации адаптируютсяРазработка механизма самоадаптации параметров, основанных на волатильности рынка или силе тренда, что позволит циклам SMA и ATR-множителям адаптироваться к динамике состояния рынка. Это позволит стратегии лучше адаптироваться к различным рыночным условиям и повысить общую стабильность.

  4. Добавить фильтр времениВключение временной фильтрации, чтобы избежать известных периодов низкой ликвидности или высокой волатильности, таких как выпуск важных данных или время транзакций. Это может снизить ненужные остаточные потери, вызванные аномальными колебаниями рынка.

  5. Добавление стратегии управления позициями: изменение размера позиции в зависимости от состояния рынка, изменения чистой стоимости счета или силы сигнала, а не фиксированное использование 100% прибыли. Это повысит эффективность использования средств, а также снизит риск в отдельных сделках.

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

  7. Интегрированный многовременный анализ: подтверждение тенденции в сочетании с более высоким уровнем временных циклов, торговля только в том случае, если высокий уровень и низкий уровень тенденции в направлении. Многовременный анализ может эффективно отфильтровывать низкокачественные сигналы, повышая уровень успешности торгов.

Подвести итог

Многоциклическая среднелинейная регрессия с динамической стоп-стоп-стратегией ATR - это количественная торговая система, объединяющая основные принципы технического анализа, которая идентифицирует рыночные тенденции с помощью 8-циклического и 30-циклического SMA, использует регрессию цены на быструю среднелинейную линию для поиска входных возможностей и использует ATR для динамической установки стоп-стоп-стоп-риска. Эта стратегия разработана просто, логически чётко, с меньшим количеством параметров и легкой для понимания, особенно подходит для таких волатильных рынков, как криптовалюты.

Основные преимущества стратегии заключаются в сочетании подтверждения тренда с отклонением входа, а также в динамическом управлении рисками, основанном на фактической волатильности рынка. С помощью установки разумного соотношения стоп-стоп-лосс, стратегия может в теории поддерживать хороший риск-прибыль соотношение.

Оптимизация в будущем будет сосредоточена на увеличении интенсивности и динамики трендов, разработке механизмов самостоятельной адаптации параметров, оптимизации управления позициями и интеграции анализа с использованием нескольких временных циклов. Благодаря этим улучшениям стратегия может быть более устойчивой и прибыльной, а также лучше адаптироваться к различным рыночным условиям.

Исходный код стратегии
/*backtest
start: 2024-08-07 00:00:00
end: 2025-08-05 08:00:00
period: 3d
basePeriod: 3d
exchanges: [{"eid":"Futures_Binance","currency":"BNB_USDT"}]
*/

//@version=6
strategy("8/30 SMA Pullback + ATR Exits (Crypto)", overlay=true,
         default_qty_type=strategy.percent_of_equity,
         default_qty_value=100, initial_capital=200)

// === Inputs === //
smaFastLen   = input.int(8,  "Fast SMA",  minval=1)
smaSlowLen   = input.int(30, "Slow SMA",  minval=1)
atrMultSL    = input.float(1.2, "ATR Multiplier SL", step=0.1)
atrMultTP    = input.float(2.0, "ATR Multiplier TP", step=0.1)

// === Core Series === //
smaFast = ta.sma(close, smaFastLen)
smaSlow = ta.sma(close, smaSlowLen)
atr     = ta.atr(14)

// === Entry Conditions === //
longCond  = close < smaFast and smaFast > smaSlow
shortCond = close > smaFast and smaFast < smaSlow

if longCond
    strategy.entry("Long", strategy.long)

if shortCond
    strategy.entry("Short", strategy.short)

// === ATR-based TP / SL === //
if strategy.position_size > 0
    longSL = strategy.position_avg_price - atr * atrMultSL
    longTP = strategy.position_avg_price + atr * atrMultTP
    strategy.exit(id="Exit Long", from_entry="Long",
                  stop=longSL, limit=longTP)

if strategy.position_size < 0
    shortSL = strategy.position_avg_price + atr * atrMultSL
    shortTP = strategy.position_avg_price - atr * atrMultTP
    strategy.exit(id="Exit Short", from_entry="Short",
                  stop=shortSL, limit=shortTP)

// === Visuals === //
plot(smaFast, "Fast SMA",  color=color.blue)
plot(smaSlow, "Slow SMA",  color=color.gray)