Strategi Pemecahan RSI Pengumpulan


Tarikh penciptaan: 2023-10-27 11:20:50 Akhirnya diubah suai: 2023-10-27 11:20:50
Salin: 0 Bilangan klik: 759
1
fokus pada
1617
Pengikut

Strategi Pemecahan RSI Pengumpulan

Gambaran keseluruhan

Strategi ini menggunakan pengiktirafan trend pada indikator RSI yang berkumpul untuk melakukan pembelian dan penjualan apabila nilai RSI yang berkumpul melampaui paras kritikal. Strategi ini dapat menyaring bunyi pasaran dengan berkesan dan mengunci peluang perdagangan yang lebih lama.

Prinsip Strategi

Strategi ini membuat keputusan perdagangan berdasarkan RSI kumulatif. RSI kumulatif adalah nilai kumulatif RSI. Dengan menetapkan parameter cumlen, nilai RSI dalam hari cumlen boleh dikumpulkan untuk mendapatkan RSI kumulatif.

Apabila penunjuk RSI berkumpul melintasi jalur Bollinger Band, operasi pembelian dan bukaan dilakukan; apabila penunjuk RSI berkumpul melintasi jalur Bollinger Band, operasi penjualan dilakukan. Jalur Bollinger Band dihitung melalui data sejarah selama bertahun-tahun, adalah harga rujukan perubahan dinamik.

Selain itu, strategi ini menambah pilihan penapis trend. Pembelian dan pembukaan hanya dilakukan apabila harga lebih tinggi daripada purata bergerak 100 hari, iaitu di saluran kenaikan trend. Penapis ini dapat mengelakkan perdagangan yang salah ketika harga bergoyang.

Kelebihan Strategik

  • Menggunakan indikator RSI kumulatif untuk menyaring kebisingan dan mengunci trend garis tengah dan panjang
  • Menambah penapis trend untuk mengelakkan perdagangan yang tidak munasabah
  • Menggunakan harga rujukan dinamik yang pecah, dan bukannya nilai tetap untuk menilai
  • Lebih banyak parameter yang boleh dikonfigurasi, parameter yang boleh disesuaikan untuk pasaran yang berbeza
  • 10 tahun kebelakangan ini, hasil yang lebih baik daripada strategi beli dan pegang

Risiko dan penambahbaikan strategi

  • Strategi untuk membuat keputusan berdasarkan RSI kumulatif tunggal, dengan penambahan penunjuk penghakiman lain atau penapis untuk membuat keputusan komprehensif
  • Leverage berganda tetap yang lebih tinggi, boleh menyesuaikan kadar leverage mengikut penarikan balik
  • Lebih banyak peluang untuk bekerja sambilan
  • Kombinasi parameter yang boleh dioptimumkan, tetapan parameter berbeza dalam keadaan pasaran yang berbeza
  • Cara untuk memperkayakan syarat-syarat kedudukan kosong, meningkatkan kedudukan berhenti-rugi, dan memindahkan berhenti-rugi
  • Boleh dipertimbangkan untuk digunakan bersama-sama dengan gabungan strategi lain untuk mencapai kesan sinergi

ringkaskan

Keseluruhan operasi strategi RSI yang terkumpul berjalan lancar, logiknya jelas, dengan penyaringan yang berkesan oleh indikator RSI yang terkumpul, meningkatkan penilaian trend, menangkap trend garis tengah dan panjang dengan tepat, prestasi pengkajian semula sejarah yang sangat baik. Namun, masih ada ruang untuk pengoptimuman, boleh bermula dari penyesuaian parameter, menambah indikator penilaian, dan kaya dengan keadaan kedudukan rata, untuk membina strategi trend yang lebih kuat dan menyeluruh.

Kod 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()