Стратегия следования за спредом канала RSI


Дата создания: 2023-12-18 17:48:24 Последнее изменение: 2023-12-18 17:48:24
Копировать: 0 Количество просмотров: 680
1
Подписаться
1621
Подписчики

Стратегия следования за спредом канала RSI

Обзор

Стратегия RSI channel price gap tracking создает торговые сигналы, отслеживая колебания RSI в канале снижения стоимости, в сочетании с ценовыми прорывами. Стратегия направлена на то, чтобы захватить быстрые взрывы торговли на криптовалютном рынке.

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

  1. С помощью Hull Moving Average smooth RSI, создается RSI-индикатор после сглаживания. Включает в себя RSI закрытия, RSI максимума, RSI минимума и RSI среднего значения.

  2. Настройка диапазона RSI на 55-45. Когда индикатор RSI входит в канал 55-45, это означает, что он входит в колебательную зону.

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

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

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

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

  1. Использование средних цен для отслеживания сильных направлений средних цен соответствует идее отслеживания тенденций.

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

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

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

  1. Неправильная настройка RSI может привести к чрезмерной чувствительности или вялости.

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

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

Решение проблемы:

  • Оптимизация параметров RSI, чтобы они были умеренно чувствительны к ценовым изменениям
  • Достоверность прорыва средней цены в сочетании с другими показателями
  • Правильное сжатие позиции стоп-лосса, чтобы предотвратить чрезмерные потери

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

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

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

  1. Внедрение вспомогательных суждений в модели машинного обучения

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

  1. Использование адаптивной остановки

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

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

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

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

//@version=4
strategy("Hull MA of RSI Strategy",overlay=false)
//+++++++++++++++++++++++++++++++
//++++++++++++ Setup ++++++++++++
//+++++++++++++++++++++++++++++++
// RSI 
rsi1_tt="=== RSI ==="
rsi1_len=input(13,title="Period",inline="set",group=rsi1_tt)
//Mid
mid_tt="=== Mid Channel ==="
upper=input(55.0,title="Upper",inline="set",group=mid_tt)
lower=input(45.0,title="Lower",inline="set",group=mid_tt)
//Over
over_tt="=== Over ==="
ovb=input(70.0,title="Overbought",inline="set",group=over_tt)
ovs=input(30.0,title="Oversold",inline="set",group=over_tt)
//++++++++++++++++++++++++++++++++++++++++
//++++++++++++ Hull MA of RSI ++++++++++++
//++++++++++++++++++++++++++++++++++++++++
hma_tt="=== Hull MA ==="
hma_len=input(3,title="Period",inline="set",group=hma_tt)
rsi_c=hma(rsi(close,rsi1_len),hma_len)
rsi_h=hma(rsi(high,rsi1_len),hma_len)
rsi_l=hma(rsi(low,rsi1_len),hma_len)
rsi_hl2=hma(rsi(hl2,rsi1_len),hma_len)
//++++++++++++++++++++++++++++++++
//++++++++++++ Signal ++++++++++++
//++++++++++++++++++++++++++++++++
var order_status="None"
BuySignal=
       crossunder(rsi_c,ovb)
       and
       close<hl2
       and
       rsi_hl2>ovb
       and
       order_status=="None"
CloseBuy=
       order_status[1]=="Long"
       and
       (crossover(rsi_c,ovb)
       or
       crossunder(rsi_l,upper))
SellSignal=
       crossover(rsi_c,ovs)
       and
       close>hl2
       and
       rsi_hl2<ovs
       and
       order_status=="None"
CloseSell=
       order_status[1]=="Short"
       and
       (crossunder(rsi_c,ovs)
       or
       crossover(rsi_h,lower))
ExitSignal=
       CloseBuy
       or
       CloseSell
if BuySignal
    order_status:="Long"
if SellSignal
    order_status:="Short"
if ExitSignal
    order_status:="None"

//+++++++++++++++++++++++++++++++++++
//++++++++++++ Plot Line ++++++++++++
//+++++++++++++++++++++++++++++++++++
rsi_c_col=
       rsi_c>upper?color.new(color.blue,0):
       rsi_c<lower?color.new(color.blue,0):
       color.new(color.orange,0)
rsi_h_col=
       rsi_h>upper?color.new(color.green,0):
       rsi_h<lower?color.new(color.green,0):
       color.new(color.orange,0)
rsi_l_col=
       rsi_l>upper?color.new(color.yellow,0):
       rsi_l<lower?color.new(color.yellow,0):
       color.new(color.orange,0)
rsi_hl2_col=
       rsi_hl2>upper?color.new(color.olive,0):
       rsi_hl2<lower?color.new(color.olive,0):
       color.new(color.orange,0)
plot(rsi_c,title="RSI Close",color=rsi_c_col,linewidth=2)
plot(rsi_h,title="RSI High",color=rsi_h_col,linewidth=1)
plot(rsi_l,title="RSI Low",color=rsi_l_col,linewidth=1)
plot(rsi_hl2,title="RSI HL2",color=rsi_hl2_col,linewidth=1)
upper_line=hline(upper,title="Upper",color=color.new(color.black,100))
lower_line=hline(lower,title="Lower",color=color.new(color.black,100))
fill(upper_line,lower_line,title="Mid Channel",color=color.silver)
ovb_line=hline(ovb,title="Overbought",color=color.new(color.silver,0),linestyle=hline.style_solid,linewidth=2)
ovs_line=hline(ovs,title="Oversold",color=color.new(color.silver,0),linestyle=hline.style_solid,linewidth=2)

//++++++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++ Plot Analyzing Signals ++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++++++
//Color
buy_col=
       BuySignal?color.new(color.blue,70):na
sell_col=
       SellSignal?color.new(color.red,70):na
close_buy_col=
       CloseBuy and order_status[1]=="Long"?color.new(color.yellow,70):na
close_sell_col=
       CloseSell and order_status[1]=="Short"?color.new(color.yellow,70):na
//Background
bgcolor(close_buy_col, title='Close Buy', offset=0)
bgcolor(close_sell_col, title='Close Sell', offset=0)
bgcolor(sell_col, title='Sell', offset=0)
bgcolor(buy_col, title='Buy', offset=0)
//++++++++++++++++++++++++++++++++++
//++++++++++++ Backtest ++++++++++++
//++++++++++++++++++++++++++++++++++
strategy.entry("Long",strategy.long,when=BuySignal)
strategy.close("Long",when=CloseBuy)
strategy.entry("Short",strategy.short,when=SellSignal)
strategy.close("Short",when=CloseSell)
//EOF