
Strategi pertukaran mata uang RSI yang bergeser adalah strategi perdagangan kuantitatif yang digunakan untuk cryptocurrency. Ini menggabungkan indikator teknis pasar RSI dengan indikator ICHIMOKU untuk mengidentifikasi sinyal bergeser pada saat harga bergejolak, untuk melakukan jual beli rendah. Ini berlaku untuk siklus garis tengah panjang, seperti 3-4 jam atau lebih.
Strategi ini didasarkan pada indikator dan aturan berikut:
Indeks ICHIMOKU
Indikator RSI
Aturan masuk
Multiple entry: Menembus Jalur Kijun di Jalur Tenkan (Gold Cross) dan harga menembus Jalur Senkou A&B, sementara RSI lebih tinggi dari 50
Masuk kosong: Jalur Tenkan di bawah Jalur Kijun (Death Cross) dan harga turun di bawah Jalur Senkou A&B, sementara RSI di bawah 50
Keluar dari aturan
Hentikan kerusakan dengan segera saat muncul sinyal yang bertentangan dengan masuk
Kompleks strategi ini mempertimbangkan tren jangka menengah dan panjang, likuiditas jangka pendek, dan overbought dan oversold untuk menangkap peluang reversal dalam situasi yang bergolak. Ia juga menetapkan aturan stop loss untuk menghindari kerugian besar.
1. Pengukuran komprehensif dari berbagai indikator untuk memastikan kepastian yang tinggi
Strategi ini juga mempertimbangkan tren ICHIMOKU dan mendukung penilaian resistensi, overbought dan oversold RSI, dan likuiditas ke arah entitas K-line, untuk memastikan keandalan sinyal.
2. Cocok untuk bergejolak, sering mendapat keuntungan
Strategi ini memanfaatkan peluang untuk membalikkan situasi yang bergejolak, dan memungkinkan terjadinya transaksi jual beli yang sering terjadi.
3. Mencegah Penembakan, Mengontrol Resiko
Strategi yang menyeluruh mempertimbangkan tren jangka panjang dan jangka pendek, untuk menghindari risiko penangkapan dan penurunan, serta menetapkan risiko penghindaran kerugian.
1. Mungkin melewatkan bagian dari operasi
Strategi ini didasarkan pada reversal, yang sering bergoyang-goyang ketika terjadi operasi jangka panjang.
2. Satu varietas, tidak dapat mendistribusikan risiko
Strategi hanya memperdagangkan varietas tunggal, tidak dapat mendistribusikan risiko sistematis pasar.
3. Hentikan kerugian dalam situasi ekstrim
Dalam situasi ekstrem, seperti lompatan udara, ledakan kapasitas, dan lain-lain, strategi dapat memicu stop loss dan memaksa keluar dari permainan.
1. Meningkatkan strategi stop loss dan mengurangi kerugian tunggal
Anda dapat mengatur stop loss bergerak atau stop loss persentase saldo untuk mengunci keuntungan dan mencegah keuntungan menjadi nol.
2. Mengintegrasikan relevansi indeks saham untuk mendistribusikan risiko pasar
Untuk mendistribusikan risiko sistematis di pasar, peluang perdagangan dapat ditemukan di varietas yang lebih relevan dengan indeks saham.
3. Meningkatkan filter kondisional untuk mengurangi transaksi yang tidak valid
Anda dapat mengatur filter kondisi seperti fluktuasi harga, perubahan volume transaksi, dan lain-lain, untuk menghindari sinyal pembalikan yang tidak efektif dan meningkatkan probabilitas keuntungan.
Strategi pertukaran mata uang RSI multi-kaca yang bergoyang menggunakan indikator ICHIMOKU dan indikator RSI untuk menilai titik balik cryptocurrency, cocok untuk situasi bergoyang. Ini juga mengatur aturan stop loss untuk mengendalikan risiko. Strategi ini dapat meningkatkan efektivitasnya dengan mengoptimalkan mekanisme stop loss, risiko dispersi asosiasi, dan penyaringan kondisi yang disetel.
/*backtest
start: 2023-12-17 00:00:00
end: 2023-12-24 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/
// © exlux99
//@version=4
strategy(title="Ichimoku + RSI Crypto trending strategy", overlay=true, initial_capital = 1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.1, pyramiding=1 )
UseHAcandles = input(true, title="Use Heikin Ashi Candles in Algo Calculations")
//
// === /INPUTS ===
// === BASE FUNCTIONS ===
haClose = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, close) : close
haOpen = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, open) : open
haHigh = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, high) : high
haLow = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, low) : low
//Inputs
ts_bars = input(20, minval=1, title="Tenkan-Sen Bars")
ks_bars = input(50, minval=1, title="Kijun-Sen Bars")
ssb_bars = input(120, minval=1, title="Senkou-Span B Bars")
cs_offset = input(30, minval=1, title="Chikou-Span Offset")
ss_offset = input(30, minval=1, title="Senkou-Span Offset")
long_entry = input(true, title="Long Entry")
short_entry = input(true, title="Short Entry")
//Volatility
//vollength = input(defval=1, title="VolLength")
//voltarget = input(defval=0., type=input.float, step=0.1, title="Volatility Target")
//Difference = abs((haClose - haOpen)/((haClose + haOpen)/2) * 100)
//MovingAverage = sma(Difference, vollength)
//highvolatility = MovingAverage > voltarget
////////////////////////////////////////////////////////////////////////////////
// BACKTESTING RANGE
// From Date Inputs
fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2019, title = "From Year", minval = 1970)
// To Date Inputs
toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2021, title = "To Year", minval = 1970)
// Calculate start/end date and time condition
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true
////////////////////////////////////////////////////////////////////////////////
middle(len) => avg(lowest(len), highest(len))
// Ichimoku Components
tenkan = middle(ts_bars)
kijun = middle(ks_bars)
senkouA = avg(tenkan, kijun)
senkouB = middle(ssb_bars)
//RSI
change = change(haClose)
gain = change >= 0 ? change : 0.0
loss = change < 0 ? (-1) * change : 0.0
avgGain = rma(gain, 14)
avgLoss = rma(loss, 14)
rs = avgGain / avgLoss
rsi = 100 - (100 / (1 + rs))
ss_high = max(senkouA[ss_offset-1], senkouB[ss_offset-1])
ss_low = min(senkouA[ss_offset-1], senkouB[ss_offset-1])
// Entry/Exit Signals
tk_cross_bull = tenkan > kijun
tk_cross_bear = tenkan < kijun
cs_cross_bull = mom(haClose, cs_offset-1) > 0
cs_cross_bear = mom(haClose, cs_offset-1) < 0
price_above_kumo = haClose > ss_high
price_below_kumo = haClose < ss_low
rsi_bullish = rsi > 50
rsi_bearish = rs < 50
bullish = tk_cross_bull and cs_cross_bull and price_above_kumo and rsi_bullish //and highvolatility
bearish = tk_cross_bear and cs_cross_bear and price_below_kumo and rsi_bearish //and highvolatility
strategy.entry("Long", strategy.long, when=bullish and long_entry and time_cond)
strategy.entry("Short", strategy.short, when=bearish and short_entry and time_cond)
strategy.close("Long", when=bearish and not short_entry and time_cond)
strategy.close("Short", when=bullish and not long_entry and time_cond)