Strategi ini dirancang berdasarkan indikator Relative Strength Index (RSI) untuk mengidentifikasi situasi overbought dan oversold dan mengikuti tren.
Strategi ini menggunakan indikator RSI untuk mengidentifikasi kondisi overbought dan oversold di pasar. RSI dihitung berdasarkan perubahan harga selama periode waktu tertentu. RSI di bawah 30 dianggap oversold sementara RSI di atas 70 dianggap overbought.
Secara khusus, strategi ini pertama-tama mendefinisikan parameter RSI panjang=14, overbought=70, oversold=30. Kemudian menghitung nilai RSI vrsi berdasarkan harga penutupan. Ketika vrsi melintasi di atas garis overbought atau di bawah garis oversold, itu memicu perdagangan panjang atau pendek sesuai. Setelah memasuki perdagangan, stop loss dari tik etoroStopTicks ditetapkan. Posisi akan ditutup ketika stop loss dipicu dalam jendela perdagangan.
Dengan cara ini, strategi dapat mengikuti tren utama pasar - pergi panjang pada situasi oversold dan pergi pendek pada situasi overbought.
Solusi:
Strategi dapat dioptimalkan dalam aspek berikut:
Uji periode RSI yang berbeda dan tingkat overbought / oversold untuk menemukan parameter optimal dan mengurangi sinyal palsu.
Tambahkan MA, MACD untuk menilai arah tren dan menghindari sinyal yang salah pada titik balik.
Gunakan ATR untuk mengatur stop loss adaptif untuk melacak fluktuasi pasar dengan lebih baik.
Tambahkan kondisi lain seperti breakout, peningkatan volume ke sinyal RSI untuk meningkatkan akurasi entri.
Strategi ini menangkap tren dengan mengidentifikasi situasi overbought dan oversold dengan menggunakan RSI. Dibandingkan dengan strategi stop tracking tradisional, strategi ini memiliki keuntungan dari waktu pasar dengan indikator. Namun, masalah seperti divergensi RSI dan ketidakmampuan untuk mendeteksi pembalikan tren perlu ditangani. Perbaikan lebih lanjut pada optimasi parameter, penilaian tren, stop loss dinamis dapat meningkatkan stabilitas dan profitabilitas.
/*backtest start: 2023-10-01 00:00:00 end: 2023-10-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("RSI Etoro Strategy", overlay=true, max_bars_back=2000) // To use: // Capital = capital * leverage // Slippage Ticks: 3, 5 ? (Mainly for spread) // etoroStopTicks: Set it accordingly to the stock (to corresponds to etoro default of 50 % for exemple...) // === INPUT BACKTEST RANGE === FromMonth = input(defval = 12, title = "From Month", minval = 1, maxval = 12) FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) FromYear = input(defval = 2018, title = "From Year", minval = 1995) ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12) ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31) ToYear = input(defval = 9999, title = "To Year", minval = 1995) // === FUNCTION EXAMPLE === start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window window() => time >= start and time <= finish ? true : false // create function "within window of time" length = input( 14 ) overSold = input( 30 ) overBought = input( 70 ) etoroStopTicks = input( 120 ) // 120 because it is approximatively the number of ticks for default SL of 50% at x5 leverage for copper (no fee)... price = close vrsi = rsi(price, length) if (not na(vrsi)) if (crossover(vrsi, overSold)) strategy.entry("RsiLE", strategy.long, comment="RsiLE", when = window()) if (crossunder(vrsi, overBought)) strategy.entry("RsiSE", strategy.short, comment="RsiSE", when = window()) strategy.exit("exit SE", "RsiSE", loss=etoroStopTicks, when = window()) strategy.exit("exit LE", "RsiLE", loss=etoroStopTicks, when = window()) //plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)