Strategi Pengesanan Perbezaan Harga Saluran RSI

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

img

Ringkasan

Strategi Pelacakan Perbezaan Harga Saluran RSI menjana isyarat perdagangan dengan mengesan turun naik penunjuk RSI dalam saluran ambang digabungkan dengan penembusan harga. Strategi ini bertujuan untuk menangkap ledakan beli dan jual yang cepat di pasaran crypto.

Logika Strategi

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

  2. Tetapkan julat saluran RSI kepada 55-45. Apabila RSI memasuki saluran 55-45, ia menunjukkan memasuki zon kejutan.

  3. Apabila harga penutupan RSI jatuh kembali dari had atas saluran, dan harga penutupan lebih rendah daripada harga median, ia menunjukkan bahawa harga berada di bawah tekanan; Walau bagaimanapun, pada masa ini, harga median RSI masih di atas had atas saluran, menunjukkan bahawa harga median masih mempunyai daya beli yang memenuhi logik mengesan pecah harga median. Oleh itu, isyarat beli dihasilkan.

  4. Apabila harga penutupan RSI bangkit kembali dari had bawah saluran, dan harga penutupan lebih tinggi daripada harga median. Ia menunjukkan bahawa harga mempunyai sokongan; tetapi pada masa ini, harga median RSI jatuh di bawah had bawah saluran, menunjukkan bahawa harga median mempunyai tekanan yang lebih besar, yang memenuhi logik mengesan penembusan harga median. Oleh itu, isyarat jual dihasilkan.

  5. Indikator RSI harga tertinggi dan RSI harga terendah digunakan untuk segera mengenal pasti isyarat perdagangan yang tidak sah dan merealisasikan kerugian berhenti pantas.

Kelebihan Strategi

  1. Menggunakan penembusan harga median untuk mengesan arah harga median yang kuat memenuhi idea pengesanan trend.

  2. Apabila RSI turun naik dalam saluran ambang, ia menunjukkan memasuki zon kejutan. Pada masa ini, menggunakan harga median untuk mengesan arah harga median yang kuat mengelakkan terperangkap dalam kejutan terhad julat.

  3. Indikator RSI harga tertinggi dan RSI harga terendah digunakan untuk dengan cepat mengenal pasti isyarat perdagangan yang tidak sah dan merealisasikan kerugian berhenti cepat, yang dapat mengawal kerugian dengan berkesan.

Risiko Strategi

  1. Tetapan parameter RSI yang tidak betul boleh menyebabkan tindak balas yang terlalu sensitif atau lambat.

  2. Kepentingan harga median tidak selalu boleh dipercayai, dan harga median itu sendiri juga boleh turun naik.

  3. Volatiliti tinggi di pasaran kripto, tetapan stop loss yang terlalu longgar boleh menyebabkan kerugian yang diperbesar.

Penyelesaian:

  • Mengoptimumkan parameter RSI untuk membuat tindak balas yang betul terhadap perubahan harga
  • Gabungkan lebih banyak penunjuk untuk menilai kebolehpercayaan penembusan harga median
  • Memperketat tetapan stop loss dengan betul untuk mengelakkan kerugian besar

Arahan untuk Pengoptimuman Strategi

  1. Gabungkan lebih banyak penunjuk untuk menilai arah penembusan harga median

Memperkenalkan penunjuk seperti Bollinger Bands untuk menilai sama ada harga median dekat dengan jalur atas atau bawah, dengan itu meningkatkan ketepatan menilai arah pecah harga median.

  1. Memperkenalkan model pembelajaran mesin untuk membantu penilaian

Menggunakan LSTM dan model pembelajaran mendalam yang lain untuk meramalkan trend masa depan harga median dan membantu menentukan sama ada harga median dapat berjaya pecah ke arah tertentu.

  1. Gunakan Stop Loss adaptif

Sesuaikan kedudukan stop loss secara dinamik berdasarkan turun naik pasaran. Sebagai contoh, mengetatkan kedudukan stop loss dengan sewajarnya apabila turun naik meningkat; melonggarkan kedudukan stop loss dengan sewajarnya apabila turun naik menurun.

Ringkasan

Strategi Pengesanan Perbezaan Harga Saluran RSI menjana isyarat perdagangan dengan mengesan turun naik RSI dalam saluran yang digabungkan dengan penembusan harga, bertujuan untuk menangkap ledakan beli / jual yang cepat di pasaran kripto. Strategi ini secara berkesan menggabungkan pengesanan trend dan kaedah pengenalan julat dan masih dapat memperoleh isyarat perdagangan yang baik apabila perbezaan harga sempit. Sementara itu, mekanisme henti rugi cepat juga menjadikan risiko strategi terkawal. Langkah seterusnya adalah untuk meningkatkan kebolehpercayaan dan keuntungan strategi dengan menggabungkan lebih banyak penilaian penunjuk dan ramalan 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 lanjut