Strategi ini menerapkan strategi perdagangan ambang sederhana berdasarkan Indeks Kekuatan Relatif (RSI). Ini membeli ketika RSI turun di bawah ambang 30 dan menjual ketika RSI naik di atas ambang 40. Periode kepemilikan ditetapkan pada 10 hari. Strategi ini cocok untuk perdagangan jangka menengah.
Strategi ini terutama menggunakan zona oversold dan overbought dari indikator RSI untuk menghasilkan sinyal perdagangan. RSI mencerminkan kecepatan perubahan harga selama periode. RSI di bawah 30 menunjukkan zona oversold di mana harga dapat bangkit kembali. RSI di atas 70 menunjukkan zona overbought di mana harga dapat turun.
Secara khusus, strategi pertama menghitung RSI 10 hari, kemudian menetapkan ambang pada 30 dan 40. Ketika RSI 10 hari turun di bawah 30, sinyal beli dihasilkan. Ketika RSI 10 hari naik di atas 40, sinyal jual dihasilkan. Setelah menerima sinyal beli, ia membuka posisi panjang. Setelah menerima sinyal jual, jika hari kepemilikan melebihi 10 hari, ia menutup posisi secara langsung. Jika tidak, ia terus memegang hingga hari ke-10 untuk menjual.
Strategi ini sederhana dan mudah dimengerti, mengidentifikasi zona oversold dan overbought menggunakan RSI untuk menerapkan strategi perdagangan ambang berdasarkan indikator.
Strategi ini menggunakan indikator RSI yang lazim. Parameter RSI dapat disesuaikan dan dioptimalkan agar sesuai dengan periode dan lingkungan pasar yang berbeda.
RSI dapat mencerminkan tren perubahan harga. Strategi menilai pergerakan harga berdasarkan RSI untuk mencapai tren sederhana berikut.
Strategi ini mengadopsi periode penyimpanan tetap untuk secara efektif mengendalikan kerugian tunggal. Sementara itu, parameter RSI dapat disesuaikan untuk mengurangi perdagangan yang salah.
Parameter RSI dapat diatur secara fleksibel tetapi terlalu banyak optimasi dan bias backtest dapat membawa risiko perdagangan langsung.
RSI adalah indikator yang mengikuti tren dan bereaksi lambat terhadap peristiwa mendadak, dengan beberapa efek keterlambatan.
Periode pemegang tetap menginstruksikan titik pengambilan keuntungan dan stop-loss dan tidak dapat disesuaikan berdasarkan perubahan pasar.
Mengoptimalkan parameter RSI dan dampak tes dari nilai yang berbeda.
Tambahkan indikator lain untuk membentuk sistem gabungan menggunakan kekuatan dari indikator yang berbeda.
Meningkatkan strategi stop profit/loss untuk memungkinkan penyesuaian dinamis berdasarkan kondisi pasar.
Mengoptimalkan ukuran posisi untuk menyesuaikan posisi secara dinamis berdasarkan kondisi pasar.
Uji produk yang cocok untuk strategi, memilih produk cair dengan volatilitas tinggi.
Mengoptimalkan jam perdagangan dan tes dampak pada strategi.
Strategi ini relatif sederhana, menerapkan strategi perdagangan berbasis ambang menggunakan RSI. Keuntungannya termasuk kesederhanaan, kemudahan pemahaman dan kontrol risiko yang relatif baik. Namun, masalah seperti kesulitan pengoptimalan parameter RSI dan stop profit / loss yang tidak fleksibel ada. Peningkatan di masa depan termasuk pengoptimalan parameter, peningkatan stop profit / loss, ukuran posisi dll. Optimasi lebih lanjut diperlukan sebelum perdagangan langsung.
/*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)