Strategi ini menggabungkan indikator momentum CMO dan indikator pembalikan Stochastic untuk membangun model multi-faktor untuk menemukan peluang perdagangan di lingkungan pasar yang berbeda.
Strategi ini terdiri dari dua sub-strategi:
123 Strategi Pembalikan
Gunakan Stochastic 9 hari untuk mengidentifikasi tingkat overbought dan oversold
Pergi panjang jika harga penutupan naik selama 2 hari berturut-turut dan Stochastic di bawah 50
Pergi pendek jika harga penutupan turun selama 2 hari berturut-turut dan Stochastic di atas 50
Strategi Nilai Absolute CMO
Menghitung nilai absolut dari CMO
CMO di atas 70 menunjukkan overbought, pergi pendek
CMO di bawah 20 menunjukkan oversold, pergi panjang
Akhirnya, sinyal perdagangan dihasilkan ketika dua sub-strategi setuju.
Strategi ini memanfaatkan sepenuhnya kekuatan indikator momentum CMO dan indikator pembalikan Stochastic. CMO baik dalam mengidentifikasi tren sementara Stochastic berguna untuk menangkap pembalikan jangka pendek. Kombinasi ini memungkinkan model untuk mengungkap peluang di berbagai fase pasar.
Strategi ini memiliki keuntungan berikut:
Model multi-faktor beradaptasi dengan lingkungan pasar yang berbeda
CMO memiliki kemampuan deteksi tren yang kuat, Stochastic secara akurat menemukan titik pembalikan
Hanya perdagangan ketika dua sinyal setuju untuk menghindari sinyal palsu dan meningkatkan profitabilitas
Ruang penyesuaian parameter yang besar memungkinkan optimasi untuk produk dan kerangka waktu yang berbeda
Menggabungkan indikator jangka panjang dan jangka pendek menemukan lebih banyak peluang
Aturan sederhana dan jelas, mudah dimengerti dan otomatis, cocok untuk perdagangan algo
Strategi ini juga memiliki risiko berikut:
Probabilitas sinyal palsu dari sub-strategi ada, parameter perlu dioptimalkan
Perubahan tren tiba-tiba dapat menyebabkan kerugian besar
Frekuensi perdagangan yang tinggi, biaya transaksi perlu dipertimbangkan
Sifat keterlambatan indikator menyebabkan penundaan
Pengaturan parameter menantang untuk produk yang berbeda
Solusi:
Mengoptimalkan parameter sub-strategi untuk mengurangi sinyal palsu
Menggunakan stop loss untuk membatasi kerugian per perdagangan
Tune aturan masuk ke frekuensi perdagangan yang lebih rendah
Menggunakan data tick untuk meminimalkan lag
Menerapkan pembelajaran mesin untuk pengaturan parameter otomatis
Strategi ini dapat ditingkatkan dalam hal berikut:
Memperkenalkan lebih banyak faktor seperti volatilitas dan volume untuk model multi-faktor sistematis
Membangun mekanisme optimasi parameter dinamis yang beradaptasi dengan rezim pasar
Mengoptimalkan logika entri menggunakan probabilitas dan penyelarasan eksponensial dll.
Hedge posisi jangka panjang dengan perdagangan jangka pendek untuk mencapai target ganda
Ekstrak lebih banyak fitur dengan pembelajaran mendalam untuk membangun aturan perdagangan non-linear
Jelajahi model bebas parameter untuk menghindari bias manusia
Mengintegrasikan data frekuensi tinggi dan acara berita untuk mengurangi keterlambatan
Strategi ini menggunakan indikator momentum CMO dan indikator pembalikan Stochastic untuk membangun model multi-faktor untuk peluang perdagangan di pasar tren dan samping. Dibandingkan dengan model faktor tunggal, pendekatan multi-faktor lebih beradaptasi dengan lingkungan pasar yang kompleks. Sementara itu, ruang penyesuaian parameter yang besar dan aturan sederhana membuatnya mudah dioptimalkan dan otomatis, cocok untuk pengembangan perdagangan algo. Namun, manajemen risiko sangat penting, dan permintaan tinggi pada seleksi parameter dan optimasi model diperlukan. Secara keseluruhan, strategi kombo pembalikan momentum memberikan ide perdagangan sistematis yang layak untuk referensi dan eksplorasi.
/*backtest start: 2023-09-22 00:00:00 end: 2023-10-22 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 17/09/2019 // 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 the absolute value of CMO. CMO was developed by Tushar // Chande. A scientist, an inventor, and a respected trading system developer, // Mr. Chande developed the CMO to capture what he calls "pure momentum". For // more definitive information on the CMO and other indicators we recommend the // book The New Technical Trader by Tushar Chande and Stanley Kroll. // The CMO is closely related to, yet unique from, other momentum oriented indicators // such as Relative Strength Index, Stochastic, Rate-of-Change, etc. It is most closely // related to Welles Wilder`s RSI, yet it differs in several ways: // - It uses data for both up days and down days in the numerator, thereby directly // measuring momentum; // - The calculations are applied on unsmoothed data. Therefore, short-term extreme // movements in price are not hidden. Once calculated, smoothing can be applied to // the CMO, if desired; // - The scale is bounded between +100 and -100, thereby allowing you to clearly see // changes in net momentum using the 0 level. The bounded scale also allows you to // conveniently compare values across different securities. // // 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 CMOabs(Length, TopBand, LowBand) => pos = 0 xMom = abs(close - close[1]) xSMA_mom = sma(xMom, Length) xMomLength = close - close[Length] nRes = abs(100 * (xMomLength / (xSMA_mom * Length))) pos := iff(nRes > TopBand, -1, iff(nRes < LowBand, 1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal & CMOabs", shorttitle="Combo", overlay = true) Length = input(14, minval=1) KSmoothing = input(1, minval=1) DLength = input(3, minval=1) Level = input(50, minval=1) //------------------------- LengthCMO = input(9, minval=1) TopBand = input(70, minval=1) LowBand = input(20, maxval=0) reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) posCMOabs = CMOabs(LengthCMO, TopBand, LowBand) pos = iff(posReversal123 == 1 and posCMOabs == 1 , 1, iff(posReversal123 == -1 and posCMOabs == -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 )