
Strategi ini dicipta berdasarkan Indeks Kekuatan Relatif (RSI) untuk mengesan keadaan jual-beli yang lebih tinggi melalui RSI dan untuk mengesan trend. Apabila RSI lebih rendah daripada garis jual-beli, anda boleh melakukan perdagangan lebih tinggi daripada garis jual-beli dan apabila RSI lebih tinggi daripada garis jual-beli, anda boleh mengambil keuntungan dengan mengesan trend utama.
Strategi ini menggunakan indikator RSI untuk menilai keadaan pasaran yang lebih baik daripada yang lebih baik. Indeks RSI dikira berdasarkan kenaikan dan penurunan dalam jangka masa tertentu. Apabila RSI di bawah 30 dianggap sebagai oversold, dan apabila RSI di atas 70 dianggap sebagai oversold.
Secara khusus, strategi ini mula-mula menentukan parameter pengiraan RSI panjang = 14, overBought = 70, overSold = 30. Kemudian, berdasarkan harga tutup, nilai RSI akan dikira.
Dengan cara ini, strategi ini dapat menangkap trend utama di pasaran, membeli di tempat yang lebih murah, menjual di tempat yang lebih murah, dan mengesan trend.
Penyelesaian risiko:
Strategi ini boleh dioptimumkan dalam beberapa aspek:
Anda boleh menguji pelbagai panjang kitaran pengiraan RSI, pelbagai had overbought dan oversold, dan mencari parameter optimum untuk mengurangkan isyarat yang salah.
Indikator seperti garis rata-rata, MACD dan lain-lain boleh dimasukkan untuk menentukan arah trend, untuk mengelakkan isyarat yang salah pada titik perubahan trend.
Anda boleh menetapkan titik hentian dinamik berdasarkan indikator seperti ATR, untuk membuat hentian lebih dekat dengan turun naik pasaran.
Anda boleh menambah syarat lain berdasarkan isyarat RSI, seperti menembusi tahap harga tertentu, meningkatkan jumlah perdagangan dan sebagainya sebagai isyarat masuk, meningkatkan ketepatan masuk.
Strategi ini menggunakan indikator RSI untuk menilai keadaan overbought dan oversold, untuk menangkap trend. Berbanding dengan strategi stop loss pengesanan tradisional, ia mempunyai kelebihan menggunakan indikator untuk menilai masa pasaran. Tetapi indikator RSI mempunyai fenomena tarik, tidak dapat menentukan titik balik trend, yang merupakan arah yang perlu dioptimumkan oleh strategi ini. Dengan pengoptimuman parameter, meningkatkan penilaian trend, dan stop loss dinamik, anda dapat meningkatkan lagi kestabilan dan keuntungan strategi.
/*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)