Strategi pertukaran mata wang RSI panjang dan pendek berayun


Tarikh penciptaan: 2023-12-25 13:49:48 Akhirnya diubah suai: 2023-12-25 13:49:48
Salin: 0 Bilangan klik: 607
1
fokus pada
1623
Pengikut

Strategi pertukaran mata wang RSI panjang dan pendek berayun

Gambaran keseluruhan

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.

Prinsip Strategi

Strategi ini adalah berdasarkan kepada kriteria dan peraturan berikut:

Indeks ICHIMOKU

  • Garis Tenkan: Harga tertinggi dan terendah pada 20 Garis K yang lalu
  • Kijun Line: Puncak harga tertinggi dan terendah bagi 50 K Line yang lalu
  • Senkou A Line: titik tengah antara Tankan Line dan Kijun Line
  • Senkou B Line: Puncak harga tertinggi dan terendah sepanjang 120 K Line
  • Garis Chikou: 30 Garis K teratas pada harga penutupan Garis K semasa

Indeks RSI

  • Julat 0-100
  • Lebih daripada 50 untuk isyarat multihead, kurang daripada 50 untuk isyarat kosong

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.

Analisis kelebihan

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.

Analisis risiko

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.

Arah pengoptimuman

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.

ringkaskan

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.

Kod sumber strategi
/*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)