Dual-driver Quantized Reversal Tracking Strategi

Penulis:ChaoZhang, Tanggal: 2024-02-18 10:03:14
Tag:

img

Gambaran umum

Strategi pelacakan reversal kuantisasi dual-driver menggabungkan indikator rata-rata bergerak sederhana dan indikator acak untuk mencapai strategi perdagangan jangka pendek yang efisien dan stabil yang dapat menangkap pembalikan pasar yang cepat sambil mengurangi biaya peluang dari sinyal yang hilang.

Prinsip Strategi

Strategi ini terdiri dari dua bagian: bagian pola pembalikan 123 dan bagian rata-rata bergerak adaptif. Bagian pola pembalikan 123 menilai apakah ada peluang pembalikan dengan menghitung hubungan harga penutupan antara dua hari perdagangan sebelumnya. Jika harga penutupan pada hari sebelumnya lebih rendah dari pada hari sebelumnya ke-2 dan harga penutupan pada hari perdagangan saat ini lebih tinggi dari pada hari sebelumnya, dan garis acak lambat di bawah 50, sinyal beli dihasilkan. Jika harga penutupan pada hari sebelumnya lebih tinggi dari pada hari sebelumnya ke-2 dan harga penutupan pada hari perdagangan saat ini lebih rendah dari pada hari sebelumnya, dan garis cepat di atas 50, sinyal jual dihasilkan. Ini dapat menangkap peluang pembalikan jangka pendek secara acak. Bagian lain adalah sinyal rata-rata bergerak, yang merespons dengan cepat ketika pasar tidak aktif dan merespons secara efektif, yang dapat secara efektif menghindari kebisingan dan sinyal pencocokan tren utama dan ketika sinyal masuk dan keluar sesuai dengan arah, ketika kedua posisi ditutup, mereka juga dapat mencocokkan sinyal masuk dan keluar.

Keuntungan dari Strategi

Keuntungan terbesar dari strategi pelacakan pembalikan kuantitasi dual-driver adalah bahwa ia menggabungkan pola pembalikan dan penyaringan tren sehingga dapat menangkap pembalikan cepat sambil menghindari terjebak dalam pasar kejutan. Ada dua sumber utama pendapatan: Pertama, identifikasi pola 123 dapat dengan cepat melacak peluang ketika harga cepat membalik arah, yang tidak dapat dilakukan oleh banyak strategi stabil. Kedua, penerapan rata-rata bergerak adaptif memastikan bahwa arah perdagangan konsisten dengan tren utama, secara efektif menyaring kebisingan dan mengurangi kerugian yang tidak perlu.

Risiko dari Strategi

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 parameter pola 123 terlalu sensitif, itu dapat menyebabkan perdagangan yang sering terjadi dalam kondisi pasar yang tidak menentu, yang mengakibatkan lebih banyak kerugian penutupan. Jika parameter rata-rata bergerak adaptif ditetapkan terlalu lambat, peluang pembalikan dapat dilewatkan. Selain itu, mengejar tertinggi baru dan menjual terendah di pasar yang sedang tren juga akan menyebabkan fluktuasi modal yang lebih besar.

Optimasi Strategi

Strategi dapat dioptimalkan dengan beberapa cara: pertama, menyesuaikan parameter pola 123 untuk mengidentifikasi pembalikan yang jelas tanpa terlalu sensitif terhadap menghasilkan sinyal palsu. kedua, mengoptimalkan parameter rata-rata bergerak adaptif untuk menemukan keseimbangan terbaik antara stabilitas dan sensitivitas. ketiga, strategi stop loss dapat diperkenalkan untuk mengendalikan kerugian tunggal. keempat, indikator sentimen pasar dapat dikombinasikan untuk meningkatkan kualitas keputusan.

Ringkasan

Strategi pelacakan pembalikan kuantitatif dual-driver berhasil mengintegrasikan dua bagian penting dari perdagangan pembalikan dan penyaringan tren, dan keuntungan gabungannya signifikan.


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

Lebih banyak