Strategi Dagangan Pembalikan Dasar Kuantitatif Pintar

Penulis:ChaoZhang, Tarikh: 2023-12-08 10:45:49
Tag:

img

Ringkasan

Strategi ini adalah strategi perdagangan pembalikan bawah kuantitatif yang pintar yang direka untuk mata wang kripto. Ia menggunakan teknologi pelbagai jangka masa dan penunjuk RSI adaptif untuk mengenal pasti potensi bawah jangka pendek pasaran, dan memasuki pembalikan berhampiran bahagian bawah untuk mencapai pulangan yang berlebihan.

Prinsip Strategi

Pertama, strategi ini menggunakan perubahan harga dan jumlah dagangan untuk mengira penunjuk RSI adaptif, menilai kemungkinan bawah pasaran jangka pendek. Kemudian, digabungkan dengan teknologi pelbagai jangka masa, ia mengesahkan isyarat bawah pada jangka masa yang lebih besar. Isyarat beli dihasilkan apabila garis RSI adaptif melintasi di atas tahap 0.

Secara khusus, penunjuk RSI adaptif dikira seperti berikut: Pertama mengira perubahan harga untuk setiap candlestick, kemudian mengira jumlah dagangan candlestick itu. Kalikan dua untuk mendapatkan momentum yang dikantifikasikan untuk candlestick itu. Gunakan pengiraan RSI pada momentum yang dikantifikasikan dan ambil purata tempoh N untuk mendapatkan penunjuk RSI adaptif akhir. Penunjuk ini dapat mengenal pasti bahagian bawah pasaran dengan jelas.

Di samping itu, strategi ini menggabungkan teknologi pelbagai jangka masa untuk menilai isyarat pada jangka masa yang lebih tinggi, mengelakkan gangguan dari bunyi pasaran jangka pendek.

Analisis Kelebihan

Kelebihan terbesar strategi ini terletak pada pengenalan yang tepat dari pasaran jangka pendek bawah menggunakan adaptif RSI penunjuk, yang menyediakan isyarat yang berkesan untuk perdagangan pembalikan bawah.

Berbanding dengan penunjuk RSI tradisional, penunjuk RSI adaptif memperkenalkan momentum yang dikantifikasikan dalam penghitungannya, menjadikannya lebih sensitif terhadap pasaran cryptocurrency yang berubah pesat, dan dengan itu dapat mengenal pasti bahagian bawah lebih awal dan lebih tepat, memberikan permulaan untuk perdagangan pembalikan bahagian bawah.

Di samping itu, strategi ini menggabungkan kelebihan kedua-dua trend berikut dan perdagangan pembalikan. Dalam keadaan pasaran yang tidak pasti, ia boleh mendapat keuntungan daripada perdagangan pembalikan. Dalam pasaran bull yang jelas, ia juga boleh mengikuti trend.

Analisis Risiko

Risiko utama strategi ini adalah bahawa ketepatan pengenalan bahagian bawah tidak dapat dijamin 100%. Terdapat turun naik yang tidak rasional di pasaran dalam jangka pendek. Jika bahagian bawah meluas ke bawah, risiko kehilangan berhenti yang besar akan dihadapi.

Di samping itu, perbezaan boleh berlaku di antara jangka masa yang berbeza.

Untuk mengawal risiko, strategi ini menggunakan mekanisme stop loss yang agak konservatif dan mengambil keuntungan dalam kumpulan, secara beransur-ansur mengoptimumkan pulangan.

Arahan pengoptimuman

Strategi ini boleh dioptimumkan dalam aspek berikut:

  1. Mengoptimumkan parameter RSI adaptif untuk meningkatkan ketepatan dalam pertimbangan bawah pasaran.

  2. Tambah penunjuk lain untuk pengesahan untuk mengelakkan isyarat palsu, seperti menggabungkan dengan penunjuk jumlah dll.

  3. Mengoptimumkan mekanisme stop loss untuk membolehkan julat stop loss yang lebih luas sambil memastikan nisbah risiko-balasan yang baik, untuk menangkap lebih banyak keuntungan trend.

  4. Mengoptimumkan pemilihan jangka masa untuk memastikan kebolehpercayaan isyarat pada skala yang lebih besar.

  5. Uji strategi ini pada produk cryptocurrency yang berbeza dan pilih yang berprestasi terbaik.

Ringkasan

