전략에 따른 RSI 채널 스프레드


생성 날짜: 2023-12-18 17:48:24 마지막으로 수정됨: 2023-12-18 17:48:24
복사: 0 클릭수: 393
1
집중하다
1166
수행원

전략에 따른 RSI 채널 스프레드

개요

RSI 채널 가격 차차 추적 전략은 RSI 지표가 하락 채널 내에서 변동하는 것을 추적하여 가격의 돌파구와 결합하여 거래 신호를 생성합니다. 이 전략은 암호화폐 시장에서 빠른 매매를 포착하기 위해 노력하고 있습니다.

전략 원칙

  1. 헐 이동 평균을 사용하여 평평한 RSI를 사용하여 평평한 후의 RSI 지표를 생성한다. 종점 가격 RSI, 최고 가격 RSI, 최저 가격 RSI 및 중수 가격 RSI를 포함한다.

  2. RSI 채널을 55-45으로 설정한다. RSI 지표가 55-45 채널에 들어갈 때, 진동 영역에 들어가는 것을 나타냅니다.

  3. 닫기 가격 RSI 지표가 채널 오프라인에서 돌아와 닫기 가격이 중수 가격보다 낮을 때, 가격은 압박을 나타냅니다. 이 때 중수 가격 RSI 지표는 여전히 채널 상단보다 높습니다. 중수 가격에는 여전히 구매 동력이 있으며, 중수 가격 돌파구를 추적하는 논리에 부합하여 구매 신호가 발생합니다.

  4. 닫기 가격 RSI가 채널 하위에서 반발하고 닫기 가격이 중수 가격보다 높을 때, 가격은 지지를 나타냅니다. 이 때 중수 가격 RSI 지표는 채널 하위보다 낮아 중수 가격의 부담이 크다는 것을 나타냅니다. 이는 중수 가격의 돌파구를 추적하는 논리에 부합하며 판매 신호를 발생시킵니다.

  5. 최고 가격 RSI와 최저 가격 RSI 지표는 거래 신호의 실패를 적시에 식별하고 신속한 중단을 위해 사용됩니다.

전략적 이점

  1. 중간값을 이용해서 중간값의 강세를 추적하는 것은 트렌드 추적의 개념에 부합한다.

  2. RSI의 흔들림은 하락 통로 안에 있고, 교정으로 들어가기 위해 촉구합니다. 이 때 중위값을 사용하여 중위값의 강력한 방향을 추적하여, 간격의 흔들림에 갇히지 않도록 합니다.

  3. 최고 가격 RSI와 최저 가격 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