Chiến lược lượng tử CMO đảo ngược kép

Tác giả:ChaoZhang, Ngày: 2024-01-04 14:35:23
Tags:

img

Tổng quan

Chiến lược này là một chiến lược đảo ngược kép, kết hợp chỉ số 123 Reversion và chỉ số lượng tử CMOWMA để đạt được xác nhận hai lần các tín hiệu đảo ngược giá với hiệu ứng hình ảnh đường K màu đỏ và xanh lá cây.

Nguyên tắc chiến lược

Chiến lược bao gồm hai phần:

  1. 123 Chỉ số đảo ngược

    • Sử dụng giá đóng so với giá đóng trước để xác định giá lên hoặc xuống
    • Sử dụng chỉ số Stochastic của đường nhanh và đường chậm để xác nhận tín hiệu đảo ngược
    • Tạo tín hiệu dài hoặc ngắn khi các điều kiện được đáp ứng
  2. Chỉ số lượng tử CMOWMA

    • Sử dụng chỉ số CMO để đo đạc đà tăng giá
    • Áp dụng đường trung bình động cân nhắc WMA cho chỉ số CMO
    • Xem dài (ngắn) khi CMO trên (dưới) WMA của nó

Nhập vị trí khi cả hai phần đưa ra tín hiệu theo cùng một hướng.

Ưu điểm của Chiến lược

  1. Cơ chế xác nhận kép có thể lọc các đứt sai và giảm các vị trí không cần thiết
  2. Màu sắc K-line màu đỏ và xanh lá cây tạo ra hiệu ứng trực quan để dễ dàng đánh giá điều kiện thị trường
  3. Kết hợp các chỉ số đảo ngược và động lượng cung cấp sự ổn định tổng thể
  4. Cài đặt tham số đơn giản làm cho nó phù hợp với các sản phẩm khác nhau và dễ thực hiện

Rủi ro của chiến lược

  1. Giá có thể đảo ngược trở lại sau khi đảo ngược ban đầu, với nguy cơ sốc
  2. Thay đổi vị trí thường xuyên tạo ra phí giao dịch quá cao
  3. Cài đặt tham số không chính xác có thể gây ra quá nhiều hoặc quá ít tín hiệu
  4. Các thông số của GMO cần phải điều chỉnh dựa trên đặc điểm của sản phẩm

Rủi ro có thể được giảm bằng cách nới lỏng các điều kiện đảo ngược, tăng thời gian giữ, tối ưu hóa các kết hợp tham số vv.

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

  1. Tác động thử nghiệm của các thông số Stochastic khác nhau
  2. Thay thế / thêm xác nhận bằng các chỉ số khác như MACD, KDJ v.v.
  3. Tối ưu hóa thử nghiệm của các chiều dài CMO và WMA khác nhau
  4. Hãy thử thêm dừng lỗ / lợi nhuận lấy ở các mức nhất định
  5. Thiết lập bộ lọc để kiểm soát tần suất của các vị trí mới

Tóm lại

Chiến lược này tổng thể mạnh mẽ với các thông số đơn giản, dễ thực hiện, kết hợp các chỉ số đảo ngược giá và động lực để tạo thành một cơ chế lọc tín hiệu kép hiệu quả để loại bỏ các tín hiệu sai.


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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 19/08/2019
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
//    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.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos

CMOWMA(Length, LengthWMA) =>
    pos = 0
    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 := iff(nRes > xWMACMO, 1,
    	   iff(nRes <= xWMACMO, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & CMO & WMA", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthCMO = input(14, minval=1)
LengthWMA = input(13, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posCMOWMA = CMOWMA(LengthCMO, LengthWMA)
pos = iff(posReversal123 == 1 and posCMOWMA == 1 , 1,
	   iff(posReversal123 == -1 and posCMOWMA == -1, -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)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )

Thêm nữa