
Strategi ini adalah strategi untuk melakukan perdagangan pendek menggunakan indikator RSI. Ini menggabungkan indikator RSI dan indikator Williams Shark untuk melakukan perdagangan mundur ketika indikator RSI memasuki zona overbought atau oversold, yang merupakan strategi perdagangan pendek yang lebih konservatif.
Strategi ini didasarkan pada prinsip-prinsip berikut:
Menggunakan aturan perdagangan pesisir, hanya masuk ketika pasar berbalik dengan jelas, dan menggunakan metode perdagangan yang lebih konservatif.
Ketika garis indikator RSI memasuki zona overbought (default above 60) atau zona oversold (default below 40), berarti pasar berada pada titik kritis untuk berbalik, saat ini dilakukan trading reverse.
Dalam kombinasi dengan indikator Williams Salmon untuk menentukan tren pasar. Hanya pertimbangkan untuk melakukan blanko jika indikator Salmon menunjukkan tiga garis rata ke bawah (garis merah bibir, garis gigi putih, garis biru); hanya pertimbangkan untuk melakukan lebih banyak jika indikator Salmon menunjukkan tiga garis rata ke atas.
Penggunaan RSI indikator RSI untuk menilai RSI indikator sendiri overbought oversold fenomena, membentuk efek filter ganda. Hanya ketika garis indikator RSI memasuki zona overbought oversold, sementara RSI indikator RSI juga memasuki zona overbought oversold, sinyal perdagangan akan dikirim.
Tetapkan Stop Loss Line dan Stop Loss Line. Bila harga terbalik dan mencapai Stop Loss Line atau Stop Loss Line, tutup posisi Stop Loss Line atau Stop Loss Line.
Strategi ini memiliki keuntungan sebagai berikut:
Dengan menggunakan strategi perdagangan yang kuat dan hanya masuk saat pasar berbalik, Anda dapat menghindari risiko besar yang tidak dapat diandalkan saat pasar bergejolak.
Menggunakan indikator RSI untuk menentukan titik balik pasar, indikatornya sederhana, jelas, dan mudah dioperasikan. Pengaturan RSI pada RSI menghindari whipsaw, dan penyaringan ganda meningkatkan keandalan sinyal.
Dalam kombinasi dengan indikator penyu untuk menentukan arah tren, menghindari perdagangan berlawanan. Indikator penyu sebagai kondisi tambahan menambah efek penyaringan.
Tetapkan strategi Stop Loss untuk mengunci keuntungan dan mengendalikan risiko.
Mudah untuk mengoptimalkan parameter. Parameter RSI dan kondisi masuk dan keluar dapat disesuaikan sesuai dengan pasar yang berbeda, strategi optimalisasi.
Strategi ini juga memiliki beberapa risiko:
Ada kemungkinan bahwa RSI akan mengirimkan sinyal palsu. RSI mungkin akan mengirimkan sinyal overbought dan oversold yang salah. Kombinasi dengan indikator penyu dapat mengurangi kemungkinan sinyal palsu.
Stop loss yang terlalu besar dapat menyebabkan peningkatan kerugian. Stop loss harus diturunkan secara tepat untuk mengurangi kerugian tunggal.
Reversal tidak selalu terjadi di zona RSI overbought overbought. Perubahan struktur pasar dapat menyebabkan perubahan titik balik, menyesuaikan parameter sesuai waktu.
Jumlah transaksi mungkin lebih sedikit, dan ada situasi tanpa transaksi dalam waktu lama. Kondisi masuk dapat relaksasi sesuai untuk meningkatkan jumlah transaksi.
Pasar dapat terus naik atau turun dalam jangka waktu yang lama, sehingga perdagangan garis pendek terjebak. Sebaiknya sesuaikan siklus kepemilikan posisi, perpanjang atau kurangi siklus perdagangan.
Strategi ini dapat dioptimalkan dari beberapa arah:
Mengoptimalkan parameter RSI, menyesuaikan interval zona overbought dan zona oversold untuk menyesuaikan dengan pasar yang berbeda.
Adaptasi parameter indikator ikan paus untuk mengoptimalkan akurasi penilaian arah tren.
Optimalkan pengaturan stop loss untuk mencapai kontrol penarikan maksimum dan mengunci lebih banyak keuntungan.
Dikombinasikan dengan indikator lain untuk meningkatkan akurasi sinyal, seperti KDJ, MACD, dll.
Menambahkan fitur stop loss otomatis, tracking stop loss, dan kontrol lebih baik terhadap kerugian tunggal.
Mengoptimalkan manajemen posisi, menyesuaikan ukuran posisi dengan kondisi pasar yang berbeda, dan mengendalikan risiko.
Mengoptimalkan periode perdagangan, melakukan perdagangan pada periode waktu yang lebih jelas tren.
Strategi ini secara keseluruhan adalah strategi perdagangan garis pendek yang lebih stabil. Strategi ini menggunakan strategi perdagangan pantai yang lebih konservatif, sekaligus menggunakan indikator RSI untuk menentukan titik balik, dan didukung dengan indikator penyu untuk menentukan arah tren, yang dapat secara efektif menghindari perdagangan berisiko tinggi seperti mengejar naik dan turun, dan mengunci keuntungan yang lebih stabil.
/*backtest
start: 2023-11-06 00:00:00
end: 2023-11-07 20:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © mohanee
//@version=4
strategy(title="RSI of Ultimate Oscillator [SHORT Selling] Strategy", shorttitle="RSIofUO" , overlay=false, pyramiding=1, default_qty_type=strategy.percent_of_equity, default_qty_value=20, initial_capital=10000, currency=currency.USD) //default_qty_value=10, default_qty_type=strategy.fixed,
//Ultimate Oscillator logic copied from TradingView builtin indicator
/////////////////////////////////////////////////////////////////////////////////
length1 = input(5, minval=1), length2 = input(10, minval=1), length3 = input(15, minval=1)
rsiUOLength = input(5, title="RSI UO length", minval=1)
sellLine = input (60, title="Sell at RSIofUO")
coverLine = input (75, title="Cover at RSIofUO")
riskCapital = input(title="Risk % of capital", defval=10, minval=1)
stopLoss=input(3,title="Stop Loss",minval=1)
showUO=input(false, "show Ultimate Oscialltor")
average(bp, tr_, length) => sum(bp, length) / sum(tr_, length)
high_ = max(high, close[1])
low_ = min(low, close[1])
bp = close - low_
tr_ = high_ - low_
avg7 = average(bp, tr_, length1)
avg14 = average(bp, tr_, length2)
avg28 = average(bp, tr_, length3)
out = 100 * (4*avg7 + 2*avg14 + avg28)/7
//Ultimate Oscillator
/////////////////////////////////////////////////////////////////////////////////
//Willimas Alligator copied from TradingView built in Indicator
/////////////////////////////////////////////////////////////////////////////////
smma(src, length) =>
smma = 0.0
smma := na(smma[1]) ? sma(src, length) : (smma[1] * (length - 1) + src) / length
smma
//moving averages logic copied from Willimas Alligator -- builtin indicator in TradingView
sma1=smma(hl2,10)
sma2=smma(hl2,20)
sma3=smma(hl2,50)
//Willimas Alligator
/////////////////////////////////////////////////////////////////////////////////
//drawings
/////////////////////////////////////////////////////////////////////////////////
hline(sellLine, title="Middle Line 60 [Short Here]", color=color.red , linestyle=hline.style_solid)
obLevelPlot = hline(75, title="Overbought", color=color.blue , linestyle=hline.style_dashed)
osLevelPlot = hline(25, title="Oversold", color=color.blue, linestyle=hline.style_dashed)
fill(obLevelPlot, osLevelPlot, title="Background", color=color.blue, transp=90)
rsiUO = rsi(out,rsiUOLength)
ultPlot=plot(showUO==true? out : na, color=color.green, title="Oscillator")
plot(rsiUO, title = "rsiUO" , color=color.purple)
//drawings
/////////////////////////////////////////////////////////////////////////////////
//Strategy Logic
/////////////////////////////////////////////////////////////////////////////////
//Entry--
//Echeck how many units can be purchased based on risk manage ment and stop loss
qty1 = (strategy.equity * riskCapital / 100 ) / (close*stopLoss/100)
//check if cash is sufficient to buy qty1 , if capital not available use the available capital only
qty1:= (qty1 * close >= strategy.equity ) ? (strategy.equity / close) : qty1
strategy.entry(id="SERSIofUO", long=false, qty=qty1, when = sma1<=sma2 and sma2 < sma3 and close<sma2 and crossunder(rsiUO,sellLine) )
//strategy.entry(id="SERSiofUO", long=false, when = sma1< sma2 and crossunder(rsiUO,60) )
barcolor(abs(strategy.position_size)>=1 ? color.purple : na )
bgcolor(abs(strategy.position_size)>=1 ? color.purple : na , transp=70)
//partial exit
strategy.close(id="SERSIofUO", comment="PExit", qty=strategy.position_size/3, when=abs(strategy.position_size)>=1 and close< strategy.position_avg_price and crossover(rsiUO,30) )
strategy.close(id="SERSIofUO", comment="CloseAll", when=abs(strategy.position_size)>=1 and crossover(rsiUO,coverLine) )
//Strategy Logic
/////////////////////////////////////////////////////////////////////////////////