Стратегия прорыва колебания двойной скользящей средней


Дата создания: 2023-11-27 17:44:49 Последнее изменение: 2023-11-27 17:44:49
Копировать: 0 Количество просмотров: 624
1
Подписаться
1617
Подписчики

Стратегия прорыва колебания двойной скользящей средней

Обзор

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

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

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

  1. Вычисляются две средние линии, средняя линия 1 имеет короткий период, средняя линия 2 имеет длинный период. Средняя линия 1 отражает текущую ценовую тенденцию, средняя линия 2 отражает основную ценовую тенденцию.

  2. На средней линии 1 и ниже по одному ATR образуется канал, который отражает текущую волатильность рынка.

  3. Сигнал купить формируется, когда цена прорывает канал снизу вверх; сигнал продать, когда цена прорывает канал снизу вверх.

  4. В сочетании с основными ценовыми тенденциями, настоящий торговый сигнал может быть получен только в том случае, если направление короткого цикла совпадает с длинным циклом.

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

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

Эта стратегия имеет следующие преимущества:

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

  2. Внедрение ATR-параметров позволяет в реальном времени отслеживать колебания рынка.

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

  4. Правила стратегического суждения четкие, простые, легко понятные, подходящие для изучения и исследования.

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

Также существуют следующие риски:

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

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

  3. При значительных колебаниях рынка стоп-лосс легко преодолеть. ATR может быть изменен в режиме реального времени в ответ на рыночные колебания.

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

Эта стратегия может быть оптимизирована в следующих аспектах:

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

  2. Параметры ATR также могут быть оптимизированы, чтобы канал лучше отслеживал текущую волатильность.

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

  4. Автоматическая оптимизация параметров с помощью технологии машинного обучения для динамической корректировки параметров.

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

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

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

//Anuj4912
//@version=4
strategy("Anuj4912", overlay=true)
res = input(title="Time Frame",  defval="120")
Factor=input(1, minval=1,maxval = 100)
Pd=input(1, minval=1,maxval = 100)

tp = input(500,title="Take Profit")
sl = input(400,title="Stop Loss")


Up=hl2-(Factor*atr(Pd))
Dn=hl2+(Factor*atr(Pd))
MUp=request.security(syminfo.tickerid,res,hl2-(Factor*atr(Pd)))
MDn=request.security(syminfo.tickerid,res,hl2+(Factor*atr(Pd)))

Mclose=request.security(syminfo.tickerid,res,close)

TrendUp=close[1]>TrendUp[1]? max(Up,TrendUp[1]) : Up
TrendDown=close[1]<TrendDown[1]? min(Dn,TrendDown[1]) : Dn

MTrendUp=Mclose[1]>MTrendUp[1]? max(MUp,MTrendUp[1]) : MUp
MTrendDown=Mclose[1]<MTrendDown[1]? min(MDn,MTrendDown[1]) : MDn

Trend = close > TrendDown[1] ? 1: close< TrendUp[1]? -1: nz(Trend[1],1)
Tsl = Trend==1? TrendUp: TrendDown

MTrend = Mclose > MTrendDown[1] ? 1: Mclose< MTrendUp[1]? -1: nz(MTrend[1],1)
MTsl = MTrend==1? MTrendUp: MTrendDown

linecolor = Trend == 1 ? green : red
plot(Tsl, color = linecolor , style = line , linewidth = 2,title = "SuperTrend")

Mlinecolor = MTrend == 1 ? blue : orange
plot(MTsl, color = Mlinecolor , style = line , linewidth = 2,title = "Main SuperTrend")

plotshape(cross(close,Tsl) and close>Tsl , "Up Arrow", shape.triangleup,location.belowbar,green,0,0)
plotshape(cross(Tsl,close) and close<Tsl , "Down Arrow", shape.triangledown , location.abovebar, red,0,0)

up = Trend == 1 and Trend[1] == -1 and MTrend == 1 
down = Trend == -1 and Trend[1] == 1 and MTrend == -1 
plotarrow(up ? Trend : na, title="Up Entry Arrow", colorup=lime, maxheight=60, minheight=50, transp=0)
plotarrow(down ? Trend : na, title="Down Entry Arrow", colordown=red, maxheight=60, minheight=50, transp=0)


golong = Trend == 1 and Trend[1] == -1 and MTrend == 1 
goshort = Trend == -1 and Trend[1] == 1 and MTrend == -1 

strategy.entry("Buy", strategy.long,when=golong)
strategy.exit("Close Buy","Buy",profit=tp,loss=sl)
   
   
strategy.entry("Sell", strategy.short,when=goshort)
strategy.exit("Close Sell","Sell",profit=tp,loss=sl)