
Strategi ini adalah strategi perdagangan ETF yang menjejaki trend pembalikan berdasarkan indeks yang agak kuat ((RSI)). Ia menggunakan RSI untuk menilai fenomena jual beli jangka pendek, membuat entri pembalikan dan keluar. Ia juga menggabungkan purata bergerak 200 hari untuk menentukan arah trend keseluruhan.
Logik teras strategi ini adalah berdasarkan prinsip pembalikan RSI. RSI menilai sama ada jenis perdagangan berada dalam keadaan overbought atau oversold dengan mengira kenaikan dan penurunan rata-rata dalam jangka masa tertentu. Apabila RSI lebih tinggi daripada 70 mewakili overbought, RSI lebih rendah daripada 30 mewakili oversold.
Strategi ini menggunakan prinsip ini untuk menetapkan RSI hari ini lebih rendah daripada parameter yang boleh disesuaikanTodaysMinRSIdan RSI 3 hari yang lalu adalah di bawah parameter yang boleh disesuaikanDay3RSIMaxApabila RSI terus menurun, anda boleh membeli. Ini bermakna harga mungkin berada di kawasan oversold jangka pendek, dan mungkin akan berpatah balik.
Mekanisme keluar strategi adalah apabila RSI melebihi parameter yang boleh disesuaikan sekali lagiExit RSIApabila nilai tukar turun, maka ia dianggap telah berakhir dan pada masa itu ia dikeluarkan.
Strategi ini juga memperkenalkan purata bergerak 200 hari sebagai penghakiman trend keseluruhan. Hanya apabila harga lebih tinggi daripada garis 200 hari, anda boleh melakukan pembelian. Ini membantu memastikan anda membeli hanya pada tahap trend yang lebih tinggi dan mengelakkan risiko yang dibawa oleh perdagangan yang bertentangan.
Strategi ini menggunakan prinsip titik beli dan jual klasik RSI untuk membalikkan entri dan jalan keluar dengan menilai kawasan yang lebih banyak dibeli dan dijual. Dengan mempertimbangkan penghakiman trend besar dan ruang pengoptimuman parameter, strategi ETF berbalik jangka pendek yang mempunyai kebolehpercayaan yang tinggi. Dengan pengoptimuman lanjut, ia boleh menjadi strategi kuantitatif yang berkesan dalam kehidupan nyata.
/*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()