Стратегия следования за трендом на основе Parabolic SAR и EMA


Дата создания: 2023-12-22 13:04:55 Последнее изменение: 2023-12-22 13:04:55
Копировать: 1 Количество просмотров: 636
1
Подписаться
1179
Подписчики

Стратегия следования за трендом на основе Parabolic SAR и EMA

Обзор

Основная идея этой стратегии заключается в том, чтобы одновременно использовать параболический SAR и EMA, чтобы определить направление тренда и время выхода на рынок. При этом параболический SAR используется для определения текущего направления тренда, а EMA используется для вспомогательного определения конкретного времени выхода на рынок.

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

Центральным показателем этой стратегии является Parabolic SAR, инструмент технического анализа, который позволяет отслеживать цены и определять обратный тренд. Его расчетные формулы более сложны, но принципы более простые и интуитивно понятные. Показатель SAR постоянно подстраивает свою позицию, всегда оставаясь позади цены, и когда цена переворачивается, он сразу же подстраивается на другую сторону цены.

Еще одним показателем, который помогает в этой стратегии, является EMA. В отличие от SAR, EMA лучше подходит для определения устойчивости тенденции. Некоторые шумы могут быть эффективно отфильтрованы, требуя, чтобы цена вступала только после того, как она прорвет EMA.

В общем, конкретные правила торговли в рамках этой стратегии следующие:

  1. Используйте SAR для определения направления тренда, SAR выше цены - медвежий рынок, ниже цены - бычий рынок
  2. В бычьем рынке, когда цена выше, чем EMA, вы делаете больше; в медвежьем рынке, когда цена меньше, чем EMA, вы делаете меньше
  3. Стоп-стоп устанавливается на значение SAR для контроля риска

Посредством параболического SAR можно определить основные тенденции, а затем использовать EMA-фильтрацию для подачи ошибочных сигналов, что позволяет зафиксировать тенденции и контролировать риски, эффективно отслеживая тенденции.

Анализ преимуществ

Основные преимущества этой стратегии:

  1. Сильная способность отслеживать тренды. SAR очень чувствителен к реверсии трендов и может эффективно зафиксировать направление тренда.
  2. Высокая точность. EMA фильтрует шум, чтобы избежать заглушения.
  3. Управление рисками. Установка точек остановки (SAR) позволяет контролировать индивидуальные потери.
  4. Правила стратегии простые, понятные и простые в применении.

В целом, стратегия объединяет преимущества нескольких индикаторов, эффективно контролирует риски, одновременно улавливая тенденции, является стратегией отслеживания тенденций с стабильной производительностью и легкостью освоения.

Анализ рисков

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

  1. Риск обратного тренда. Когда происходит обратный тренд, стратегия не может своевременно остановить убытки, что может привести к большим потерям.
  2. Риск шоковых ситуаций. В шоковых ситуациях стратегия может привести к многократным небольшим потерям.
  3. Оптимизация параметров риска. Настройка параметров SAR и EMA влияет на эффективность стратегии и требует повторного тестирования для поиска оптимальных параметров.

Для снижения этих рисков можно оптимизировать следующее:

  1. В сочетании с другими показателями, чтобы определить время поворота тенденции, устанавливается более чувствительная точка остановки.
  2. Повышение фильтрации позволит избежать частого открывания складов в случае возникновения толчков.
  3. Использование генетических алгоритмов для оптимизации комбинации параметров, чтобы найти оптимальные параметры.

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

Для дальнейшей оптимизации этой стратегии можно рассмотреть следующие варианты:

  1. Параметры EMA и SAR могут быть протестированы и оптимизированы с помощью более системных методов, таких как генетические алгоритмы, чтобы найти оптимальную комбинацию параметров.

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

  3. Настройка динамического остановки. Можно настроить динамическую точку остановки в зависимости от таких показателей, как ATR, чтобы остановка была более гибкой.

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

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

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

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

Стратегия отслеживания трендов, основанная на Parabolic SAR и EMA, интегрирует несколько показателей, чтобы определить направление тренда и преимущества входа в рынок, и является относительно стабильной количественной стратегией, которая имеет такие преимущества, как высокая точность определения и легкость освоения. Эта стратегия заслуживает внимания инвесторов. Но также существует определенный риск, требующий дальнейшей оптимизации параметров и методов остановки для достижения лучших результатов.

Исходный код стратегии
/*backtest
start: 2022-12-15 00:00:00
end: 2023-12-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Parabolic SAR Strategy w/ EMA", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)


emalength = input(100 , "EMA Length")
emaoffset = input(0.00, "EMA Offset %")
start = input(0.015)
increment = input(0.005)
maximum = input(0.2)

////////////////////////////////////////////////////////////////////////////////
// BACKTESTING RANGE
 
// From Date Inputs
fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2019, title = "From Year", minval = 1970)
 
// To Date Inputs
toDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2020, title = "To Year", minval = 1970)
 
// Calculate start/end date and time condition
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true
 
////////////////////////////////////////////////////////////////////////////////

psar = sar(start, increment, maximum)
ema = ema(close, emalength)
offset = (emaoffset / 100) * ema

// Signals
psar_long  = high[1] < psar[2] and high > psar[1] 
psar_short = low[1]  > psar[2] and low  < psar[1] 

// Plot PSAR
plotshape(psar, location = location.absolute, style = shape.cross, size = size.tiny, color = low < psar[1] and not psar_long ? green : red)

//Plot EMA
plot(ema)

if(psar_long)
    strategy.close("Short")
    
if(psar_short)
    strategy.close("Long")

if (psar < low and time_cond and close > ema + offset)
    strategy.entry("Long", strategy.long, comment="Long", stop = psar)
   
if (psar > high and time_cond and close < ema - offset)
    strategy.entry("Short", strategy.short, comment="Short", stop = psar)

if (not time_cond)
    strategy.close_all()