
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.
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:
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.
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.
Risiko utama yang mungkin ada dalam strategi ini ialah:
Kaedah untuk mengoptimumkan:
Arah pengoptimuman strategi ini adalah tertumpu kepada pengoptimuman parameter, penapisan isyarat dan penghentian kerugian:
Pengoptimuman parameter CMO dan WMA: mencari kombinasi parameter yang optimum melalui perjalanan
Penapisan isyarat untuk mengelakkan penembusan palsu yang digabungkan dengan petunjuk tambahan seperti jumlah dagangan, penunjuk kekuatan dan kelemahan
Menambah mekanisme hentian dinamik, hentikan pengeluaran apabila harga jatuh ke bawah CMO dan WMA
Breakout Failure Mode boleh dianggap sebagai isyarat masuk, iaitu CMO dan WMA yang mula menembusi titik kritikal, tetapi segera jatuh kembali
Anda boleh menggunakan indikator kitaran garis panjang untuk menilai trend besar dan mengelakkan dagangan berlawanan
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.
/*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")