Strategi ini direka berdasarkan dua indikator EMA dan AC percepatan pengayun. Penunjuk EMA ganda digunakan untuk menentukan arah trend harga, manakala penunjuk AC digunakan untuk mengesahkan isyarat trend untuk kesan penapisan. Strategi ini menggabungkan kedua-dua trend berikut dan fungsi penapisan isyarat untuk meningkatkan kualiti isyarat dan keuntungan dari trend.
Strategi ini terdiri daripada dua modul:
Modul EMA Berganda
Membina penunjuk EMA berganda menggunakan EMA 2 hari dan EMA 20 hari. Isyarat beli dihasilkan apabila harga melintasi EMA 2 hari. Isyarat jual dihasilkan apabila harga melintasi EMA 20 hari.
Modul ini menentukan arah trend jangka pendek dan jangka menengah untuk trend asas berikut.
Modul AC
Menggunakan nilai positif dan negatif pengayun percepatan AC untuk mengesahkan isyarat trend. Isyarat perdagangan hanya dihasilkan apabila dua indikator EMA dan AC bersetuju dengan arah.
Modul ini menapis isyarat palsu dan meningkatkan kebolehpercayaan.
Ringkasnya, strategi ini mengintegrasikan EMA berganda untuk mengesan trend utama dan penunjuk AC untuk menapis pecah palsu, membentuk trend sistematik mengikut metodologi.
Kelebihan strategi ini ialah:
Dual EMA mengesan trend jangka menengah dan panjang manakala AC menapis kebisingan jangka pendek, kesan combo yang hebat.
Kesan penapisan yang sangat baik untuk mengelakkan menjual selepas keuntungan panjang atau membeli selepas keuntungan pendek.
Penyesuaian parameter yang fleksibel yang dapat disesuaikan dengan produk dan persekitaran pasaran yang berbeza.
Logik strategi yang jelas, mudah difahami, dioptimumkan dan ditingkatkan.
Trend yang baik mengikuti potensi keuntungan untuk produk trend.
Terdapat beberapa risiko dalam strategi ini:
Tetapan parameter EMA berganda yang tidak betul boleh terlepas daripada trend yang lebih pendek atau menghasilkan dagangan yang berlebihan.
Tetapan parameter AC yang tidak betul boleh menapis isyarat yang sah tetapi lemah atau gagal menapis bunyi yang mencukupi.
Tidak dapat menyesuaikan diri dengan pasaran yang berubah dengan pantas, seperti kemalangan yang tajam.
Keuntungan yang tidak mencukupi di pasaran yang berbeza, harus digunakan sebagai strategi trend berikut.
Strategi ini boleh dioptimumkan dalam aspek berikut:
Uji lebih banyak kombinasi parameter untuk mencari parameter optimum yang sesuai dengan ciri produk yang berbeza.
Tambah modul stop loss untuk keluar pada kerugian yang terlalu besar.
Menapis isyarat dengan lebih banyak penunjuk.
Membangunkan strategi gabungan jangka panjang-pendek untuk mengesan trend jangka menengah dan panjang, menggunakan perdagangan jangka pendek untuk mengurangkan atau menambah kedudukan di sepanjang trend.
Idea menggabungkan dua EMA untuk trend dan AC untuk penapisan bunyi bising adalah bernilai belajar. Strategi ini mempunyai isyarat berkualiti dan kebolehpercayaan, sesuai untuk mengesan produk trend. Dengan penyesuaian parameter yang betul, keuntungan yang besar dapat dicapai dengan menunggang trend menggunakan strategi ini.
/*backtest start: 2023-01-08 00:00:00 end: 2024-01-14 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 19/01/2022 // 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 // The Accelerator Oscillator has been developed by Bill Williams // as the development of the Awesome Oscillator. It represents the // difference between the Awesome Oscillator and the 5-period moving // average, and as such it shows the speed of change of the Awesome // Oscillator, which can be useful to find trend reversals before the // Awesome Oscillator does. // // WARNING: // - For purpose educate only // - This script to change bars colors. //////////////////////////////////////////////////////////// EMA20(Length) => pos = 0.0 xPrice = close xXA = ta.ema(xPrice, Length) nHH = math.max(high, high[1]) nLL = math.min(low, low[1]) nXS = nLL > xXA or nHH < xXA ? nLL : nHH iff_1 = nXS < close[1] ? 1 : nz(pos[1], 0) pos := nXS > close[1] ? -1 : iff_1 pos AC(nLengthSlow,nLengthFast) => pos = 0.0 xSMA1_hl2 = ta.sma(hl2, nLengthFast) xSMA2_hl2 = ta.sma(hl2, nLengthSlow) xSMA1_SMA2 = xSMA1_hl2 - xSMA2_hl2 xSMA_hl2 = ta.sma(xSMA1_SMA2, nLengthFast) nRes = xSMA1_SMA2 - xSMA_hl2 cClr = nRes > nRes[1] ? color.blue : color.red iff_1 = nRes > 0 ? 1 : nz(pos[1], 0) pos := nRes < 0 ? -1 : iff_1 pos strategy(title='Combo 2/20 EMA & Accelerator Oscillator (AC)', shorttitle='Combo', overlay=true) var I1 = '●═════ 2/20 EMA ═════●' Length = input.int(14, minval=1, group=I1) var I2 = '●═════ Accelerator Oscillator ═════●' nLengthSlow = input(33, title="Length Slow", group=I2) nLengthFast = input(6, title="Length Fast", group=I2) var misc = '●═════ MISC ═════●' reverse = input.bool(false, title='Trade reverse', group=misc) var timePeriodHeader = '●═════ Time Start ═════●' d = input.int(1, title='From Day', minval=1, maxval=31, group=timePeriodHeader) m = input.int(1, title='From Month', minval=1, maxval=12, group=timePeriodHeader) y = input.int(2005, title='From Year', minval=0, group=timePeriodHeader) StartTrade = time > timestamp(y, m, d, 00, 00) ? true : false posEMA20 = EMA20(Length) prePosAC = AC(nLengthSlow,nLengthFast) iff_1 = posEMA20 == -1 and prePosAC == -1 and StartTrade ? -1 : 0 pos = posEMA20 == 1 and prePosAC == 1 and StartTrade ? 1 : iff_1 iff_2 = reverse and pos == -1 ? 1 : pos possig = reverse and pos == 1 ? -1 : iff_2 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)