Strategi Penembusan Peralihan Harga Purata Bergerak Berganda

Penulis:ChaoZhang, Tarikh: 2023-12-07 18:15:12
Tag:

img

Ringkasan

Strategi Penembusan Pembalikan Harga Purata Bergerak Berganda menggabungkan isyarat perdagangan berganda untuk mengenal pasti peluang kemasukan yang lebih berkualiti. Ia mula-mula menggunakan purata bergerak 9 hari dan rel atas dan bawahnya untuk membina rangka kerja pecah asas, kemudian memperkenalkan penunjuk stokastik untuk menapis isyarat selepas menilai arah peluang menggunakan corak 123, dan akhirnya membentuk peraturan kemasukan yang agak ketat. Kaedah penapis gabungan jenis ini dapat mengurangkan kekerapan perdagangan dengan berkesan sambil memastikan kualiti isyarat, yang sesuai untuk pegangan jangka menengah dan panjang.

Prinsip-prinsip

Strategi Penarikan Harga Peralihan Purata Bergerak Berganda terdiri daripada dua sub-strategi.

Strategi pertama adalah penilaian corak 123. Strategi ini menggunakan hubungan harga penutupan selama dua hari yang lalu untuk menilai arah kemungkinan penembusan harga masa depan. Jika harga penutupan hari ini meningkat berbanding dengan harga penutupan hari sebelumnya, sementara harga penutupan hari sebelumnya jatuh berbanding dengan harga penutupan dua hari yang lalu, ia dianggap isyarat beli; jika harga penutupan hari ini jatuh berbanding dengan harga penutupan hari sebelumnya, sementara harga penutupan hari sebelumnya naik berbanding dengan harga penutupan dua hari yang lalu, ia dianggap isyarat jual. Corak ini dipercayai mencerminkan titik perubahan utama di mana sentimen jangka pendek berubah dari pesimis kepada optimis atau dari optimis kepada pesimis. Di sini kita mengesahkan semula isyarat beli dan jual menggunakan satu-satunya penunjuk stochastic, dan menghasilkan operasi akhir apabila isyarat stochastic juga memberikan isyarat oversold atau oversold.

Strategi kedua adalah penembusan saluran purata bergerak yang terlantar. Strategi ini mula-mula mengira garis purata bergerak eksponensial kitaran yang ditentukan (seperti 9 hari), dan kemudian menambah peratusan tertentu di atas dan di bawahnya sebagai rel atas dan bawah saluran. Jika harga menembusi rel atas, isyarat jual dihasilkan. Jika harga menembusi rel bawah, isyarat beli dihasilkan. Di sini lebar pengembangan dan pengecutan rel atas dan bawah boleh dikawal oleh faktor peratusan untuk menyesuaikan kekerapan isyarat.

Akhirnya, hanya apabila arah isyarat kedua-dua sub-strategi adalah konsisten, iaitu isyarat pembalikan 123 dan isyarat pecah saluran berada dalam arah yang sama, isyarat sebenar akhirnya akan dihasilkan untuk membimbing perdagangan sebenar.

Analisis Kelebihan

Strategi Peralihan Harga Purata Bergerak Berganda menggabungkan pelbagai kaedah analisis dan mempunyai kelebihan berikut:

  1. Mekanisme penapisan isyarat berganda dapat mengurangkan isyarat yang tidak sah dengan berkesan dan menjadikan setiap perdagangan lebih berkualiti.

  2. Penghakiman corak 123 tergolong dalam strategi pembalikan jangka pendek, manakala pengalihan saluran yang terpinggirkan tergolong dalam strategi pengesanan trend jangka sederhana dan panjang.

  3. Dengan menyesuaikan lebar rel atas dan bawah saluran, frekuensi isyarat boleh dikawal secara bebas untuk memenuhi pilihan perdagangan yang berbeza.

  4. Menggunakan purata bergerak 9 hari sebagai garis tengah saluran, pemilihan parameter lebih munasabah untuk mengelakkan isyarat yang terlalu kerap.

  5. Dengan menggunakan zon overbought dan oversold penunjuk stokastik, ia mengelakkan terperangkap dalam pasaran kejutan.

