Strategi ini menggabungkan penunjuk momentum CMO dan penunjuk pembalikan Stochastic untuk membina model pelbagai faktor untuk menemui peluang perdagangan di pelbagai persekitaran pasaran.
Strategi ini terdiri daripada dua sub-strategi:
123 Strategi Pembalikan
Gunakan Stochastic 9 hari untuk mengenal pasti tahap overbought dan oversold
Pergi panjang jika harga penutupan meningkat selama 2 hari berturut-turut dan Stochastic di bawah 50
Pergi pendek jika harga penutupan jatuh selama 2 hari berturut-turut dan Stochastic melebihi 50
Strategi Nilai Absolut CMO
Mengira nilai mutlak CMO
CMO melebihi 70 menunjukkan overbought, pergi pendek
CMO di bawah 20 menunjukkan oversold, pergi panjang
Akhirnya, isyarat perdagangan dihasilkan apabila dua sub-strategi bersetuju.
Strategi ini menggunakan sepenuhnya kekuatan CMO penunjuk momentum dan Stochastic penunjuk pembalikan. CMO baik dalam mengenal pasti trend manakala Stochastic berguna untuk menangkap pembalikan jangka pendek. Gabungan ini membolehkan model untuk mendedahkan peluang merentasi fasa pasaran yang berbeza.
Strategi ini mempunyai kelebihan berikut:
Model pelbagai faktor menyesuaikan diri dengan persekitaran pasaran yang berbeza
CMO mempunyai keupayaan pengesanan trend yang kuat, Stochastic dengan tepat mencari titik pembalikan
Hanya berdagang apabila dua isyarat bersetuju untuk mengelakkan isyarat palsu dan meningkatkan keuntungan
Ruang penyesuaian parameter yang besar membolehkan pengoptimuman untuk produk dan jangka masa yang berbeza
Menggabungkan penunjuk jangka panjang dan jangka pendek menemui lebih banyak peluang
Peraturan mudah dan jelas, mudah difahami dan automatik, sesuai untuk dagangan algo
Strategi ini juga mempunyai risiko berikut:
Kemungkinan isyarat palsu dari sub-strategi wujud, parameter memerlukan pengoptimuman
Pembalikan trend tiba-tiba boleh membawa kepada kerugian besar
Kekerapan perdagangan yang tinggi, kos transaksi perlu dipertimbangkan
Keadaan ketinggalan penunjuk membawa kepada kelewatan
Penyesuaian parameter adalah mencabar untuk produk yang berbeza
Penyelesaian:
Mengoptimumkan parameter sub-strategi untuk mengurangkan isyarat palsu
Gunakan stop loss untuk mengehadkan kerugian setiap perdagangan
Penyesuaian peraturan kemasukan kepada kekerapan dagangan yang lebih rendah
Menggunakan data tanda untuk meminimumkan lag
Mempakai pembelajaran mesin untuk penyesuaian parameter automatik
Strategi ini boleh ditingkatkan dalam aspek berikut:
Memperkenalkan lebih banyak faktor seperti turun naik dan jumlah untuk model pelbagai faktor sistematik
Membina mekanisme pengoptimuman parameter dinamik yang disesuaikan dengan rejimen pasaran
Mengoptimumkan logik kemasukan menggunakan kebarangkalian dan penyelarasan eksponensial dll.
Lindungi kedudukan jangka panjang dengan perdagangan jangka pendek untuk mencapai sasaran berganda
Mengekstrak lebih banyak ciri dengan pembelajaran mendalam untuk membina peraturan perdagangan bukan linear
Meneroka model bebas parameter untuk mengelakkan bias manusia
Menggabungkan data frekuensi tinggi dan peristiwa berita untuk mengurangkan kelewatan
Strategi ini menggunakan penunjuk momentum CMO dan penunjuk pembalikan Stochastic untuk membina model pelbagai faktor untuk peluang dagangan di pasaran trend dan sampingan. Berbanding dengan model faktor tunggal, pendekatan pelbagai faktor menyesuaikan diri dengan lebih baik dengan persekitaran pasaran yang kompleks. Sementara itu, ruang penyesuaian parameter yang besar dan peraturan mudah menjadikannya mudah untuk mengoptimumkan dan mengotomatiskan, sesuai untuk pembangunan dagangan algo. Walau bagaimanapun, pengurusan risiko adalah penting, dan permintaan yang tinggi terhadap pemilihan parameter dan pengoptimuman model diperlukan. Secara keseluruhan, strategi gabungan pembalikan momentum menyediakan idea perdagangan sistematik yang layak dirujuk dan diterokai.
/*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 )