Strategi pembalikan purata bergerak berganda adalah strategi perdagangan yang menggabungkan prinsip pembalikan purata dan purata bergerak. Ia mula-mula menghasilkan isyarat perdagangan pembalikan menggunakan metodologi pembalikan 123, dan kemudian menapis isyarat dengan purata bergerak eksponensial 2/20, hanya mengambil dagangan apabila isyarat dari kedua-dua sepadan untuk meningkatkan ketahanan. Strategi ini bertujuan untuk menangkap peluang pembalikan jangka pendek sambil menggunakan penapis trend jangka panjang untuk mengenal pasti persediaan kebarangkalian tinggi.
Strategi ini terdiri daripada dua bahagian:
Strategi pembalikan 123 berasal dari buku
Strategi ini menggunakan 2/20 EMA untuk menentukan trend jangka panjang. Apabila harga berada di atas garis 2/20 EMA, ia menandakan trend menaik. Apabila harga berada di bawah garis 2/20 EMA, ia menandakan downtrend. Ini menapis keluar pecah palsu.
Strategi ini hanya menghasilkan isyarat perdagangan apabila isyarat pembalikan 123 sejajar dengan isyarat EMA 2/20.
Strategi ini mempunyai kelebihan berikut kerana menggabungkan pembalikan jangka pendek dan trend jangka panjang:
Sasaran pembalikan 123 adalah senario overbought dan oversold di mana turun naik harga yang ketara sering berlaku, yang membolehkan sasaran keuntungan yang lebih besar.
Strategi pembalikan murni mudah terdedah kepada pasaran yang sedang berkembang. Penapis 2/20 EMA menghilangkan isyarat terhadap trend, mencegah perdagangan yang buruk semasa penipuan.
Satu penunjuk sering menghasilkan isyarat yang salah. menggabungkan dua penunjuk pelengkap meningkatkan kebolehpercayaan dan hasil risiko-balasan dengan ketara.
Fungsi yang jelas dari setiap komponen menjadikan logik intuitif untuk memahami, mengoptimumkan, dan menyesuaikan diri dengan persekitaran pasaran yang berubah.
Walaupun terdapat kelebihan, beberapa risiko perlu dipertimbangkan:
Prestasi masa lalu tidak menjamin hasil masa depan.
2/20 EMA tidak dapat sepenuhnya menapis pasaran trend yang kuat.
Prestasi sangat sensitif kepada tetapan parameter yang mesti dioptimumkan dengan kukuh melalui pengujian belakang yang luas dan disesuaikan dengan pasaran yang berubah.
Hasil jangka pendek yang baik tidak menjamin prestasi yang berkekalan. Pasaran sangat stokastik dan hasil jangka panjang memerlukan pengesahan yang kukuh di pelbagai persekitaran.
Risiko ini boleh diuruskan melalui penyesuaian parameter, hentian kerugian, kawalan risiko dan lain-lain. Lebih banyak keadaan seperti jumlah, penunjuk turun naik dapat meningkatkan ketahanan. Teknik pembelajaran mesin juga dapat membolehkan pengoptimuman dinamik.
Beberapa cara untuk mengoptimumkan lagi strategi:
Uji set parameter yang berbeza untuk mencari corak pembalikan yang lebih stabil dan ketara untuk isyarat berkualiti tinggi.
Bereksperimen dengan parameter MA yang berbeza atau menggabungkan beberapa pemeriksaan MA untuk penilaian trend yang lebih tepat.
Volume, volatiliti dan penapis lain boleh dimasukkan untuk mengurangkan isyarat palsu dan meningkatkan kestabilan.
Teknik pembelajaran mesin pada set data bersejarah yang besar dapat membolehkan penyesuaian parameter yang dinamik dan kukuh.
Peraturan stop loss pintar membantu mengawal pengeluaran maksimum dan pendedahan risiko.
Saiz kedudukan yang lebih baik dan peruntukan modal boleh meningkatkan prestasi keseluruhan.
Pembalikan purata bergerak berganda adalah strategi perdagangan jangka pendek yang mudah namun praktikal. Dengan menggabungkan pembalikan purata dan konsep mengikuti trend, ia bertujuan untuk mendapat keuntungan daripada pembalikan harga kebarangkalian tinggi sambil mengelakkan pecah palsu. Logik yang jelas menjadikannya intuitif untuk difahami, dioptimumkan dan digunakan.
/*backtest start: 2023-09-18 00:00:00 end: 2023-09-25 00:00:00 period: 15m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 06/08/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 // 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. // // 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 EMA220(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(close > xXA and close > nXS , 1, iff(close < xXA and close < nXS, -1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal & 2/20 Exponential MA", 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, "---- 2/20 Exponential MA ----") LengthMA = input(20, minval=1) reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) posEMA220 = EMA220(LengthMA) pos = iff(posReversal123 == 1 and posEMA220 == 1 , 1, iff(posReversal123 == -1 and posEMA220 == -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 )