Strategi ini adalah strategi perdagangan ETF yang melacak tren pembalikan berdasarkan Indeks Kekuatan Relatif (RSI). Strategi ini menilai kondisi overbought dan oversold jangka pendek melalui indikator RSI untuk membuat entri dan keluar pembalikan. Sementara itu, strategi ini menggunakan rata-rata pergerakan 200 hari untuk menentukan arah tren keseluruhan.
Logika inti dari strategi ini didasarkan pada prinsip pembalikan dari indikator RSI. Indikator RSI menghitung amplitudo rata-rata kenaikan dan penurunan selama periode waktu untuk menilai apakah varietas perdagangan berada dalam keadaan overbought atau oversold. RSI di atas 70 mewakili kondisi overbought, sedangkan RSI di bawah 30 mewakili kondisi oversold. Pada titik ini, tren pembalikan dapat terjadi.
Strategi ini memanfaatkan prinsip ini dengan mengatur pemicu beli ketika hari ini RSI di bawah parameter yang dapat disesuaikanTodaysMinRSI
, dan RSI 3 hari yang lalu berada di bawah parameter disesuaikanDay3RSIMax
Ini menunjukkan harga mungkin berada di wilayah oversold jangka pendek dan kemungkinan bouncing. Ini juga membutuhkan tren RSI menurun dalam 3 hari terakhir, yaitu penurunan RSI terus menerus sebelum membeli untuk menghindari pecah palsu.
Mekanisme keluar dari strategi adalah ketika indikator RSI sekali lagi melebihi nilai ambang parameter yang dapat disesuaikanExit RSI
, dianggap bahwa rebound telah berakhir dan posisi harus ditutup di sana.
Strategi ini juga memperkenalkan rata-rata bergerak 200 hari untuk menilai arah tren keseluruhan. Hanya ketika harga berada di atas garis 200 hari, pesanan masuk panjang dapat dibuat. Ini membantu memastikan hanya membeli dalam fase uptrend dan menghindari risiko perdagangan countertrend.
Strategi ini memanfaatkan titik masuk dan keluar RSI klasik dengan menilai zona overbought dan oversold untuk perdagangan pembalikan. Sementara itu, mengingat tren utama dan optimasi parameter, ini adalah strategi ETF pembalikan jangka pendek yang sangat andal. Dengan optimasi lebih lanjut, ini dapat menjadi strategi kuantitatif dengan efek praktis.
/*backtest start: 2024-01-14 00:00:00 end: 2024-01-21 00:00:00 period: 3m basePeriod: 1m 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/ // @version = 5 // Author = TradeAutomation strategy(title="R3 ETF Strategy", shorttitle="R3 ETF Strategy", overlay=true) // Backtest Date Range Inputs // StartTime = input(defval=timestamp('01 Jan 2012 05:00 +0000'), title='Start Time') EndTime = input(defval=timestamp('01 Jan 2099 00:00 +0000'), title='End Time') InDateRange = true // Calculations and Inputs // RSILen = input.int(2, "RSI Length") RSI = ta.rsi(close, RSILen) TodaysMinRSI = input.int(10, "Today's Min RSI for Entry", tooltip = "The RSI must be below this number today to qualify for trade entry") Day3RSIMax = input.int(60, "Max RSI 3 Days Ago for Entry", tooltip = "The RSI must be below this number 3 days ago to qualify for trade entry") EMA = ta.ema(close, 200) // Strategy Rules // Rule1 = close>ta.ema(close, 200) Rule2 = RSI[3]<Day3RSIMax and RSI<TodaysMinRSI Rule3 = RSI<RSI[1] and RSI[1]<RSI[2] and RSI[2]<RSI[3] Exit = ta.crossover(RSI, input.int(70, "Exit RSI", tooltip = "The strategy will sell when the RSI crosses over this number")) // Plot // plot(EMA, "200 Day EMA") // Entry & Exit Functions // if (InDateRange) strategy.entry("Long", strategy.long, when = Rule1 and Rule2 and Rule3) // strategy.close("Long", when = ta.crossunder(close, ATRTrailingStop)) strategy.close("Long", when = Exit) if (not InDateRange) strategy.close_all()