Strategi Breakout Reversal Harga Rata-rata Bergerak Ganda

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

img

Gambaran umum

Strategi Reversal Price Breakout Dual Moving Average menggabungkan sinyal perdagangan ganda untuk mengidentifikasi peluang masuk berkualitas tinggi. Pertama-tama menggunakan rata-rata bergerak 9 hari dan rel atas dan bawahnya untuk membangun kerangka kerja breakout dasar, kemudian memperkenalkan indikator stokastik untuk menyaring sinyal setelah menilai arah peluang menggunakan 123 pola, dan akhirnya membentuk aturan masuk yang relatif ketat.

Prinsip-prinsip

Strategi Reversal Price Breakout Dual Moving Average terdiri dari dua sub-strategi.

Strategi pertama adalah penilaian pola 123. Strategi ini menggunakan hubungan harga penutupan selama dua hari sebelumnya untuk menilai kemungkinan arah terobosan harga di masa depan. Jika harga penutupan hari ini naik dibandingkan dengan harga penutupan hari sebelumnya, sementara harga penutupan hari sebelumnya turun dibandingkan dengan harga penutupan dua hari yang lalu, itu dianggap sinyal beli; jika harga penutupan hari ini turun dibandingkan dengan harga penutupan hari sebelumnya, sementara harga penutupan hari sebelumnya naik dibandingkan dengan harga penutupan dua hari yang lalu, itu dianggap sinyal jual. Pola ini diyakini mencerminkan titik balik utama di mana sentimen jangka pendek berubah dari pesimis ke optimis atau dari optimis ke pesimis.

Strategi ini pertama menghitung garis rata-rata bergerak eksponensial dari siklus yang ditentukan (seperti 9 hari), dan kemudian menambahkan persentase tertentu di atas dan di bawahnya sebagai rel atas dan bawah saluran. Jika harga menembus rel atas, sinyal jual dihasilkan. Jika harga menembus rel bawah, sinyal beli dihasilkan. Di sini lebar ekspansi dan kontraksi rel atas dan bawah dapat dikendalikan oleh faktor persentase untuk menyesuaikan frekuensi sinyal.

Akhirnya, hanya ketika arah sinyal dari dua sub-strategi konsisten, yaitu, sinyal pembalikan 123 dan sinyal channel breakout berada di arah yang sama, sinyal nyata akhirnya akan dihasilkan untuk memandu perdagangan yang sebenarnya.

Analisis Keuntungan

Strategi Reversal Price Breakout Dual Moving Average menggabungkan beberapa metode analisis dan memiliki keuntungan berikut:

  1. Mekanisme penyaringan sinyal ganda dapat secara efektif mengurangi sinyal yang tidak valid dan membuat setiap perdagangan berkualitas lebih tinggi.

  2. Penghakiman pola 123 termasuk dalam strategi pembalikan jangka pendek, sedangkan tergeser saluran pecah termasuk dalam strategi pelacakan tren jangka menengah dan panjang.

  3. Dengan menyesuaikan lebar rel atas dan bawah saluran, frekuensi sinyal dapat dikontrol secara bebas agar sesuai dengan preferensi perdagangan yang berbeda.

  4. Menggunakan rata-rata bergerak 9 hari sebagai garis tengah saluran, pemilihan parameter lebih wajar untuk menghindari sinyal yang terlalu sering.

  5. Dengan menerapkan zona overbought dan oversold dari indikator stokastik, ia menghindari terjebak dalam pasar shock.

Analisis Risiko

Strategi Reversal Price Breakout Dual Moving Average juga memiliki beberapa risiko, terutama dalam aspek berikut:

  1. Mekanisme sinyal penyaringan ganda melewatkan beberapa peluang yang dapat ditangkap oleh strategi sisi tunggal, dengan beberapa risiko hilangnya pesanan.

  2. 123 titik beli dan jual tidak dapat sepenuhnya menyaring semua breakout palsu.

  3. Jika terjadi perubahan pasar yang keras, pengaturan stop loss yang tidak tepat dapat menyebabkan kerugian besar.

  4. Logika dari kondisi ifft rumit. parameter yang tidak tepat rentan terhadap kesalahan logika, menghasilkan penilaian sinyal yang tidak valid.

  5. Data di luar sampel mempengaruhi stabilitas parameter, yang membutuhkan optimasi dinamis parameter.

Arahan Optimasi

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

  1. Berbagai jenis moving average dapat diuji untuk memilih kombinasi parameter dengan kualitas sinyal yang lebih baik dan lebih stabil.

  2. Saluran dengan lebar yang sesuai dapat dipilih sesuai dengan karakteristik data produk tertentu.

  3. Stop loss dinamis dapat dikombinasikan untuk mengontrol rasio kerugian maksimum.

  4. Model pembelajaran mesin dapat diperkenalkan untuk optimasi parameter dinamis untuk membuat strategi lebih kuat.

  5. Filter berdasarkan volume perdagangan atau volatilitas dapat ditambahkan untuk menghindari masuk dan keluar yang terlalu sering dalam kondisi pasar yang bergejolak.

Kesimpulan

Melalui mekanisme penyaringan verifikasi ganda, Dual Moving Average Price Reversal Breakout Strategy berhasil menggabungkan pembalikan harga jangka pendek dan pelacakan tren jangka menengah dan panjang untuk membentuk sistem perdagangan yang efisien yang dapat secara efektif menyaring sinyal yang tidak valid dan memilih peluang berkualitas tinggi untuk masuk, dan memiliki kustomisasi yang relatif 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 banyak