Tác giả:ChaoZhang, Ngày: 2024-2-25 17:44:49
Tags:

img

Tổng quan

Chiến lược logic

  1. Tính toán sự thay đổi giá ròng trong n ngày (xMomLength)
  2. Tiêu chuẩn hóa sự thay đổi giá ròng (nRes) bằng cách chia cho SMA

Phân tích lợi thế

CMO tiêu chuẩn hóa các thay đổi giá và lập bản đồ chúng vào phạm vi -100 đến 100 để dễ dàng đánh giá tâm lý của đám đông thị trường; Magnitude tuyệt đối đại diện cho sức mạnh của xu hướng hiện tại.

Phân tích rủi ro

  1. Cài đặt tham số CMO và WMA không chính xác dẫn đến tín hiệu sai quá mức
  2. Không xác định xu hướng dài hạn thực sự, dẫn đến tổn thất trong các vị trí dài hạn

Phương pháp tối ưu hóa tương ứng:

  1. Thêm các bộ lọc bổ sung như năng lượng khối lượng để tránh giao dịch trên thị trường dao động
  2. Bao gồm các chỉ số dài hạn như MA 90 ngày để tránh bỏ lỡ cơ hội trong xu hướng dài hạn

Hướng dẫn tối ưu hóa

Các hướng tối ưu hóa chính cho chiến lược này là xung quanh điều chỉnh tham số, lọc tín hiệu và dừng lỗ:

  1. Tối ưu hóa tham số CMO và WMA thông qua thử nghiệm sức mạnh thô
  2. Bộ lọc tín hiệu bổ sung bằng cách sử dụng các chỉ số âm lượng, cường độ vv để tránh đột phá sai
  3. Bao gồm các lệnh dừng lỗ động để thoát khi giá vượt qua mức dưới CMO và WMA
  4. Xem xét các mô hình thất bại Breakout như là tín hiệu đầu vào khi CMO và WMA lần đầu tiên phá vỡ các mức chính nhưng nhanh chóng giảm lại

Kết luận


/*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")

Thêm nữa