Strategi Perdagangan Purata Pergerakan Dwi Berdasarkan CMO dan WMA


Tarikh penciptaan: 2024-01-25 17:44:49 Akhirnya diubah suai: 2024-01-25 17:44:49
Salin: 0 Bilangan klik: 583
1
fokus pada
1617
Pengikut

Strategi Perdagangan Purata Pergerakan Dwi Berdasarkan CMO dan WMA

Gambaran keseluruhan

Strategi ini adalah strategi perdagangan dua hala yang sama berdasarkan indikator pergerakan harga Chandra Moving Average (CMO) dan rata-rata bergerak bertimbangan (WMA). Ia Attempts to identify trend reversals and continuation Using CMO crossover Ia WMA.

Prinsip Strategi

Strategi ini mula-mula mengira CMO, yang merupakan pengukur pergerakan harga dalam talian. Nilai positif menunjukkan momentum naik, nilai negatif menunjukkan momentum turun. Kemudian mengira WMA CMO.

Langkah-langkah penting untuk mengira CMO ialah:

  1. Hitung perubahan harga harian (xMom)
  2. SMA n hari untuk perubahan harga, sebagai momentum harga sebenar titanium ((xSMA_mom)
  3. Hitung perubahan harga bersih dalam n hari (xMomLength)
  4. Untuk menstandardkan perubahan harga bersih (nRes), anda perlu membahagikan dengan SMA
  5. Untuk standardisasi perubahan harga bersih, minta m hari WMA, dan dapatkan CMO ((xWMACMO)

Kelebihan strategi ini adalah untuk menangkap titik-titik perubahan trend harga pertengahan. Ukuran mutlak CMO mencerminkan kekuatan trend harga berjalan, WMA adalah baik untuk penembusan palsu gelombang.

Analisis kelebihan

Kelebihan utama strategi ini ialah menggunakan nilai mutlak CMO untuk menilai sentimen orang ramai di pasaran, dan WMA filter untuk mengenal pasti titik perubahan trend pertengahan. Strategi ini lebih baik untuk menangkap trend pertengahan yang mempunyai ruang yang lebih besar untuk fleksibiliti berbanding dengan strategi purata bergerak tunggal.

CMO menstandardkan perubahan harga, memetakan ia ke dalam julat 100 hingga 100 untuk menilai sentimen orang ramai di pasaran; saiz mutlak mewakili kekuatan trend semasa. WMA melakukan pelepasan tambahan terhadap CMO untuk mengelakkan terlalu banyak isyarat palsu.

Analisis risiko

Risiko utama yang mungkin ada dalam strategi ini ialah:

  1. Parameter CMO dan WMA yang tidak betul menyebabkan terlalu banyak isyarat palsu
  2. Tidak dapat menangani pasaran tren yang bergolak dengan berkesan, akan menghasilkan frekuensi perdagangan yang terlalu tinggi dan kos slippage
  3. Tidak dapat mengenal pasti trend jangka panjang yang sebenar, dan mungkin ada risiko kerugian dalam memegang kedudukan jangka panjang

Kaedah untuk mengoptimumkan:

  1. Menyesuaikan parameter CMO dan WMA untuk mencari kombinasi parameter optimum
  2. Menambah syarat penapis tambahan, seperti penunjuk tenaga jumlah dagangan, untuk mengelakkan dagangan dalam keadaan goyah
  3. Menggabungkan indikator dengan tempoh yang lebih lama, seperti garis 90 hari, untuk mengelakkan kehilangan peluang dalam trend garis panjang

Arah pengoptimuman

Arah pengoptimuman strategi ini adalah tertumpu kepada pengoptimuman parameter, penapisan isyarat dan penghentian kerugian:

  1. Pengoptimuman parameter CMO dan WMA: mencari kombinasi parameter yang optimum melalui perjalanan

  2. Penapisan isyarat untuk mengelakkan penembusan palsu yang digabungkan dengan petunjuk tambahan seperti jumlah dagangan, penunjuk kekuatan dan kelemahan

  3. Menambah mekanisme hentian dinamik, hentikan pengeluaran apabila harga jatuh ke bawah CMO dan WMA

  4. Breakout Failure Mode boleh dianggap sebagai isyarat masuk, iaitu CMO dan WMA yang mula menembusi titik kritikal, tetapi segera jatuh kembali

  5. Anda boleh menggunakan indikator kitaran garis panjang untuk menilai trend besar dan mengelakkan dagangan berlawanan

ringkaskan

Strategi ini secara keseluruhan menggunakan indikator CMO untuk menilai kekuatan trend dan titik perubahan, digabungkan dengan WMA untuk menghasilkan isyarat perdagangan gelombang riak, dan merupakan sistem dua garis rata yang tipikal. Berbanding dengan strategi MA tunggal, ia mempunyai kelebihan untuk menangkap trend pertengahan yang lebih kuat. Tetapi terdapat ruang untuk pengoptimuman dalam pengaturan parameter dan riak, mengawal frekuensi perdagangan dengan betul dan memperkenalkan stop loss dinamik, yang dapat meningkatkan kestabilan sistem lebih lanjut.

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

//@version=3
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 18/10/2018
//    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.
////////////////////////////////////////////////////////////
strategy(title="CMO & WMA Backtest ver 2.0", shorttitle="CMO & WMA")
Length = input(9, minval=1)
LengthWMA = input(9, minval=1)
BuyZone = input(60, step = 0.01)
SellZone = input(-60, step = 0.01)
reverse = input(false, title="Trade reverse")
hline(BuyZone, color=green, linestyle=line)
hline(SellZone, color=red, linestyle=line)
hline(0, color=gray, linestyle=line)
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 = 0.0
pos := iff(xWMACMO > BuyZone, 1,
	   iff(xWMACMO < SellZone, -1, nz(pos[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)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue ) 
plot(nRes, color=blue, title="CMO")
plot(xWMACMO, color=red, title="WMA")