Основная идея этой стратегии заключается в том, чтобы одновременно использовать параболический SAR и EMA, чтобы определить направление тренда и время выхода на рынок. При этом параболический SAR используется для определения текущего направления тренда, а EMA используется для вспомогательного определения конкретного времени выхода на рынок.
Центральным показателем этой стратегии является Parabolic SAR, инструмент технического анализа, который позволяет отслеживать цены и определять обратный тренд. Его расчетные формулы более сложны, но принципы более простые и интуитивно понятные. Показатель SAR постоянно подстраивает свою позицию, всегда оставаясь позади цены, и когда цена переворачивается, он сразу же подстраивается на другую сторону цены.
Еще одним показателем, который помогает в этой стратегии, является EMA. В отличие от SAR, EMA лучше подходит для определения устойчивости тенденции. Некоторые шумы могут быть эффективно отфильтрованы, требуя, чтобы цена вступала только после того, как она прорвет EMA.
В общем, конкретные правила торговли в рамках этой стратегии следующие:
Посредством параболического SAR можно определить основные тенденции, а затем использовать EMA-фильтрацию для подачи ошибочных сигналов, что позволяет зафиксировать тенденции и контролировать риски, эффективно отслеживая тенденции.
Основные преимущества этой стратегии:
В целом, стратегия объединяет преимущества нескольких индикаторов, эффективно контролирует риски, одновременно улавливая тенденции, является стратегией отслеживания тенденций с стабильной производительностью и легкостью освоения.
Несмотря на все преимущества этой стратегии, существуют определенные риски, с которыми необходимо бороться в практической деятельности. Основные из них:
Для снижения этих рисков можно оптимизировать следующее:
Для дальнейшей оптимизации этой стратегии можно рассмотреть следующие варианты:
Параметры EMA и SAR могут быть протестированы и оптимизированы с помощью более системных методов, таких как генетические алгоритмы, чтобы найти оптимальную комбинацию параметров.
Добавление инструментов для определения тенденций. Дополнительные индикаторы, такие как MACD, Брин-Бенд, могут быть добавлены для подтверждения тенденций и повышения точности.
Настройка динамического остановки. Можно настроить динамическую точку остановки в зависимости от таких показателей, как ATR, чтобы остановка была более гибкой.
Учитывайте стоимость сделки. Введите параметры скольжения и комиссионных, оптимизируйте чистую прибыль, а не абсолютную прибыль.
Можно установить более сложный многоуровневый механизм входа и выхода, в разных стадиях тренда проводится поэтапное создание позиций или остановка потерь.
После оптимизации вышеперечисленных пунктов, стратегия, одновременно с отслеживанием тенденций, может получить более высокую стабильность, более точное суждение и более сильную способность контролировать риск, что приведет к лучшей производительности.
Стратегия отслеживания трендов, основанная на 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()