Strategi perdagangan pembalikan bawah kuantitatif yang pintar ini mengenal pasti potensi bawah jangka pendek dengan menggunakan penunjuk RSI adaptif dan teknologi pelbagai jangka masa. Sifat pembalikannya membolehkan keuntungan yang berlebihan dalam keadaan pasaran yang tidak pasti, sementara juga dapat mengikuti trend yang jelas. Dengan pengoptimuman berterusan, strategi ini berpotensi menghasilkan isyarat perdagangan yang lebih boleh dipercayai dan mencapai keuntungan yang stabil dalam jangka panjang.


/*backtest
start: 2023-11-07 00:00:00
end: 2023-12-07 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// © theCrypster 2020

//@version=4
strategy(title = "Low Scanner strategy crypto", overlay = false, pyramiding=1,initial_capital = 1000, 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.075)
strat_dir_input = input(title="Strategy Direction", defval="long", options=["long", "short", "all"])
strat_dir_value = strat_dir_input == "long" ? strategy.direction.long : strat_dir_input == "short" ? strategy.direction.short : strategy.direction.all
strategy.risk.allow_entry_in(strat_dir_value)
leng=1
p1=close[1]
min=input(10)
len55 = timeframe.isintraday and timeframe.multiplier >= 1 ? 
   min / timeframe.multiplier * 7 : 
   timeframe.isintraday and timeframe.multiplier < 60 ? 
   60 / timeframe.multiplier * 24 * 7 : 7
//taken from https://www.tradingview.com/script/Ql1FjjfX-security-free-MTF-example-JD/
tf3 = input("60", type=input.resolution)
ti = change( time(tf3) ) != 0
T_c = fixnan( ti ? close : na )

vrsi = rsi(cum(change(T_c) * volume), leng)
pp=wma(vrsi,len55)

d=(vrsi[1]-pp[1])
min1 =input(1)
len100 = timeframe.isintraday and timeframe.multiplier >= 1 ? 
   min1 / timeframe.multiplier * 7 : 
   timeframe.isintraday and timeframe.multiplier < 60 ? 
   60 / timeframe.multiplier * 24 * 7 : 7
x=ema(d,len100)
//
zx=x/-1
col=zx > 0? color.lime : color.orange
plot(zx,color=col,linewidth=1)
//

tf10 = input("60", title = "Timeframe", type = input.resolution, options = ["1", "5", "15", "30", "60","120", "240","360","720", "D", "W"])

length = input(24, title = "Period", type = input.integer)
shift = input(1, title = "Shift", type = input.integer)

hma(_src, _length)=>
    wma((2 * wma(_src, _length / 2)) - wma(_src, _length), round(sqrt(_length)))
    
hma3(_src, _length)=>
    p = length/2
    wma(wma(close,p/3)*3 - wma(close,p/2) - wma(close,p),p)


a = security(syminfo.tickerid, tf10, hma(close, length))
b =security(syminfo.tickerid, tf10, hma3(close[1], length)[shift])
//plot(a,color=color.gray)
//plot(b,color=color.yellow)
close_price = close[0]
len = input(25)

linear_reg = linreg(close_price, len, 0)


//plot(linear_reg, color=color.blue, title="LR", linewidth=3)

buy=crossover(linear_reg, b) 
sell=crossunder(linear_reg, b) 
//
l = crossover(zx,0) or buy
        
if l 
    strategy.entry("buy", strategy.long)

per(pcnt) =>
    strategy.position_size != 0 ? round(pcnt / 100 * strategy.position_avg_price / syminfo.mintick) : float(na)
stoploss=input(title=" stop loss", defval=10, minval=0.01)
los = per(stoploss)
q1=input(title=" qty_percent1", defval=25, minval=1)
q2=input(title=" qty_percent2", defval=25, minval=1)
q3=input(title=" qty_percent3", defval=25, minval=1)
tp1=input(title=" Take profit1", defval=1, minval=0.01)
tp2=input(title=" Take profit2", defval=2, minval=0.01)
tp3=input(title=" Take profit3", defval=3, minval=0.01)
tp4=input(title=" Take profit4", defval=5, minval=0.01)
strategy.exit("x1", qty_percent = q1, profit = per(tp1), loss = los)
strategy.exit("x2", qty_percent = q2, profit = per(tp2), loss = los)
strategy.exit("x3", qty_percent = q3, profit = per(tp3), loss = los)
strategy.exit("x4", profit = per(tp4), loss = los)


Lebih lanjut