
Strategi ini menerapkan strategi trading di bawah nilai yang sederhana berdasarkan indikator RSI yang relatif kuat. Beli ketika RSI berada di bawah nilai 30 dan jual ketika RSI berada di atas nilai 40. Periode kepemilikan tetap 10 hari. Strategi ini cocok untuk perdagangan jangka menengah.
Strategi ini didasarkan pada sinyal perdagangan yang dihasilkan dari zona oversold dan zona overbought pada RSI. RSI mencerminkan perlambatan penurunan harga dalam satu periode. RSI di bawah 30 menunjukkan berada di atas zona jual dan harga saham dapat bangkit; RSI di atas 70 menunjukkan berada di atas zona beli dan harga saham dapat turun.
Secara khusus, strategi ini pertama-tama menghitung RSI 10 hari, kemudian menetapkan ambang batas 30 dan 40. Ketika RSI 10 hari di bawah 30, sinyal beli dihasilkan, dan ketika RSI 10 hari di atas 40, sinyal jual dihasilkan. Setelah menerima sinyal beli, posisi dibuka dan dibeli. Setelah menerima sinyal jual, posisi langsung dijual jika jumlah hari yang dipegang lebih dari 10 hari; Jika jumlah hari yang dipegang kurang dari 10 hari, posisi terus dipegang hingga hari ke-10 dijual.
Strategi ini sederhana dan mudah dimengerti, dengan indikator RSI untuk menilai area oversold dan overbought, untuk mewujudkan strategi perdagangan di bawah nilai yang didasarkan pada indikator.
Strategi ini menggunakan indikator RSI yang banyak digunakan. Parameter RSI dapat disesuaikan dan dioptimalkan untuk berbagai siklus dan lingkungan pasar.
RSI dapat mencerminkan tren perubahan harga. Strategi untuk menilai pergerakan harga berdasarkan indikator RSI, memungkinkan pelacakan tren yang sederhana.
Strategi ini mengadopsi jangka waktu pegangan tetap yang dapat secara efektif mengendalikan kerugian tunggal. Sementara itu, parameter RSI dapat disesuaikan untuk mengurangi probabilitas perdagangan yang salah.
Parameter RSI dapat diatur secara fleksibel, tetapi over-optimisasi dan bias pengukuran dapat membawa risiko real-time.
RSI adalah indikator yang mengikuti tren, reaksi lambat terhadap kejadian yang tidak terduga, ada keterlambatan tertentu. Harus digabungkan dengan indikator lain untuk dioptimalkan.
Waktu memegang posisi tetap memaksakan titik stop loss, tidak dapat disesuaikan dengan perubahan pasar. Diharapkan untuk lebih mengoptimalkan penyesuaian stop loss secara dinamis.
Mengoptimalkan parameter RSI, menguji pengaruh parameter yang berbeda terhadap strategi
Menambahkan indikator lain, membentuk portofolio indikator, memanfaatkan keuntungan dari indikator yang berbeda
Mengoptimalkan strategi stop-loss stop-loss yang memungkinkan penyesuaian dinamis terhadap perubahan pasar
Mengoptimalkan manajemen posisi, menyesuaikan posisi secara dinamis sesuai dengan kondisi pasar
Uji varietas yang sesuai dengan strategi, pilih varietas dengan mobilitas baik dan volatilitas tinggi
Mengoptimalkan waktu trading, menguji dampak dari waktu trading yang berbeda pada strategi
Strategi ini secara keseluruhan relatif sederhana, melalui indikator RSI untuk mencapai strategi perdagangan berdasarkan penurunan. Keunggulan strategi adalah sederhana, mudah dipahami, kontrol risiko relatif baik. Namun ada juga kesulitan dalam mengoptimalkan parameter RSI, stop loss tidak fleksibel, dan lain-lain.
/*backtest
start: 2022-10-23 00:00:00
end: 2023-10-29 00:00:00
period: 1d
basePeriod: 1h
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/
// © Bitduke
//@version=4
// strategy("Simple RSI Buy/Sell at a level", shorttitle="Simple RSI Strategy", overlay=true,calc_on_every_tick=false,pyramiding=1, default_qty_type=strategy.cash,default_qty_value=1000, currency=currency.USD, initial_capital=1000,commission_type=strategy.commission.percent, commission_value=0.075)
overbought = input(40, title="overbought value")
oversold = input(30, title="oversold value")
// Component Test Periods Code Begin
testStartYear = input(2018, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)
testStopYear = input(2021, "Backtest Stop Year")
testStopMonth = input(16, "Backtest Stop Month")
testStopDay = input(2, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)
// A switch to control background coloring of the test period
testPeriodBackground = input(title="Color Background?", type=input.bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? #00FF00 : na
bgcolor(testPeriodBackgroundColor, transp=97)
testPeriod() => true
// Component Test Periods Code End
//////////////////////////////////////////////////////////////////////
myrsi = rsi(close, 10) > overbought
myrsi2 = rsi(close, 10) < oversold
barcolor(myrsi ? color.black : na)
barcolor(myrsi2 ? color.blue : na)
myEntry = myrsi2 and hour(time) <= 9
strategy.entry("Buy Signal", strategy.long, when = myEntry and testPeriod())
// Close 10 bar periods after the condition that triggered the entry
//if (myEntry[10])
//strategy.close("Buy Signal")
strategy.close("Buy Signal", when = barssince(myEntry) >= 10 or myrsi and testPeriod())
//strategy.entry("Sell Signal",strategy.short, when = myrsi2)