
Strategi pertukaran mata wang RSI yang bergelombang adalah strategi perdagangan kuantitatif untuk cryptocurrency. Ia menggabungkan RSI dan ICHIMOKU untuk mengenal pasti isyarat bergelombang semasa harga bergelombang untuk membeli dan menjual dengan harga rendah. Ia sesuai untuk kitaran garis tengah yang panjang, seperti 3-4 jam atau lebih.
Strategi ini adalah berdasarkan kepada kriteria dan peraturan berikut:
Indeks ICHIMOKU
Indeks RSI
Peraturan kemasukan
Masuk dengan banyak mata: Tenkan melintasi garis Kijun (persaingan emas) dan harga menembusi garis Senkou A&B, sementara RSI lebih tinggi daripada 50
Kemasukan kosong: Tankan melintasi Kijun di bawah garis (crossover maut) dan harga jatuh di bawah Senkou A&B, sementara RSI di bawah 50
Keluar daripada peraturan
Apabila isyarat bertentangan dengan masuk muncul, hentikan kerosakan serta-merta
Strategi ini mengambil kira trend jangka panjang, kecairan dana jangka pendek, dan overbought dan oversold, dan menangkap peluang untuk berbalik dalam keadaan yang tidak menentu. Ia juga menetapkan peraturan hentian kerugian untuk mengelakkan kerugian besar.
1. Pengkajian bersepadu pelbagai penunjuk untuk memastikan kepastian yang tinggi
Strategi ini mengambil kira trend ICHIMOKU dan menyokong penghakiman rintangan, overbought dan oversold RSI, dan kecairan dana ke arah entiti K, untuk memastikan kebolehpercayaan isyarat.
2. Sesuai untuk bergolak dan sering mendapat keuntungan
Dengan banyak turun naik di pasaran cryptocurrency, strategi ini dapat menangkap peluang untuk berbalik dalam keadaan yang bergolak, mewujudkan pembelian dan penjualan yang kerap.
3. Mengelakkan kejatuhan dan risiko yang boleh dikawal
Strategi yang menyeluruh mempertimbangkan trend jangka panjang dan jangka pendek, untuk mengelakkan risiko mengejar kejatuhan dan menetapkan risiko mengelakkan kerugian.
1. Mungkin terlepas beberapa bahagian operasi
Strategi ini berpusat pada pembalikan, dan apabila berlaku keadaan operasi yang berpanjangan, strategi ini akan sering bergoyang untuk menyerang dana.
2. Satu jenis, tidak dapat menyebarkan risiko
Strategi hanya berdagang satu jenis, tidak dapat menyebarkan risiko sistemik pasaran.
3. Hentikan kerosakan dalam keadaan yang melampau
Dalam keadaan yang melampau, seperti melompat, meletupkan tenaga, dan sebagainya, strategi mungkin mencetuskan kerugian berhenti dan terpaksa keluar dari permainan.
1. Meningkatkan strategi hentikan kerugian dan mengurangkan kerugian tunggal
Anda boleh menetapkan Hentian Pergerakan atau Hentian Persentase Sisa untuk mengunci keuntungan dan mencegah keuntungan menjadi sifar.
2. Penyebaran risiko pasaran, digabungkan dengan hubungan indeks saham
Anda boleh mencari peluang dagangan dalam varieti yang mempunyai kaitan indeks saham yang tinggi untuk menyebarkan risiko sistemik pasaran.
3. Meningkatkan penapis syarat dan mengurangkan transaksi yang tidak sah
Anda boleh menetapkan penapis syarat seperti kadar turun naik harga, perubahan jumlah urus niaga, dan lain-lain untuk mengelakkan isyarat pembalikan yang tidak berkesan dan meningkatkan kebarangkalian keuntungan.
Strategi pertukaran mata wang RSI berlubang yang bergolak menggunakan indikator ICHIMOKU dan indikator RSI untuk menilai titik balik mata wang kripto, sesuai untuk membeli dan menjual harga rendah dalam keadaan golak. Ia juga menetapkan peraturan berhenti untuk mengawal risiko. Strategi ini dapat meningkatkan keberkesanan dengan mengoptimumkan mekanisme berhenti kehilangan, risiko penyebaran hubungan dan penapisan syarat yang ditetapkan.
/*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)