Strategi ini adalah strategi kombinasi multi-faktor yang menggabungkan faktor pembalikan dan faktor momentum untuk menemukan peluang pembalikan di pasar. Strategi pertama menggunakan faktor pembalikan jangka panjang untuk mengidentifikasi peluang pembalikan setelah penurunan yang terikat kisaran, dan kemudian menggunakan indikator momentum untuk skrining sekunder untuk menyaring sinyal pembalikan palsu di bawah tren utama, sehingga mengunci peluang reversal arbitrage jangka pendek.
Strategi ini terdiri dari dua bagian:
123 Faktor pembalikan
Bagian ini menggunakan gagasan pembalikan intraday untuk menentukan hubungan antara harga penutupan hari sebelumnya dan harga penutupan 2 hari yang lalu untuk mengidentifikasi peluang pembalikan dengan garis K yang lambat.
Sinyal beli: Setelah dua hari berturut-turut penurunan harga penutupan, jika harga penutupan naik pada hari saat ini, dan garis K lambat 9 hari di bawah 50, sinyal beli dihasilkan;
Sinyal jual: Setelah dua hari berturut-turut kenaikan harga penutupan, jika harga penutupan turun pada hari saat ini, dan garis K cepat 9 hari lebih tinggi dari 50, sinyal jual dihasilkan.
Ehlers Dynamic Momentum Oscillator (ETSI)
Bagian ini menggunakan metode tiga EMA smoothing price momentum untuk membangun indikator momentum.
xPrice1 = close - close[1]
xPrice2 = abs(close - close[1])
xSMA_R = EMA(EMA(EMA(xPrice1,r), s), u)
xSMA_aR = EMA(EMA(EMA(xPrice2, r), s), u)
xTSI = xSMA_R / xSMA_aR * 100
xEMA_TSI = EMA(xTSI, N)
Di mana xSMA_R adalah nilai EMA rata momentum harga, xSMA_aR adalah nilai EMA rata volatilitas harga, xTSI adalah indikator momentum yang dibangun dari rasio keduanya, dan xEMA_TSI adalah penyelarasan EMA sekunder dari xTSI. Indikator menentukan arah sinyal perdagangan berdasarkan hubungan antara xTSI dan xEMA_TSI.
Akhirnya, strategi ANDs sinyal dari kedua bagian, dan hanya mengeluarkan pesanan perdagangan yang sebenarnya ketika sinyal dari kedua faktor setuju.
Keuntungan terbesar dari strategi ini terletak pada desain multi-faktornya, yang dapat menyaring sinyal palsu dan menemukan peluang perdagangan berkualitas tinggi.
Faktor pembalikan 123 dapat mengidentifikasi titik rebound jangka pendek setelah penurunan yang terbatas pada kisaran.
Indikator momentum Ehlers dapat secara efektif menentukan arah tren utama untuk menghindari sinyal pembalikan yang terjadi di bawah tren utama, sehingga menyaring sinyal palsu.
Operasi AND pada dua bagian sinyal dapat meningkatkan kualitas sinyal dan meningkatkan stabilitas strategi.
Meskipun strategi mengadopsi desain multi-faktor untuk mengendalikan risiko, masih ada risiko utama berikut:
Sinyal pembalikan dapat terjadi dalam tren osilasi dan gagal menghasilkan keuntungan.
Ada subjektivitas dalam pengaturan parameter antara kedua faktor, yang mungkin terlalu cocok dengan produk tertentu.
Risiko peningkatan kerugian setelah pembalikan harga kembali membalik.
Risiko ini dapat dikurangi dengan mengoptimalkan parameter untuk beradaptasi dengan lebih banyak varietas, mengontrol posisi pasca pembalikan, pemantauan perubahan hubungan indikator secara real-time, dan cara lainnya.
Aspek utama untuk mengoptimalkan strategi ini meliputi:
Menyesuaikan parameter dari dua faktor untuk menemukan sampel data yang lebih cocok.
Meningkatkan strategi stop loss untuk mengendalikan kerugian tunggal.
Menggunakan kombinasi parameter yang berbeda untuk varietas tren dan osilasi.
Meningkatkan mekanisme pembobotan faktor untuk memberikan faktor kinerja yang lebih baik bobot yang lebih besar.
Meningkatkan algoritma pembelajaran mesin untuk mencapai optimasi otomatis dan pembaruan parameter.
Strategi ini berhasil menggabungkan faktor pembalikan dan indikator momentum untuk mencapai desain yang dioptimalkan multi-faktor. Ini dapat secara efektif mengidentifikasi peluang pembalikan jangka pendek dan menggunakan indikator momentum untuk melakukan verifikasi sekunder sinyal, sehingga meningkatkan tingkat kemenangan strategi. Meskipun masih ada ruang untuk perbaikan dalam strategi, gagasan utamanya memberikan referensi yang baik untuk desain strategi kuantitatif.
/*backtest start: 2023-10-21 00:00:00 end: 2023-11-20 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 30/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 // r - Length of first EMA smoothing of 1 day momentum 4 // s - Length of second EMA smoothing of 1 day smoothing 8 // u- Length of third EMA smoothing of 1 day momentum 6 // Length of EMA signal line 3 // Source of Ergotic TSI Close // // 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. // // 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 ETSI(r,s,u,SmthLen) => pos = 0 xPrice = close xPrice1 = xPrice - xPrice[1] xPrice2 = abs(xPrice - xPrice[1]) xSMA_R = ema(ema(ema(xPrice1,r), s),u) xSMA_aR = ema(ema(ema(xPrice2, r), s),u) Val1 = 100 * xSMA_R Val2 = xSMA_aR xTSI = iff (Val2 != 0, Val1 / Val2, 0) xEMA_TSI = ema(xTSI, SmthLen) pos:= iff(xTSI > xEMA_TSI, 1, iff(xTSI < xEMA_TSI, -1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal & Ergodic TSI", 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(4, minval=1) s = input(8, minval=1) u = input(6, minval=1) SmthLen = input(3, minval=1) reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) posETSI = ETSI(r,s,u,SmthLen) pos = iff(posReversal123 == 1 and posETSI == 1 , 1, iff(posReversal123 == -1 and posETSI == -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 )