Strategi Pelacakan Perbedaan Harga Saluran RSI

Penulis:ChaoZhang, Tanggal: 2023-12-18 17:48:24
Tag:

img

Gambaran umum

Strategi Pelacakan Perbedaan Harga Saluran RSI menghasilkan sinyal perdagangan dengan melacak fluktuasi indikator RSI dalam saluran ambang dikombinasikan dengan harga pecah.

Logika Strategi

  1. Menggunakan Hull Moving Average untuk meratakan RSI dan menghasilkan indikator RSI yang meratakan, termasuk RSI untuk harga penutupan, harga tertinggi, harga terendah dan harga median.

  2. Tetapkan kisaran saluran RSI menjadi 55-45.

  3. Ketika harga penutupan RSI turun kembali dari batas atas saluran, dan harga penutupan lebih rendah dari harga median, itu menunjukkan bahwa harga berada di bawah tekanan; Namun, pada saat ini, harga median RSI masih di atas batas atas saluran, menunjukkan bahwa harga median masih memiliki daya beli yang memenuhi logika pelacakan harga median. Oleh karena itu, sinyal beli dihasilkan.

  4. Pada saat penutupan harga RSI memantul kembali dari batas bawah saluran, dan harga penutupan lebih tinggi dari harga median. Ini menunjukkan bahwa harga memiliki dukungan; tetapi pada saat ini, harga median RSI jatuh di bawah batas bawah saluran, menunjukkan bahwa harga median memiliki tekanan yang lebih besar, yang memenuhi logika pelacakan median harga break-out. Oleh karena itu, sinyal jual dihasilkan.

  5. RSI harga tertinggi dan indikator RSI harga terendah digunakan untuk segera mengidentifikasi sinyal perdagangan yang tidak valid dan mewujudkan stop loss cepat.

Keuntungan dari Strategi

  1. Menggunakan median price breakout untuk melacak arah harga median yang kuat memenuhi gagasan trend tracking.

  2. Ketika RSI berfluktuasi dalam saluran ambang, itu menunjukkan memasuki zona kejut. Pada saat ini, menggunakan harga median untuk melacak arah harga median yang kuat menghindari terjebak dalam kejut yang terikat kisaran.

  3. RSI harga tertinggi dan indikator RSI harga terendah digunakan untuk dengan cepat mengidentifikasi sinyal perdagangan yang tidak valid dan mewujudkan stop loss yang cepat, yang dapat secara efektif mengendalikan kerugian.

Risiko dari Strategi

  1. Pengaturan parameter RSI yang tidak benar dapat menyebabkan respon yang terlalu sensitif atau lambat.

  2. Signifikansi median price breakout tidak selalu dapat diandalkan, dan harga median itu sendiri juga dapat berfluktuasi.

  3. Volatilitas tinggi di pasar kripto, pengaturan stop loss yang terlalu longgar dapat menyebabkan kerugian yang diperbesar.

Solusi:

  • Mengoptimalkan parameter RSI untuk melakukan respons yang tepat terhadap perubahan harga
  • Gabungkan lebih banyak indikator untuk menilai keandalan median price breakout
  • Memperketat pengaturan stop loss dengan tepat untuk mencegah kerugian besar

Arahan untuk Optimasi Strategi

  1. Gabungkan lebih banyak indikator untuk menilai arah keluar dari harga median

Memperkenalkan indikator seperti Bollinger Bands untuk menilai apakah harga median dekat dengan band atas atau bawah, sehingga meningkatkan keakuratan menilai arah pecah harga median.

  1. Memperkenalkan model pembelajaran mesin untuk membantu penilaian

Menggunakan LSTM dan model pembelajaran mendalam lainnya untuk memprediksi tren harga median di masa depan dan membantu menentukan apakah harga median dapat berhasil keluar ke arah tertentu.

  1. Gunakan stop loss adaptif

Mengatur posisi stop loss secara dinamis berdasarkan volatilitas pasar. Misalnya, memperketat posisi stop loss dengan tepat ketika volatilitas meningkat; melonggarkan posisi stop loss dengan tepat ketika volatilitas menurun.

Ringkasan

Strategi Pelacakan Perbedaan Harga Saluran RSI menghasilkan sinyal perdagangan dengan melacak fluktuasi RSI dalam saluran yang dikombinasikan dengan price breakout, bertujuan untuk menangkap ledakan beli / jual cepat di pasar kripto. Strategi ini secara efektif menggabungkan metode pelacakan tren dan identifikasi kisaran dan masih dapat memperoleh sinyal perdagangan yang baik ketika perbedaan harga sempit. Sementara itu, mekanisme stop loss cepat juga membuat risiko strategi terkontrol. Langkah selanjutnya adalah untuk lebih meningkatkan keandalan dan profitabilitas strategi dengan menggabungkan lebih banyak penilaian indikator dan prediksi pembelajaran mesin.


/*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

Lebih banyak