Strategi Pelacakan Perbedaan Harga Saluran RSI menghasilkan sinyal perdagangan dengan melacak fluktuasi indikator RSI dalam saluran ambang dikombinasikan dengan harga pecah.
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.
Tetapkan kisaran saluran RSI menjadi 55-45.
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.
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.
RSI harga tertinggi dan indikator RSI harga terendah digunakan untuk segera mengidentifikasi sinyal perdagangan yang tidak valid dan mewujudkan stop loss cepat.
Menggunakan median price breakout untuk melacak arah harga median yang kuat memenuhi gagasan trend tracking.
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.
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.
Pengaturan parameter RSI yang tidak benar dapat menyebabkan respon yang terlalu sensitif atau lambat.
Signifikansi median price breakout tidak selalu dapat diandalkan, dan harga median itu sendiri juga dapat berfluktuasi.
Volatilitas tinggi di pasar kripto, pengaturan stop loss yang terlalu longgar dapat menyebabkan kerugian yang diperbesar.
Solusi:
Memperkenalkan indikator seperti Bollinger Bands untuk menilai apakah harga median dekat dengan band atas atau bawah, sehingga meningkatkan keakuratan menilai arah pecah harga median.
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.
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.
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