Strategi pembalikan berganda tinggi-rendah

Penulis:ChaoZhang, Tarikh: 2024-01-03 13:56:04
Tag:

img

Ringkasan

Strategi Dual Reversal High-Low adalah strategi kuantitatif yang menggabungkan isyarat ganda. Ia mengintegrasikan strategi intraday berasaskan pembalikan dan strategi penghakiman trend yang menggunakan perbezaan antara harga tertinggi semalam dan purata bergerak. Strategi ini bertujuan untuk mencapai isyarat beli dan jual yang lebih stabil untuk mengelakkan lagi penerbitan isyarat yang salah.

Prinsip-prinsip

Pertama, bahagian strategi pembalikan. Strategi ini menilai pembentukan isyarat apabila terdapat pembalikan harga penutupan selama dua hari berturut-turut, sambil menggabungkan penghakiman keadaan overbought dan oversold menggunakan penunjuk stokastik. Khususnya, ia adalah isyarat jual apabila harga penutupan berubah dari naik ke turun selama dua hari berturut-turut, dan penunjuk stokastik cepat berada di atas penunjuk stokastik perlahan; ia adalah isyarat beli apabila harga penutupan berubah dari jatuh ke naik selama dua hari berturut-turut, dan penunjuk stokastik cepat berada di bawah penunjuk stokastik perlahan.

Kedua, bahagian strategi tinggi-rendah. Strategi ini menggunakan perbezaan antara harga tertinggi semalam dan purata bergerak eksponensial 13 tempoh untuk menentukan trend. Ia menghasilkan isyarat beli apabila harga tertinggi di atas purata bergerak; ia menghasilkan isyarat jual apabila harga tertinggi di bawah purata bergerak.

Akhirnya, strategi ini mengintegrasikan kedua-dua isyarat. Ia mengambil tindakan beli apabila kedua-dua isyarat menunjukkan isyarat beli pada masa yang sama; ia mengambil tindakan jual apabila kedua-dua isyarat menunjukkan isyarat jual pada masa yang sama.

Kelebihan

Strategi isyarat ganda ini dapat mengurangkan isyarat yang salah dan perdagangan yang tidak perlu. Bahagian pembalikan boleh menentukan keadaan overbought dan oversold untuk mengelakkan mengejar tinggi dan menjual rendah. Bahagian tinggi-rendah boleh menentukan perbezaan trend harga untuk mengelakkan pecah palsu. Apabila menggabungkan pertimbangan, isyarat perdagangan sebenar hanya dihasilkan apabila isyarat ganda berada dalam arah yang sama, yang dapat meningkatkan kebolehpercayaan isyarat dengan ketara dan mengurangkan perdagangan yang tidak berkesan.

Di samping itu, pembalikan dan bahagian tinggi-rendah menggunakan pelbagai jenis penunjuk dan kriteria penilaian, jadi mereka dapat berfungsi untuk mengesahkan satu sama lain dan mengurangkan isyarat yang salah. Apabila keadaan khas berlaku di pasaran, satu penunjuk terdedah kepada isyarat yang salah, sementara penghakiman gabungan dapat mengimbangi beberapa kesilapan.

Analisis Risiko

Risiko terbesar dari strategi ini adalah bahawa isyarat satu sisi yang munasabah dapat diabaikan dalam pasaran tren yang kuat. Apabila trend sangat jelas, pertimbangan isyarat bahagian pembalikan mungkin salah, yang akan menyebabkan isyarat satu sisi dalam bahagian tinggi-rendah gagal dilaksanakan sebagai perdagangan. Ini terutama menonjol dalam pasaran banteng dan beruang trend.

Selain itu, tetapan parameter yang tidak betul juga boleh mempengaruhi strategi. tetapan parameter dalam bahagian pembalikan perlu mengambil kira sistem purata bergerak kitaran, dan tempoh purata bergerak dalam bahagian tinggi-rendah perlu diselaraskan. Jika tempoh kedua-duanya tidak betul, akan ada isyarat palsu biasa atau hanya tidak ada isyarat.

Pengoptimuman

Pertama, parameter panjang purata bergerak di bahagian tinggi-rendah boleh diuji untuk menjadikannya lebih bersepadu dengan penunjuk kitaran di bahagian pembalikan.

Kedua, bahagian pembalikan juga boleh menguji menggunakan entiti K-line dan bukannya hanya menggunakan harga penutupan yang mudah dipengaruhi.

Akhirnya, ia juga boleh cuba untuk mempertimbangkan hanya mengambil dagangan apabila isyarat pembalikan muncul semasa sesi, kerana kaedah pegangan intraday semasa mempunyai risiko yang lebih tinggi.

Kesimpulan

Strategi pembalikan tinggi-rendah berganda mengintegrasikan isyarat dari pelbagai penunjuk dan menjalankan pengesahan berganda sebelum mengeluarkan isyarat beli dan jual. Mekanisme penapisan isyarat yang ketat ini dapat mengurangkan kesan isyarat yang tidak sah dan salah pada perdagangan sebenar. Strategi ini berjaya mengawal kekerapan perdagangan yang tidak berkesan, menjadikan setiap perdagangan lebih boleh dipercayai, dan mengelakkan mengikuti pergerakan pasaran jangka pendek secara membabi buta. Melalui pengoptimuman parameter, ia boleh mencapai prestasi yang lebih baik di pasaran tertentu.


/*backtest
start: 2023-12-26 00:00:00
end: 2024-01-02 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 23/11/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
// This indicator plots the difference between the High (of the previous period)
// and an exponential moving average (13 period) of the Close (of the previous period).
// You can use in the xPrice any series: Open, High, Low, Close, HL2, HLC3, OHLC4 and ect...
// It buy if indicator above 0 and sell if below.
//
// 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

    
HEMA(Length) =>
    pos = 0.0
    xPrice = close  // You can use any series
    xEMA = ema(xPrice, Length)
    nRes = high[1] - nz(xEMA[1])
    pos:= iff(nRes > 0, 1,
    	   iff(nRes < 0, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & High - EMA Strategy", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
Length_HEMA = input(13, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posHEMA = HEMA(Length_HEMA)
pos = iff(posReversal123 == 1 and posHEMA == 1 , 1,
	   iff(posReversal123 == -1 and posHEMA == -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 lanjut