Все о ATR и EMA основанные тенденции после стратегии

Автор:Чао Чжан, Дата: 2024-02-23 14:34:24
Тэги:

img

Обзор

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

Принцип стратегии

Во-первых, эта стратегия использует индикатор ATR для расчета диапазона колебаний цен в течение определенного периода. Верхний предел диапазона ATR - SMA + ATR, а нижний предел - SMA-ATR. Где SMA представляет собой простую скользящую среднюю цену закрытия в день, а ATR представляет собой среднюю цену True Range.

Когда цена проходит через верхний или нижний предел диапазона ATR, возникает торговая возможность. В это время необходимо судить о направлении. Если это прорыв вверх, займите длинный. Если это прорыв вниз, займите короткий. Чтобы гарантировать, что направление прорыва соответствует направлению тренда, стратегия использует индикатор EMA для определения общего направления тренда. Только когда направление прорыва соответствует направлению EMA, будет принята позиция.

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

Преимущества стратегии

  1. Использование индикатора ATR для определения прорывов может эффективно отслеживать прорывы ценового тренда.

  2. Добавление показателя EMA в качестве направленного суждения позволяет избежать торговли против направления тренда, что может значительно улучшить уровень прибыли.

  3. Использование перерыва цены выше диапазона ATR в качестве метода остановки потерь может максимально контролировать риск.

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

  1. На волатильном рынке диапазон ATR может часто превышаться, что легко приводит к чрезмерным недействительным сделкам и более широким потерям.

  2. EMA как индикатор для оценки направления тренда имеет некоторое отставание, поэтому он может упустить возможности для краткосрочных переворотов цен.

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

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

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

  2. Рассмотреть возможность корректировки параметров ATR в режиме реального времени в зависимости от волатильности рынка, чтобы диапазон ATR был ближе к фактическим колебаниям.

  3. Подумайте о включении метода движущегося стоп-лосса для непрерывной корректировки точки стоп-лосса с целью максимального контроля риска отдельных потерь.

Резюме

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


/*backtest
start: 2024-01-23 00:00:00
end: 2024-02-22 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © cwagoner78
//@version=4
strategy("cATRpillar", overlay=true)
//------------

//inputs
lookback = input(title="Periods", type=input.integer, defval=37)
atrMult = input(title="Range Multiplier", type=input.float, defval=.2)
takeProfit = input(title="Take Profit", type=input.float, defval=5000)
stopLoss = input(title="Stop Loss", type=input.float, defval=2500)
lots = input(title="Lots to Trade", type=input.float, defval=1)
//------------

//indicators
atr=atr(lookback)*atrMult
sma=sma(close, lookback)
ema=ema(close,lookback*2)
rangeLo=sma-atr
rangeHi=sma+atr
//------------

//draw objects
p0 =plot(close, title="Close", color=#26A69A, linewidth=0, transp=80,style=plot.style_stepline)
p1 =plot(rangeHi, title="High", color=color.fuchsia, linewidth=0, transp=80,style=plot.style_stepline)
p2 =plot(rangeLo, title="Low", color=color.lime, linewidth=0, transp=80,style=plot.style_stepline)
p3 =plot(ema, title="EMA", color=color.white, linewidth=0, transp=80, style=plot.style_stepline)
fill(p1, p0, color=color.fuchsia)
fill(p0, p2, color=color.lime)
//------------

//Trading
atrShort=open[1] > rangeHi and open < rangeLo
atrLong=open[1] < rangeLo and open > rangeHi
exitLong=open>rangeLo
exitShort=open<rangeHi

//Long
longCondition=atrLong and open>ema+atr
strategy.entry(id="cATRpillar-Buy", long=true, when=longCondition)
longCloseCondition=exitLong
strategy.exit(id="cATRpillar-Exit", qty=lots, profit=takeProfit, loss=stopLoss, when=longCloseCondition)

//Short
shortCondition=atrShort and open<ema-atr
strategy.entry(id="cATRpillar-Sell", long=false, when=shortCondition)
shortCloseCondition=exitShort
strategy.exit(id="cATRpillar-Exit",  qty=lots, profit=takeProfit, loss=stopLoss, when=shortCloseCondition)

plotshape(shortCondition,  title= "Short", location=location.belowbar, color=color.fuchsia, transp=80, style=shape.triangledown, size=size.tiny)
plotshape(longCondition,  title= "Long", location=location.abovebar, color=color.lime, transp=80, style=shape.triangleup, size=size.tiny)
//------------







Больше