Strategi pelacakan pembalikan kuantitatif bercabang dua


Tanggal Pembuatan: 2024-02-18 10:03:14 Akhirnya memodifikasi: 2024-02-18 10:03:14
menyalin: 0 Jumlah klik: 533
1
fokus pada
1617
Pengikut

Strategi pelacakan pembalikan kuantitatif bercabang dua

Ringkasan

Strategi pelacakan reversal kuantitatif dua saluran dengan kombinasi penggunaan indikator rata-rata bergerak sederhana dan indikator acak, mewujudkan strategi perdagangan garis pendek yang efisien dan stabil yang dapat menangkap reversal pasar yang cepat sekaligus mengurangi biaya peluang yang disebabkan oleh sinyal yang terlewatkan.

Prinsip Strategi

Strategi ini terdiri dari dua bagian: bagian 123 bentuk reversal dan bagian yang beradaptasi dengan moving average. Bagian 123 bentuk reversal menilai apakah ada peluang reversal dengan menghitung hubungan harga penutupan dua hari perdagangan sebelumnya. Jika harga penutupan hari sebelumnya lebih rendah dari dua hari sebelumnya dan harga penutupan hari perdagangan saat ini lebih tinggi dari hari sebelumnya, dan garis lambat acak lebih rendah dari 50, maka sinyal pembelian dihasilkan.

Keunggulan Strategis

Keuntungan terbesar dari strategi pelacakan reversal kuantitatif di bawah dua pipa adalah kombinasi penggunaan reversal dan penyaringan tren, yang membuatnya dapat menangkap reversal cepat dan menghindari terkurung di pasar yang bergoyang. Sumber keuntungan utamanya adalah dua: pertama, identifikasi 123 bentuk memungkinkan kesempatan untuk melacak perubahan harga yang cepat dan tepat waktu, yang tidak dapat dilakukan oleh banyak strategi stabilisasi. Kedua, aplikasi rata-rata bergerak adaptif memastikan konsistensi arah perdagangan dan tren utama, secara efektif memfilter kebisingan, mengurangi kerugian yang tidak perlu.

Risiko Strategis

Risiko utama dari strategi ini adalah bahwa pengaturan parameter yang tidak tepat dapat menyebabkan frekuensi perdagangan yang terlalu tinggi atau kemampuan identifikasi sinyal yang tidak memadai. Jika pengaturan parameter 123 bentuk terlalu sensitif, dapat menyebabkan perdagangan yang terlalu sering dalam situasi yang bergolak, menghasilkan kerugian posisi yang lebih banyak.

Optimasi Strategi

Strategi ini dapat dioptimalkan dalam beberapa hal: pertama, menyesuaikan parameter 123 bentuk sehingga dapat mengenali reversal yang jelas dan tidak terlalu sensitif untuk menghasilkan sinyal kesalahan. Kedua, mengoptimalkan parameter yang beradaptasi dengan rata-rata bergerak, menemukan keseimbangan optimal antara yang stabil dan sensitif. Ketiga, strategi stop loss dapat diperkenalkan untuk mengendalikan kerugian tunggal.

Meringkaskan

Strategi pelacakan reversal kuantitatif dua saluran berhasil mengintegrasikan reversal trading dan trend filtering sebagai dua bagian yang sangat penting. Keunggulan kombinasi yang signifikan. Dengan terus-menerus mengoptimalkan parameter yang ditetapkan, terus-menerus memperbaiki mekanisme stop loss dan kontrol risiko, strategi ini diharapkan menjadi strategi perdagangan kuantitatif yang efisien dengan mudah untuk mendapatkan keuntungan, dan risiko yang dapat dikendalikan.

Kode Sumber Strategi
/*backtest
start: 2024-01-18 00:00:00
end: 2024-02-17 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 08/12/2020
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// Everyone wants a short-term, fast trading trend that works without large
// losses. That combination does not exist. But it is possible to have fast
// trading trends in which one must get in or out of the market quickly, but
// these have the distinct disadvantage of being whipsawed by market noise
// when the market is volatile in a sideways trending market. During these
// periods, the trader is jumping in and out of positions with no profit-making
// trend in sight. In an attempt to overcome the problem of noise and still be
// able to get closer to the actual change of the trend, Kaufman developed an
// indicator that adapts to market movement. This indicator, an adaptive moving
// average (AMA), moves very slowly when markets are moving sideways but moves
// swiftly when the markets also move swiftly, change directions or break out of
// a trading range.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos

KAMA(Length) =>
    pos = 0.0
    nAMA = 0.0
    xPrice = close
    xvnoise = abs(xPrice - xPrice[1])
    nfastend = 0.666
    nslowend = 0.0645
    reverse = input(false, title="Trade reverse")
    nsignal = abs(xPrice - xPrice[Length])
    nnoise = sum(xvnoise, Length)
    nefratio = iff(nnoise != 0, nsignal / nnoise, 0)
    nsmooth = pow(nefratio * (nfastend - nslowend) + nslowend, 2) 
    nAMA := nz(nAMA[1]) + nsmooth * (xPrice - nz(nAMA[1]))
    pos := iff(close[1] > nAMA, 1,
    	     iff(close[1] < nAMA, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Kaufman Moving Average Adaptive", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthKAMA = input(21, minval=2)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posKAMA = KAMA(LengthKAMA)
pos = iff(posReversal123 == 1 and posKAMA == 1 , 1,
	   iff(posReversal123 == -1 and posKAMA == -1, -1, 0)) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1 , 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )