Strategi perdagangan kombinasi berdasarkan 123 Reversal dan MACD

Penulis:ChaoZhang, Tanggal: 2023-09-19 17:17:30
Tag:

Gambaran umum

Strategi ini menggabungkan 123 pola pembalikan dan indikator MACD untuk menghasilkan sinyal perdagangan yang lebih kuat melalui penyaringan.

Logika Strategi

  1. 123 strategi pembalikan membeli ketika dua hari terakhir adalah hari turun dan hari ini tutup adalah atas, dengan Stochastic di bawah ambang; menjual ketika dua hari terakhir adalah hari naik dan hari ini turun, dengan Stochastic di atas ambang.

  2. Strategi MACD berjalan panjang ketika MA cepat berada di atas MA lambat, dan pendek ketika MA cepat berada di bawah MA lambat.

  3. Perdagangan hanya dilakukan ketika kedua strategi setuju, jika tidak tidak ada tindakan yang diambil.

Analisis Keuntungan

Keuntungan utama:

  1. Sinyal kombo secara efektif menyaring kebocoran palsu, meningkatkan tingkat kemenangan.

  2. 123 menangkap pembalikan jangka pendek, MACD menilai arah tren jangka menengah dan panjang.

  3. Stochastic dengan 123 menghindari over-trading setelah pembalikan tren.

  4. Dua strategi berbagi tugas yang berbeda, saling memvalidasi, menghindari over-optimasi.

  5. Mudah beralih antara panjang / pendek, dapat beradaptasi dengan berbagai lingkungan pasar.

Analisis Risiko

Risiko utama:

  1. Sinyal kombo mungkin terlalu konservatif, kehilangan peluang bagus.

  2. Kembali adalah rentan terhadap peristiwa tiba-tiba, rentan terhadap kegagalan.

  3. Kurangnya stop loss membuat strategi mengalami kerugian besar.

  4. Penyaringan ganda dapat menyebabkan perdagangan tren yang hilang.

  5. Kurangnya optimasi parameter, nilai default mungkin tidak sesuai dengan semua instrumen.

Arahan Optimasi

Peningkatan:

  1. Uji kombinasi parameter yang berbeda untuk menemukan nilai optimal.

  2. Tambahkan stop loss ke loss kontrol per perdagangan.

  3. Masukkan indikator filter untuk meningkatkan kualitas sinyal.

  4. Memperkenalkan model pembelajaran mesin untuk optimasi parameter otomatis.

  5. Uji di lebih banyak instrumen perdagangan untuk mengevaluasi ketahanan.

  6. Set parameter switch berdasarkan kondisi pasar.

Ringkasan

Secara keseluruhan, menggabungkan sinyal ganda menghindari terlalu banyak optimasi dibandingkan dengan strategi tunggal.


/*backtest
start: 2023-09-11 00:00:00
end: 2023-09-14 02:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 24/07/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 is one of the techniques described by William Blau in his book
// "Momentum, Direction and Divergence" (1995). If you like to learn more,
// we advise you to read this book. His book focuses on three key aspects
// of trading: momentum, direction and divergence. Blau, who was an electrical
// engineer before becoming a trader, thoroughly examines the relationship 
// between price and momentum in step-by-step examples. From this grounding,
// he then looks at the deficiencies in other oscillators and introduces some
// innovative techniques, including a fresh twist on Stochastics. On directional 
// issues, he analyzes the intricacies of ADX and offers a unique approach to help 
// define trending and non-trending periods.
// Blau`s indicator is like usual MACD, but it plots opposite of meaningof
// stndard MACD indicator.  
//
// 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

fADX(Len) =>
    up = change(high)
    down = -change(low)
    trur = rma(tr, Len)
    plus = fixnan(100 * rma(up > down and up > 0 ? up : 0, Len) / trur)
    minus = fixnan(100 * rma(down > up and down > 0 ? down : 0, Len) / trur)
    sum = plus + minus 
    100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), Len)

EMACD(r,SmthLen,LengthMACD) =>
    pos = 0
    source = close
    fastMA = ema(source, r)
    slowMA = ema(source, LengthMACD)
    xmacd = fastMA - slowMA
    xMA_MACD = ema(xmacd, SmthLen)
    pos := iff(xmacd < xMA_MACD, -1,
    	     iff(xmacd > xMA_MACD, 1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Ergodic MACD", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
r = input(14, minval=1)
LengthMACD = input(21, minval=1)
SmthLen = input(5, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posEMACD = EMACD(r,SmthLen,LengthMACD)
pos = iff(posReversal123 == 1 and posEMACD == 1 , 1,
	   iff(posReversal123 == -1 and posEMACD == -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