Strategi ini menggabungkan 123 pola pembalikan dan indikator MACD untuk menghasilkan sinyal perdagangan yang lebih kuat melalui penyaringan.
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.
Strategi MACD berjalan panjang ketika MA cepat berada di atas MA lambat, dan pendek ketika MA cepat berada di bawah MA lambat.
Perdagangan hanya dilakukan ketika kedua strategi setuju, jika tidak tidak ada tindakan yang diambil.
Keuntungan utama:
Sinyal kombo secara efektif menyaring kebocoran palsu, meningkatkan tingkat kemenangan.
123 menangkap pembalikan jangka pendek, MACD menilai arah tren jangka menengah dan panjang.
Stochastic dengan 123 menghindari over-trading setelah pembalikan tren.
Dua strategi berbagi tugas yang berbeda, saling memvalidasi, menghindari over-optimasi.
Mudah beralih antara panjang / pendek, dapat beradaptasi dengan berbagai lingkungan pasar.
Risiko utama:
Sinyal kombo mungkin terlalu konservatif, kehilangan peluang bagus.
Kembali adalah rentan terhadap peristiwa tiba-tiba, rentan terhadap kegagalan.
Kurangnya stop loss membuat strategi mengalami kerugian besar.
Penyaringan ganda dapat menyebabkan perdagangan tren yang hilang.
Kurangnya optimasi parameter, nilai default mungkin tidak sesuai dengan semua instrumen.
Peningkatan:
Uji kombinasi parameter yang berbeda untuk menemukan nilai optimal.
Tambahkan stop loss ke loss kontrol per perdagangan.
Masukkan indikator filter untuk meningkatkan kualitas sinyal.
Memperkenalkan model pembelajaran mesin untuk optimasi parameter otomatis.
Uji di lebih banyak instrumen perdagangan untuk mengevaluasi ketahanan.
Set parameter switch berdasarkan kondisi pasar.
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 )