Strategi ini menggunakan indikator RSI kumulatif untuk mengidentifikasi tren dan membuat keputusan beli dan jual ketika nilai RSI kumulatif melanggar ambang kunci.
Strategi ini terutama didasarkan pada indikator RSI kumulatif untuk keputusan perdagangan. Indikator RSI kumulatif adalah akumulasi nilai RSI. Dengan mengatur parameter kumulatif, nilai RSI selama hari kumulatif terakhir ditambahkan untuk menghasilkan indikator RSI kumulatif. Indikator ini dapat menyaring kebisingan pasar jangka pendek.
Ketika indikator RSI Kumulatif melintasi rel atas Bollinger Band, posisi panjang akan dibuka. Ketika RSI Kumulatif melintasi rel bawah Bollinger Band, posisi terbuka akan ditutup. Rel Bollinger Band dihitung secara dinamis berdasarkan data historis selama bertahun-tahun.
Selain itu, opsi filter tren ditambahkan. perdagangan panjang hanya akan dibuka ketika harga di atas Rata-rata Bergerak 100 hari, yang berarti berada di saluran tren naik. filter ini menghindari perdagangan yang salah selama fluktuasi pasar.
Strategi RSI kumulatif memiliki aliran logika yang mulus dan secara akurat mengidentifikasi tren jangka menengah hingga panjang dengan menyaring dengan RSI kumulatif dan menambahkan penilaian tren. Hasil backtest luar biasa selama dekade terakhir. Masih ada ruang untuk perbaikan di bidang seperti penyesuaian parameter, menambahkan indikator, memperkaya kondisi keluar untuk membuat strategi lebih kuat.
/*backtest start: 2023-09-26 00:00:00 end: 2023-10-26 00:00:00 period: 1h basePeriod: 15m 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="Cumulative RSI Strategy", shorttitle="CRSI Strategy", process_orders_on_close=true, overlay=true, commission_type=strategy.commission.cash_per_contract, commission_value=.0035, slippage = 1, margin_long = 75, initial_capital = 25000, default_qty_type=strategy.percent_of_equity, default_qty_value=110) // Cumulative RSI Indicator Calculations // rlen = input.int(title="RSI Length", defval=3, minval=1) cumlen = input(3, "RSI Cumulation Length") rsi = ta.rsi(close, rlen) cumRSI = math.sum(rsi, cumlen) ob = (100*cumlen*input(94, "Oversold Level")*.01) os = (100*cumlen*input(20, "Overbought Level")*.01) // Operational Function // TrendFilterInput = input(false, "Only Trade When Price is Above EMA?") ema = ta.ema(close, input(100, "EMA Length")) TrendisLong = (close>ema) plot(ema) // Backtest Timeframe Inputs // startDate = input.int(title="Start Date", defval=1, minval=1, maxval=31) startMonth = input.int(title="Start Month", defval=1, minval=1, maxval=12) startYear = input.int(title="Start Year", defval=2010, minval=1950, maxval=2100) endDate = input.int(title="End Date", defval=1, minval=1, maxval=31) endMonth = input.int(title="End Month", defval=1, minval=1, maxval=12) endYear = input.int(title="End Year", defval=2099, minval=1950, maxval=2100) InDateRange = (time >= timestamp(syminfo.timezone, startYear, startMonth, startDate, 0, 0)) and (time < timestamp(syminfo.timezone, endYear, endMonth, endDate, 0, 0)) // Buy and Sell Functions // if (InDateRange and TrendFilterInput==true) strategy.entry("Long", strategy.long, when = ta.crossover(cumRSI, os) and TrendisLong, comment="Buy", alert_message="buy") strategy.close("Long", when = ta.crossover(cumRSI, ob) , comment="Sell", alert_message="Sell") if (InDateRange and TrendFilterInput==false) strategy.entry("Long", strategy.long, when = ta.crossover(cumRSI, os), comment="Buy", alert_message="buy") strategy.close("Long", when = ta.crossover(cumRSI, ob), comment="Sell", alert_message="sell") if (not InDateRange) strategy.close_all()