Strategi Trading Combo Double Moving Average Reversal dan Triple Bottom Flash

Penulis:ChaoZhang, Tanggal: 2023-10-26 16:26:24
Tag:

img

Gambaran umum

Strategi perdagangan ini memanfaatkan sepenuhnya keuntungan dari pembalikan rata-rata bergerak dan indikator teknis triple bottom flash untuk aplikasi kombinasi. Ini menangkap peluang pembalikan sambil melacak tren, menyaring beberapa sinyal pecah palsu, dan dapat secara efektif meningkatkan tingkat kemenangan sistem perdagangan.

Prinsip Strategi

Strategi ini terdiri dari dua bagian:

  1. Kombinasi dari rata-rata bergerak 2 hari dan 20 hari. sinyal beli dan jual dihasilkan ketika rata-rata bergerak 2 hari menyimpang dari rata-rata bergerak 20 hari.

  2. Pattern triple bottom flash. Munculnya pola ini adalah sinyal untuk pembalikan jangka pendek. Kondisi pembentukannya adalah: harga terendah di tengah hari lebih rendah dari hari sebelumnya dan hari berikutnya, dan harga penutupan hari berikutnya lebih tinggi dari harga tertinggi hari sebelumnya.

Ketika rata-rata bergerak 2 hari dan 20 hari secara bersamaan menunjukkan sinyal pembalikan, dan konsisten dengan arah sinyal pola flash triple bottom, ambil tindakan beli atau jual.

Dalam kode ini, rata-rata bergerak 2 hari dan 20 hari dihitung terlebih dahulu.

Ketika pola flash triple bottom terdeteksi, sinyal arah pola diatur menjadi 1 atau -1. Baca sinyal pola hari sebelumnya, gabungkan dengan sinyal rata-rata bergerak saat ini, dan menghasilkan sinyal masuk akhir.

Dengan demikian, dengan menyaring dengan kombinasi rata-rata bergerak dan pola, beberapa sinyal palsu dapat disaring, membuat strategi perdagangan lebih dapat diandalkan.

Keuntungan

  1. Kombinasi dari beberapa indikator teknis dapat melengkapi dan memverifikasi satu sama lain dan meningkatkan keandalan sinyal.

  2. Pembalikan rata-rata bergerak dapat menangkap titik pembalikan tren secara tepat waktu dan mengambil keuntungan dari pembalikan.

  3. Rata-rata bergerak 20 hari melacak tren jangka menengah dan panjang, dan rata-rata bergerak 2 hari menangkap titik masuk setelah penyesuaian jangka pendek.

  4. Strategi ini tidak sensitif terhadap parameter dan mudah diterapkan dan dioptimalkan.

Risiko

  1. Pola pembalikan rentan terhadap penilaian yang salah dan pengalaman diperlukan untuk menilai keandalan mereka.

  2. Sinyal pembalikan mungkin terlambat, yang membutuhkan pengamatan fitur pola dan penyesuaian posisi yang sesuai.

  3. Pengujian dan pengoptimalan diperlukan untuk varietas perdagangan yang berbeda, dan beberapa parameter mungkin perlu disesuaikan.

  4. Pengendalian kerugian perlu memperkenalkan mekanisme stop loss untuk menghindari kehilangan titik pembalikan penting.

Optimalisasi

  1. Uji kombinasi rata-rata bergerak yang berbeda untuk memilih parameter terbaik untuk varietas.

  2. Memperkenalkan indikator tambahan lainnya seperti volume, Bollinger Bands, dll untuk verifikasi multi-indikator.

  3. Tambahkan modul stop loss untuk mengontrol drawdown dan risiko.

  4. Optimalkan waktu masuk untuk menghindari masalah dini atau terlambat.

  5. Melakukan optimasi parameter untuk varietas tertentu untuk meningkatkan kemampuan beradaptasi.

Ringkasan

Strategi ini memanfaatkan sepenuhnya keuntungan dari pembalikan rata-rata bergerak dan pola jangka pendek untuk mencapai kombinasi yang efektif dari keduanya, yang dapat meningkatkan stabilitas dan tingkat kemenangan sistem perdagangan. Tetapi pengendalian risiko, pengujian parameter dan optimalisasi diperlukan untuk beradaptasi dengan karakteristik varietas yang berbeda. Secara keseluruhan, strategi ini memiliki struktur yang sederhana dan jelas yang mudah diterapkan dan merupakan strategi perdagangan pembalikan tren yang praktis.


/*backtest
start: 2022-10-19 00:00:00
end: 2023-10-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 25/12/2021
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This indicator plots 2/20 exponential moving average. For the Mov 
// Avg X 2/20 Indicator, the EMA bar will be painted when the Alert criteria is met.
//
// Second strategy
// This startegy based on 3-day pattern reversal described in "Are Three-Bar 
// Patterns Reliable For Stocks" article by Thomas Bulkowski, presented in 
// January,2000 issue of Stocks&Commodities magazine.
// That pattern conforms to the following rules:
// - It uses daily prices, not intraday or weekly prices;
// - The middle day of the three-day pattern has the lowest low of the three days, with no ties allowed;
// - The last day must have a close above the prior day's high, with no ties allowed;
// - Each day must have a nonzero trading range. 
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
EMA20(Length ) =>
    pos = 0.0
    xPrice = close
    xXA = ema(xPrice, Length)
    nHH = max(high, high[1])
    nLL = min(low, low[1])
    nXS = iff((nLL > xXA)or(nHH < xXA), nLL, nHH)
    pos := iff(nXS > close[1] , -1, iff(nXS < close[1] , 1, nz(pos[1], 0))) 
	pos

BarR()=>
    pos = 0.0
    pos :=	iff(open[2] > close[2] and high[1] < high[2] and low[1] < low[2] and low[0] > low[1] and high[0] > high[1], 1,
    	     iff(open[2] < close[2] and high[1] > high[2] and low[1] > low[2] and high[0] < high[1] and low[0] < low[1], -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo 2/20 EMA & 3 Day Pattern", shorttitle="Combo", overlay = true)
var I1  = "●═════ 2/20 EMA ═════●"
Length = input(14, minval=1, group = I1)
//var I2  = "●═════ 3-Bar-Reversal-Pattern ═════●"
var misc  = "●═════ MISC ═════●"
reverse = input(false, title="Trade reverse", group = misc)
var timePeriodHeader  = "●═════ Time Start ═════●"
d = input(1, title="From Day", minval=1, maxval=31, group=timePeriodHeader)
m = input(1, title="From Month", minval=1, maxval=12, group=timePeriodHeader)
y = input(2005, title="From Year", minval=0, group=timePeriodHeader)

StartTrade = true
prePos3Bar = BarR()

posEMA20 = EMA20(Length)
pos3BarR = security(syminfo.tickerid, "D", prePos3Bar[1], barmerge.gaps_off, barmerge.lookahead_on)
pos = iff(posEMA20 == 1 and pos3BarR == 1 and StartTrade , 1,
	   iff(posEMA20 == -1 and pos3BarR == -1 and StartTrade, -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