RSI Moving Average Strategi Tren Korelasi Crypto

Penulis:ChaoZhang, Tarikh: 2023-12-12 10:26:21
Tag:

img

Ringkasan

Ini adalah trend cryptocurrency jangka panjang mengikut strategi yang menggabungkan purata bergerak, indeks kekuatan relatif (RSI) dan korelasi pasaran untuk mengenal pasti trend harga jangka menengah hingga panjang, menubuhkan kedudukan apabila trend bermula, piramida sepanjang trend, dan mengambil keuntungan apabila isyarat pembalikan trend dilihat.

Logika Strategi

Strategi ini terutamanya berdasarkan tiga penunjuk:

  1. Indeks Kekuatan Relatif (RSI): Untuk mengenal pasti keadaan overbought dan oversold. Di atas 51 dianggap overbought dan di bawah 49 oversold.

  2. Purata Bergerak Sederhana (SMA): SMA 9 hari harga penutupan untuk menentukan hala tuju trend.

  3. Korrelasi Pasaran: Gunakan jumlah cryptocap sebagai penanda aras untuk mengira korelasi dengan instrumen dagangan, menggantikan bar asal dengan bar korelasi untuk meningkatkan kualiti isyarat.

Khususnya, peraturan perdagangan adalah:

Masuk panjang: Apabila RSI melintasi di atas 51 dan harga penutupan di atas SMA 9 hari.

Pendaftaran pendek: Apabila RSI melintasi di bawah 49 dan harga penutupan di bawah SMA 9 hari.

Ambil keuntungan / Hentikan kerugian: 1%/0.1% untuk panjang, 0.05%/0.03% untuk pendek.

Terdapat juga syarat masa yang mengehadkan tempoh dagangan.

Analisis Kelebihan

  1. Menggabungkan trend dan penunjuk overbought/oversold secara berkesan mengesan trend jangka sederhana hingga panjang.

  2. Penyelarasan pasaran meningkatkan kualiti isyarat, mengelakkan trend palsu.

  3. Mengambil keuntungan yang munasabah dan menghentikan kerugian menghalang kerugian yang lebih besar.

  4. Tempoh dagangan yang boleh disesuaikan menyesuaikan diri dengan keadaan pasaran yang berbeza.

Analisis Risiko

  1. Tidak berkesan dalam pasaran yang tidak stabil atau jangka pendek.

  2. Pembalikan penanda aras boleh menyebabkan penarikan instrument dagangan yang tertinggal.

  3. Mempunyai potensi kehilangan peluang pembalikan apabila hanya melakukan panjang / pendek.

Penyelesaian:

  1. Tambah penunjuk jangka pendek e.g. KC, BOLL untuk pengesanan rejim pasaran dan berhenti.

  2. Meningkatkan analisis penanda aras untuk keluar tepat pada masanya.

  3. Perdagangan instrumen dua sisi untuk menangkap pembalikan.

Arahan pengoptimuman

  1. Penyesuaian parameter pada RSI, SMA, mengambil keuntungan / berhenti kerugian berdasarkan statistik pasaran.

  2. Menilai lebih banyak kombinasi penanda aras/dagang dengan korelasi dan kecairan yang lebih tinggi.

  3. Gabungkan dengan strategi lain, menggunakan ini untuk pegangan jangka menengah hingga panjang.

Kesimpulan

Ini adalah strategi trend cryptocurrency jangka menengah hingga jangka panjang yang dioptimumkan dan dapat disesuaikan secara meluas. Ia secara berkesan menggabungkan analisis trend, momentum dan korelasi untuk meningkatkan keputusan perdagangan. Penyesuaian parameter yang betul dan penggunaan komposit dapat meningkatkan kestabilan dan keuntungan. Tempoh pemegang yang panjang juga sesuai dengan sifat pasaran crypto yang sangat tidak menentu dan sukar ditangkap dengan tepat.


/*backtest
start: 2022-12-04 00:00:00
end: 2023-12-10 00:00:00
period: 1d
basePeriod: 1h
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 = "Crypto swing correlation", overlay = true,  pyramiding=1,initial_capital = 1, default_qty_type= strategy.percent_of_equity, default_qty_value = 100, calc_on_order_fills=false, slippage=0,commission_type=strategy.commission.percent,commission_value=0.03)

//time
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 = 2010, title = "From Year", minval = 1970)
 //monday and session 
// 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)

startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true

useCorrelation    = input(true, title="Use Correlation candles?")

symbol = input("BTC_USDT:swap", type=input.symbol)

haClose = useCorrelation ? security(symbol, timeframe.period, close) : close
haOpen  = useCorrelation ? security(symbol, timeframe.period, open) : open
haHigh  = useCorrelation ? security(symbol, timeframe.period, high) : high
haLow   = useCorrelation ? security(symbol, timeframe.period, low) : low

length = input( 50 )
overSold = input( 51 )
overBought = input( 49 )

s = input(title="Source", defval="haClose", options=["haClose", "haOpen", "haHigh", "haLow"])

price = s == "haClose" ? haClose: s == "haOpen" ? haOpen : s == "haHigh" ? haHigh : s == "haLow" ? haLow : na

len = input(8, "Length Moving average", minval=1)
src = price
ma = sma(src, len)


vrsi = rsi(price, length)
long = crossover(vrsi, overSold) and time_cond and price > ma
short = crossunder(vrsi, overBought) and time_cond and price < ma


takeProfit_long=input(1.0, step=0.005)
stopLoss_long=input(0.1, step=0.005)
takeProfit_short=input(0.05, step=0.005)
stopLoss_short=input(0.03, step=0.005)

strategy.entry("long",1,when=long)
strategy.entry("short",0,when=short)

strategy.exit("short_tp/sl", "long", profit=close * takeProfit_long / syminfo.mintick, loss=close * stopLoss_long / syminfo.mintick, comment='LONG EXIT',  alert_message = 'closeshort')
strategy.exit("short_tp/sl", "short", profit=close * takeProfit_short / syminfo.mintick, loss=close * stopLoss_short / syminfo.mintick, comment='SHORT EXIT',  alert_message = 'closeshort')


Lebih lanjut