Strategi ini menghasilkan sinyal perdagangan dengan membandingkan indikator RSI dari cryptocurrency dengan indikator RSI dari indeks pasar crypto untuk menilai nilai relatif cryptocurrency terhadap pasar crypto.
Strategi ini memungkinkan untuk memilih indeks pasar kripto terlebih dahulu, seperti total kapitalisasi pasar, total kapitalisasi pasar tidak termasuk Bitcoin, kapitalisasi pasar koin lain, dll. Ini juga memilih kerangka waktu indeks kripto yang lebih tinggi, secara default menjadi harian. Kemudian menghitung RSI dari cryptocurrency yang dipilih dan RSI dari indeks kripto, dan menghasilkan indeks kekuatan relatif berdasarkan rasio mereka. Ketika indeks kekuatan relatif melintasi di atas parameter yang ditentukan, sinyal beli dihasilkan. Ketika melintasi di bawah, sinyal jual dihasilkan.
Logika inti adalah bahwa ketika RSI cryptocurrency lebih kuat dari indeks crypto, itu berarti koin relatif terbebani dibandingkan dengan pasar, dan memiliki potensi untuk menjadi terbebani, sehingga dapat dibeli. Ketika RSI koin lebih lemah dari indeks pasar, itu berarti koin relatif terbebani dibandingkan dengan pasar, dan memiliki potensi untuk menjadi terbebani, sehingga dapat dijual. Indeks kekuatan relatif memungkinkan penilaian penilaian yang lebih akurat.
Keuntungan terbesar dari strategi ini adalah bahwa ia menggunakan indeks kekuatan relatif, yang memungkinkan penilaian mata uang kripto yang lebih akurat, alih-alih hanya mengandalkan indikator teknis dari satu koin untuk membuat keputusan, menghindari perangkap melihat hal-hal secara terpisah.
Indeks kekuatan relatif memperhitungkan dampak lingkungan pasar secara keseluruhan terhadap koin individu, dan dapat menangkap ritme rotasi pasar dan rotasi sektor, dan menggali koin berharga dari pasar.
Selain itu, strategi menyediakan beberapa pilihan indeks, yang dapat dioptimalkan untuk lingkungan pasar yang berbeda untuk memastikan efektivitas strategi.
Risiko utama dari strategi ini adalah bahwa indeks kekuatan relatif hanyalah alat penilaian, dan tidak dapat sepenuhnya menghindari risiko perdagangan yang timbul dari pola teknis koin individu.
Misalnya, jika koin telah memasuki pola pembalikan atas kepala dan bahu yang jelas, dan struktur pasar telah berubah, hanya mengandalkan sinyal beli kekuatan relatif dapat menyebabkan kerugian.
Oleh karena itu, strategi perlu menggabungkan pola teknis dari masing-masing cryptocurrency untuk menghindari perdagangan yang tidak menguntungkan pada titik teknis kritis.
Risiko lain adalah jika indeks yang dipilih tidak sesuai, dan memiliki korelasi rendah dengan cryptocurrency, maka kekuatan indikasi indeks kekuatan relatif akan sebagian besar dikompromikan.
Strategi dapat dioptimalkan dalam aspek berikut:
Tambahkan strategi stop loss untuk memotong kerugian tepat waktu ketika harga berbalik.
Mengoptimalkan pemilihan indeks, mencocokkan indeks yang berbeda untuk koin yang berbeda untuk meningkatkan korelasi.
Tambahkan beberapa kombinasi jangka waktu, seperti mengkonfirmasi sinyal harian dengan sinyal 4 jam, untuk meningkatkan keandalan sinyal.
Tambahkan algoritma pembelajaran mesin untuk secara adaptif menentukan ambang batas untuk indeks kekuatan relatif, alih-alih menggunakan parameter tetap.
Menggabungkan indikator lain seperti analisis sentimen, analisis fundamental untuk membentuk sistem penilaian yang lebih komprehensif.
Strategi indeks kekuatan relatif menilai nilai relatif mata uang kripto dengan membandingkan kekuatan mereka terhadap indeks pasar, dan menghasilkan sinyal perdagangan. Keuntungannya terletak pada menggabungkan dimensi analisis pasar dan menangkap ritme pasar. Tapi juga memiliki risiko yang perlu dioptimalkan, seperti menambahkan stop loss, kombinasi kerangka waktu, ambang adaptif dll untuk meningkatkan kinerja. Jika diterapkan dengan benar, strategi ini dapat memainkan peran penting dalam perdagangan algoritma kripto.
/*backtest start: 2023-10-16 00:00:00 end: 2023-11-15 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy('RSI correlation with cryptoindices [strategy version]', overlay=false) // Testing Start dates testStartYear = input(2016, 'Backtest Start Year') testStartMonth = input(1, 'Backtest Start Month') testStartDay = input(1, 'Backtest Start Day') testPeriodStart = timestamp(testStartYear, testStartMonth, testStartDay, 0, 0) //Stop date if you want to use a specific range of dates testStopYear = input(2030, 'Backtest Stop Year') testStopMonth = input(12, 'Backtest Stop Month') testStopDay = input(30, 'Backtest Stop Day') testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, 0, 0) testPeriod() => time >= testPeriodStart and time <= testPeriodStop ? true : false len = input(4, title='length of rsi comparison') correlationcrossover = input(1, title='correlation crossover') IndexSwitch = input.string('CRYPTOCAP:TOTAL2', title='Index selection', options=['CRYPTOCAP:TOTAL2', 'CRYPTOCAP:TOTAL', 'CRYPTOCAP:OTHERS', 'CRYPTOCAP:USDT', 'CRYPTOINDEX:CIX100', 'CRYPTOCAP:BTC.D', 'CRYPTOCAP:BTC']) IndexHTF = input.string('120', title='higher time frame reference index', options=['1', '2', '5', '10', '15', '30', '45', '60', '90', '120', '150', '240', '360', '720', 'D', '3D', 'W', 'M']) switchColor = input(true, 'Color Hull according to trend?') ref = request.security(IndexSwitch, IndexHTF, close[1], lookahead=barmerge.lookahead_on) RSI_ref = ta.rsi(ref, len) RSI_close = ta.rsi(close, len) relative = RSI_ref / RSI_close plot(relative, color=color.new(color.blue, 0)) long = ta.crossover(relative, correlationcrossover) short = ta.crossunder(relative, correlationcrossover) corr = plot(correlationcrossover, color=color.new(color.green, 0), linewidth=1) hullColor = switchColor ? relative > correlationcrossover ? #00ff00 : #ff0000 : #ff9800 //PLOT ///< Frame Fi1 = plot(relative, title='relative', color=hullColor, linewidth=1, transp=50) fill(Fi1, corr, title='Band Filler', color=hullColor, transp=50) if long and testPeriod() strategy.entry("long", strategy.long) if short and testPeriod() strategy.entry("long", strategy.short) // alertcondition(long, title='long', message='long') // alertcondition(short, title='short', message='short')