Chiến lược này sử dụng Chande Momentum Oscillator (CMO) để xác định mức mua quá mức và bán quá mức cho các tín hiệu giao dịch. Các giá trị CMO tuyệt đối trong 3 giai đoạn được tính trung bình để làm mịn dao động để xác định cực đoan. Một chiến lược giao dịch dao động đảo ngược trung bình điển hình.
Logic chính bao gồm:
CMO phản ánh đà thay đổi giá. Các giá trị tuyệt đối cao đại diện cho sự khác biệt giá vào khu vực mua quá mức / bán quá mức. Chiến lược sử dụng đặc điểm này của CMO, sử dụng trung bình nhiều giai đoạn để làm mịn đường cong để xác định cực đoan.
Hạn chế:
Chiến lược có thể được tăng cường thông qua:
Chiến lược này sử dụng CMO để xác định quá mua / quá bán cho giao dịch đảo ngược trung bình. Trung bình nhiều giai đoạn giúp tránh các tín hiệu sai. CMO có cơ sở lý thuyết vững chắc để đo sự khác biệt. Cải thiện thông qua các thông số, điểm dừng và bộ lọc tốt hơn có thể làm cho nó trở thành một chiến lược giao dịch dao động ổn định.
/*backtest start: 2023-09-11 00:00:00 end: 2023-09-14 07:00:00 period: 30m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 ////////////////////////////////////////////////7//////////// // Copyright by HPotter v1.0 21/02/2017 // This indicator plots the absolute value of CMO averaged over three // different lengths. This indicator plots a classical-looking oscillator, // which is really an averaged value based on three different periods. // // You can change long to short in the Input Settings // Please, use it only for learning or paper trading. Do not for real trading. //////////////////////////////////////////////////////////// strategy(title="CMOabsav", shorttitle="CMOabsav") Length1 = input(5, minval=1) Length2 = input(10, minval=1) Length3 = input(20, minval=1) TopBand = input(58, minval=1) LowBand = input(5, minval=0) reverse = input(false, title="Trade reverse") hline(0, color=green, linestyle=hline.style_dashed) hline(TopBand, color=purple, linestyle=hline.style_solid) hline(LowBand, color=red, linestyle=hline.style_solid) xMom = close - close[1] xMomabs = abs(close - close[1]) nSum1 = sum(xMom, Length1) nSumAbs1 = sum(xMomabs, Length1) nSum2 = sum(xMom, Length2) nSumAbs2 = sum(xMomabs, Length2) nSum3 = sum(xMom, Length3) nSumAbs3 = sum(xMomabs, Length3) nRes = abs(100 * (nSum1 / nSumAbs1 + nSum2 / nSumAbs2 + nSum3 / nSumAbs3 ) / 3) 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="CMOabsav")