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.
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.
Tetapkan julat saluran RSI kepada 55-45. Apabila RSI memasuki saluran 55-45, ia menunjukkan memasuki zon kejutan.
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.
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.
Indikator RSI harga tertinggi dan RSI harga terendah digunakan untuk segera mengenal pasti isyarat perdagangan yang tidak sah dan merealisasikan kerugian berhenti pantas.
Menggunakan penembusan harga median untuk mengesan arah harga median yang kuat memenuhi idea pengesanan trend.
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.
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.
Tetapan parameter RSI yang tidak betul boleh menyebabkan tindak balas yang terlalu sensitif atau lambat.
Kepentingan harga median tidak selalu boleh dipercayai, dan harga median itu sendiri juga boleh turun naik.
Volatiliti tinggi di pasaran kripto, tetapan stop loss yang terlalu longgar boleh menyebabkan kerugian yang diperbesar.
Penyelesaian:
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.
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.
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.
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