Ini adalah strategi perdagangan purata bergerak yang dibina menggunakan teknologi penapisan dinamik. Ia menapis turun naik harga kecil dengan menetapkan had perubahan harga, dan hanya memilih untuk mengambil bahagian dalam pengiraan perubahan harga besar, yang meningkatkan kestabilan strategi.
Tanda-tanda utama strategi ini adalah indikator pergerakan Cande yang disaring oleh momentum. Tanda-tanda pergerakan Cande adalah salah satu jenis indikator dinamik yang menilai momentum kosong dengan mengira jumlah mutlak hari kosong dan perbandingan antara nilai kenaikan dan penurunan harga. Strategi ini telah diperbaiki dengan memasang penapis parameter minimum perubahan harga, yang hanya akan dimasukkan ke dalam pengiraan CMO apabila perubahan harga melebihi had ini.
Pada asas pengiraan penunjuk, ia menetapkan TopBand upline dan LowBand downline, yang menghasilkan isyarat perdagangan apabila penunjuk melebihi kedua-dua garis tersebut. Akhirnya, parameter input terbalik dapat membalikkan isyarat asal dan melakukan operasi terbalik.
Ini adalah strategi pengesanan trend yang sangat stabil dan boleh dipercayai, kerana menggunakan teknologi penapisan momentum, ia dapat menapis bunyi pasaran dengan berkesan, dan mencegahnya daripada diperdagangkan. Terdapat banyak ruang untuk mengoptimumkan parameter strategi, dan indikator strategi dapat dioptimumkan dengan menyesuaikan parameter seperti Filter, TopBand, dan LowBand.
Strategi ini adalah berdasarkan trend-tracking, jadi ia mudah menyebabkan isyarat yang salah dan kerugian dalam pasaran yang disusun. Di samping itu, pengoptimuman parameter yang tidak betul juga boleh menyebabkan frekuensi perdagangan yang terlalu tinggi atau isyarat yang tidak stabil.
Untuk mengurangkan risiko ini, parameter harus dioptimumkan dengan munasabah untuk menjadikan isyarat lebih stabil dan boleh dipercayai; Elakkan menggunakan strategi ini semasa membetulkan pasaran, pilih alat strategi yang lebih sesuai; Berhati-hati menggunakan fungsi perdagangan terbalik, dan elakkan menghidupkan jika pengoptimuman parameter tidak baik.
Strategi ini boleh dioptimumkan dalam beberapa arah:
Mengoptimumkan nilai parameter Filter, memastikan frekuensi dagangan tidak terlalu rendah sambil memastikan penapisan bunyi pasaran.
Mengoptimumkan julat parameter TopBand dan LowBand untuk memadankannya dengan keluasan turun naik pasaran dan mengelakkan isyarat yang salah.
Menggunakan kaedah seperti analisis maju berjalan untuk mengoptimumkan parameter secara dinamik, agar parameter strategi menyesuaikan diri dengan perubahan pasaran.
Tambah logik stop loss dan set titik stop loss yang munasabah untuk mengawal kerugian.
Mengelakkan perdagangan yang salah di pasaran bukan trend.
Ini adalah strategi pengesanan trend yang sangat praktikal. Ia menggunakan teknologi penapisan momentum, yang dapat menekan bunyi pasaran dengan berkesan, menjadikan isyarat lebih jelas dan boleh dipercayai. Melalui pengoptimuman parameter dan pengoptimuman logik, ia dapat didik menjadi alat perdagangan kuantitatif yang stabil dan boleh dipercayai.
/*backtest
start: 2023-11-11 00:00:00
end: 2023-12-11 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 02/03/2017
// This indicator plots a CMO which ignores price changes which are less
// than a threshold value. 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.
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
fFilter(xSeriesSum, xSeriesV, Filter) =>
iff(xSeriesV > Filter, xSeriesSum, 0)
strategy(title="CMOfilt", shorttitle="CMOfilt")
Length = input(9, minval=1)
Filter = input(3, minval=1)
TopBand = input(70, minval=1)
LowBand = input(-70, maxval=-1)
reverse = input(false, title="Trade reverse")
hline(0, color=gray, linestyle=line)
hline(TopBand, color=red, linestyle=line)
hline(LowBand, color=green, linestyle=line)
xMom = close - close[1]
xMomAbs = abs(close - close[1])
xMomFilter = fFilter(xMom, xMomAbs, Filter)
xMomAbsFilter = fFilter(xMomAbs,xMomAbs, Filter)
nSum = sum(xMomFilter, Length)
nAbsSum = sum(xMomAbsFilter, Length)
nRes = 100 * nSum / nAbsSum
pos = iff(nRes > TopBand, 1,
iff(nRes < LowBand, -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="CMOfilt")