Analisis Risiko

Strategi Peralihan Harga Rata-rata Bergerak Berganda juga mempunyai beberapa risiko, terutamanya dalam aspek berikut:

  1. Mekanisme isyarat penapisan berganda kehilangan beberapa peluang yang boleh ditangkap oleh strategi satu sisi, dengan beberapa risiko pesanan yang hilang.

  2. 123 titik beli dan jual tidak boleh sepenuhnya menyaring semua pecah palsu.

  3. Dalam kes perubahan pasaran yang ganas, tetapan stop loss yang tidak betul boleh menyebabkan kerugian besar.

  4. Logik keadaan ifft adalah kompleks. Parameter yang tidak betul terdedah kepada kesilapan logik, yang mengakibatkan penghakiman isyarat yang tidak sah.

  5. Data di luar sampel mempengaruhi kestabilan parameter, yang memerlukan pengoptimuman dinamik parameter.

Arahan pengoptimuman

Masih ada ruang untuk pengoptimuman dalam Dual Moving Average Price Reversal Breakout Strategy:

  1. Pelbagai jenis purata bergerak boleh diuji untuk memilih kombinasi parameter dengan kualiti isyarat yang lebih baik dan lebih stabil.

  2. Saluran lebar yang sesuai boleh dipilih mengikut ciri-ciri data produk tertentu.

  3. Hentian kehilangan dinamik boleh digabungkan untuk mengawal nisbah kerugian maksimum.

  4. Model pembelajaran mesin boleh diperkenalkan untuk pengoptimuman parameter dinamik untuk menjadikan strategi lebih kukuh.

  5. Penapis berdasarkan jumlah dagangan atau turun naik boleh ditambah untuk mengelakkan masuk dan keluar yang terlalu kerap dalam keadaan pasaran yang bergolak.

Kesimpulan

Melalui mekanisme penapisan pengesahan berganda, Strategi Peralihan Harga Purata Bergerak Berganda berjaya menggabungkan pembalikan jangka pendek dan pengesanan trend jangka menengah dan panjang untuk membentuk sistem perdagangan yang cekap yang dapat menapis isyarat yang tidak sah dan memilih peluang berkualiti tinggi untuk memasuki, dan mempunyai penyesuaian yang agak kuat.


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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 18/03/2021
// 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
// Moving Average Displaced Envelope. These envelopes are calculated 
// by multiplying percentage factors with their displaced expotential 
// moving average (EMA) core.
// How To Trade Using:
// Adjust the envelopes percentage factors to control the quantity and 
// quality of the signals. If a previous high goes above the envelope 
// a sell signal is generated. Conversely, if the previous low goes below 
// the envelope a buy signal is given.
//
// 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


MADE(Price,Period, perAb, perBl, disp) =>
    pos = 0.0
    sEMA = ema(Price, Period)
    top = sEMA[disp] * ((100 + perAb)/100)
    bott = sEMA[disp]* ((100 - perBl)/100)
    pos := iff(close < bott , 1,
    	     iff(close > top, -1, pos[1])) 
    pos

strategy(title="Combo Backtest 123 Reversal & MA Displaced Envelope", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- MA Displaced Envelope ----")
Price = input(title="Source", type=input.source, defval=close)
Period =input(defval=9, minval=1)
perAb = input(title = "Percent above", defval=.5, minval=0.01, step = 0.1)
perBl = input(title = "Percent below", defval=.5, minval=0.01, step = 0.1)
disp = input(title = "Displacement", defval=13, minval=1) 
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posMADE = MADE(Price,Period, perAb, perBl, disp)
pos = iff(posReversal123 == 1 and posMADE == 1 , 1,
	   iff(posReversal123 == -1 and posMADE == -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