Strategi Kuantum CMO Penyongsangan Berganda


Tarikh penciptaan: 2024-01-04 14:35:23 Akhirnya diubah suai: 2024-01-04 14:35:23
Salin: 0 Bilangan klik: 557
1
fokus pada
1621
Pengikut

Strategi Kuantum CMO Penyongsangan Berganda

Gambaran keseluruhan

Strategi ini adalah strategi pembalikan berganda yang menggabungkan 123 penunjuk pembalikan dan penunjuk kuantum CMOWMA untuk mencapai pengesahan ganda isyarat pembalikan harga, dengan kesan visual K-line berwarna hijau merah.

Prinsip Strategi

Strategi ini terdiri daripada dua bahagian:

  1. 123 penunjuk kebalikan

    • Menggunakan hubungan harga penutupan dengan saiz harga penutupan semalam untuk menentukan kenaikan atau penurunan harga
    • Garis laju dan garis perlahan yang digunakan oleh penunjuk Stochastic untuk mengesahkan isyarat pembalikan
    • menghasilkan isyarat melakukan lebih atau kosong apabila memenuhi syarat
  2. Indeks kuantum CMOWMA

    • Mengukur pergerakan harga menggunakan CMO metrik
    • Purata bergerak bertimbangan WMA untuk CMO
    • Indeks CMO lebih tinggi daripada (<) WMA mereka lebih tinggi daripada (<) kosong

Kedua-dua bahagian isyarat masuk ke dalam kedudukan pada masa yang sama.

Kelebihan Strategik

  1. Mekanisme pengesahan dua kali, penyaringan monopoli dan pengurangan kedudukan tidak penting
  2. Garis K berwarna merah dan hijau, membentuk kesan visual, mudah menilai keadaan pasaran
  3. Keseluruhan kestabilan yang baik menggunakan gabungan penunjuk reversal dan momentum
  4. Tetapan parameter mudah, sesuai untuk pelbagai jenis, mudah dilaksanakan

Risiko Strategik

  1. Kemunculan semula mungkin berlaku, risiko tail end
  2. Posisi sering bertukar, menyebabkan kos dagangan yang berlebihan
  3. Tetapan parameter yang tidak betul boleh menyebabkan terlalu banyak atau terlalu sedikit isyarat
  4. Parameter CMO perlu disesuaikan dengan ciri-ciri varieti

Risiko boleh dikurangkan dengan cara yang sesuai untuk melonggarkan syarat-syarat pembalikan, meningkatkan masa pegangan, dan mengoptimumkan kombinasi parameter.

Pengoptimuman Strategi

  1. Boleh menguji kesan parameter Stochastic yang berbeza terhadap kesan
  2. Pengesahan alternatif atau tambahan yang boleh digabungkan dengan penunjuk lain seperti MACD, KDJ
  3. Boleh menguji pengoptimuman untuk parameter panjang CMO dan WMA yang berbeza
  4. Anda boleh cuba untuk menambah stop loss pada tahap tertentu.
  5. Anda boleh menetapkan syarat penapisan untuk mengawal frekuensi pembukaan

ringkaskan

Strategi ini secara keseluruhannya kukuh, parameternya mudah dan mudah dilaksanakan, dan digabungkan dengan indikator harga reversal dan momentum, membentuk mekanisme penapisan isyarat ganda yang berkesan, yang dapat menapis isyarat palsu, dan kesan pewarnaan K-line adalah mudah dilihat. Dengan pengoptimuman parameter dan kawalan risiko, prestasi strategi dapat ditingkatkan lagi.

Kod sumber strategi
/*backtest
start: 2023-12-04 00:00:00
end: 2024-01-03 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 19/08/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 Chandre Momentum Oscillator and its WMA on the 
//    same chart. This indicator plots the absolute value of CMO.
//    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

CMOWMA(Length, LengthWMA) =>
    pos = 0
    xMom = abs(close - close[1])
    xSMA_mom = sma(xMom, Length)
    xMomLength = close - close[Length]
    nRes = 100 * (xMomLength / (xSMA_mom * Length))
    xWMACMO = wma(nRes, LengthWMA)
    pos := iff(nRes > xWMACMO, 1,
    	   iff(nRes <= xWMACMO, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & CMO & WMA", 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(14, minval=1)
LengthWMA = input(13, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posCMOWMA = CMOWMA(LengthCMO, LengthWMA)
pos = iff(posReversal123 == 1 and posCMOWMA == 1 , 1,
	   iff(posReversal123 == -1 and posCMOWMA == -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 )