Strategi Pertukaran Crypto RSI Pendek dan Panjang yang berayun

Penulis:ChaoZhang, Tarikh: 2023-12-25 13:49:48
Tag:

img

Ringkasan

Strategi Switching Crypto Long-Short RSI adalah strategi perdagangan kuantitatif yang direka untuk mata wang kripto. Ia menggabungkan penunjuk teknikal RSI dengan penunjuk ICHIMOKU untuk mengenal pasti isyarat panjang dan pendek semasa goyah harga dan mencapai membeli rendah dan menjual tinggi. Ia sesuai untuk jangka masa sederhana hingga panjang seperti 3-4 jam atau lebih lama.

Logika Strategi

Strategi ini terutamanya berdasarkan petunjuk dan peraturan berikut:

Indikator ICHIMOKU

  • Garis Tenkan: Titik pertengahan harga tertinggi dan terendah 20 bar terakhir
  • Garis Kijun: Titik pertengahan harga tertinggi dan terendah 50 bar terakhir
  • Senkou A Line: Titik tengah Tenkan dan Kijun Line
  • Senkou B Line: Titik pertengahan harga tertinggi dan terendah 120 bar terakhir
  • Chikou Line: harga penutupan 30 bar yang lalu

Indikator RSI

  • Julat dari 0 hingga 100
  • Di atas 50 menunjukkan isyarat kenaikan, di bawah 50 menunjukkan isyarat penurunan

Peraturan kemasukan
Pendaftaran panjang: Tenkan melintasi Kijun (salib emas) dan harga pecah melalui Senkou A & B Lines, dengan RSI di atas 50 pada masa yang sama
Entry pendek: Tenkan cross di bawah Kijun (death cross) dan harga merosot Senkou A & B Lines, dengan RSI di bawah 50 pada masa yang sama

Peraturan Keluar
Keluar dengan isyarat bertentangan

Strategi ini mengambil kira trend jangka sederhana hingga jangka panjang, aliran modal jangka pendek dan keadaan overbought / oversold untuk menangkap peluang pembalikan semasa osilasi.

Analisis Kelebihan

1. Penghakiman berdasarkan pelbagai penunjuk memastikan kepastian yang tinggi

Strategi ini mengambil kira trend dan penilaian sokongan / rintangan ICHIMOKU, keadaan RSI overbought / oversold, serta aliran modal berdasarkan arah badan lilin. Ini memastikan isyarat yang boleh dipercayai.

2. Sesuai untuk goyangan, sering mengambil keuntungan

Pasaran cryptocurrency mempunyai turun naik yang besar. Strategi ini dapat sepenuhnya menangkap peluang pembalikan semasa goyangan dan mencapai pembelian rendah yang kerap dan menjual tinggi.

3. Elakkan mengejar naik dan mengalahkan mundur, risiko terkawal

Strategi ini secara komprehensif mempertimbangkan trend jangka sederhana dan jangka panjang dan situasi jangka pendek untuk mengelakkan risiko mengejar kenaikan dan mengalahkan kemunduran.

Analisis Risiko

1. Mungkin terlepas beberapa peluang tren

Strategi ini memberi tumpuan terutamanya kepada pembalikan, yang boleh membawa kepada whipsaws yang kerap semasa fasa trend yang berpanjangan.

2. Simbol tunggal, tidak dapat mempelbagaikan risiko

Strategi ini hanya berdagang satu simbol dan tidak dapat mempelbagaikan terhadap risiko pasaran yang sistematik.

3. Stop loss yang dicetuskan semasa pergerakan melampau

Semasa keadaan pasaran yang melampau seperti jurang atau lonjakan, stop loss boleh dicetuskan memaksa keluar.

Arahan pengoptimuman

1. Tambah stop loss untuk kerugian tunggal yang lebih rendah

Memindahkan stop loss atau peratusan stop loss boleh digunakan untuk mengunci keuntungan dan mengelakkan retracement penuh.

2. Berkaitan dengan indeks untuk mempelbagaikan risiko pasaran

Cari peluang perdagangan di antara simbol yang sangat berkaitan untuk mempelbagaikan risiko pasaran yang sistematik.

3. Penapis tambahan untuk mengurangkan perdagangan yang tidak sah

Penapis seperti turun naik harga atau perubahan jumlah boleh ditambah untuk mengelakkan isyarat pembalikan yang tidak sah dan meningkatkan kadar keuntungan.

Kesimpulan

Strategi Switching Crypto Long-Short RSI menggabungkan penunjuk ICHIMOKU dan RSI untuk mengenal pasti titik pembalikan untuk mata wang kripto, sesuai untuk membeli rendah dan menjual keuntungan tinggi semasa osilasi. Ia juga menetapkan peraturan stop loss untuk mengawal risiko. Strategi ini boleh ditingkatkan lagi dengan mengoptimumkan mekanisme stop loss, mempelbagaikan risiko melalui korelasi dan menambahkan penapis bersyarat, yang bernilai diuji secara langsung.


/*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)




Lebih lanjut