Strategi Breakout Akumulasi RSI


Tanggal Pembuatan: 2023-10-27 11:20:50 Akhirnya memodifikasi: 2023-10-27 11:20:50
menyalin: 0 Jumlah klik: 759
1
fokus pada
1617
Pengikut

Strategi Breakout Akumulasi RSI

Ringkasan

Strategi ini memanfaatkan identifikasi tren dari indikator RSI akumulatif untuk melakukan pembelian dan penjualan ketika indikator RSI akumulatif melampaui batas kritis. Strategi ini dapat secara efektif menyaring kebisingan pasar dan mengunci peluang perdagangan tren yang lebih panjang.

Prinsip Strategi

Strategi ini terutama didasarkan pada indikator RSI kumulatif untuk membuat keputusan perdagangan. Indikator RSI kumulatif adalah nilai kumulatif dari indikator RSI. Dengan mengatur parameter cumlen, nilai RSI dapat dikumpulkan dalam hari cumlen untuk mendapatkan indikator RSI kumulatif. Indikator ini dapat menyaring kebisingan pasar jangka pendek.

Ketika akumulasi RSI melintasi Bollinger Bands, maka akan dilakukan pembelian dan membuka posisi. Ketika akumulasi RSI melintasi Bollinger Bands, maka akan dilakukan penjualan posisi kosong.

Selain itu, strategi ini juga menambahkan opsi filter tren. Hanya ketika harga lebih tinggi dari 100 hari moving average, yaitu ketika berada di saluran tren naik, maka akan dilakukan pembelian dan membuka posisi. Filter ini dapat menghindari kesalahan perdagangan saat harga bergoyang.

Keunggulan Strategis

  • Menggunakan indikator RSI akumulatif untuk memfilter kebisingan secara efektif dan mengunci tren garis tengah dan panjang
  • Menambahkan filter tren untuk menghindari perdagangan yang tidak masuk akal
  • Pengadilan menggunakan harga acuan yang dinamis, bukan nilai tetap
  • Lebih banyak parameter yang dapat dikonfigurasi dan dapat disesuaikan untuk pasar yang berbeda
  • 10 tahun retrospektif sangat baik, lebih baik dari strategi buy and hold

Risiko dan perbaikan strategi

  • Strategi untuk membuat keputusan hanya berdasarkan satu indikator akumulasi RSI, dapat menambahkan indikator penilaian lainnya atau filter untuk penilaian komprehensif
  • Leverage yang lebih tinggi dalam perkalian tetap, dengan rasio leverage yang dapat disesuaikan sesuai dengan penarikan
  • Hanya melakukan multi arah, dapat dipertimbangkan untuk meningkatkan peluang kerja kosong
  • Kombinasi parameter yang dapat dioptimalkan, pengaturan parameter yang berbeda dalam kondisi pasar yang berbeda
  • Cara memperkaya kondisi posisi kosong, meningkatkan posisi stop loss, dan memindahkan stop loss
  • Dapat dipertimbangkan untuk digunakan dengan kombinasi strategi lain untuk mencapai efek sinergis

Meringkaskan

Strategi RSI akumulatif ini secara keseluruhan berjalan dengan lancar, logis dan jelas, dengan memfilter indikator RSI akumulatif secara efektif, meningkatkan penilaian tren, menangkap tren garis tengah dan panjang secara akurat, dan kinerja pelacakan historis yang sangat baik. Namun, masih ada ruang untuk dioptimalkan, dapat dimulai dari pengaturan parameter yang disesuaikan, meningkatkan indikator penilaian, dan kondisi posisi terdepan yang kaya, untuk membuat strategi tren yang lebih kuat dan komprehensif.

Kode Sumber Strategi
/*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()