Chiến lược đảo ngược hai chiều và động lực trung bình chuyển động

Tác giả:ChaoZhang, Ngày: 2023-11-06 16:18:18
Tags:

img

Tổng quan

Chiến lược này kết hợp các quy tắc giao dịch đảo ngược với các chỉ số động lực. Nó tích hợp đảo ngược hai chiều và Chande Momentum Oscillator để xác định các cơ hội đảo ngược trong khi xác minh các tín hiệu động lực để tạo ra các tín hiệu giao dịch đáng tin cậy hơn.

Chiến lược logic

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

Phần đầu tiên là các quy tắc giao dịch đảo ngược hai chiều. Nó xác định các cơ hội đảo ngược bằng cách phát hiện sự thay đổi giá đóng trong hai ngày trước. Cụ thể, nếu giá đóng giảm trong hai ngày trước, và giá đóng hiện tại cao hơn mức đóng trước, và Động Trình Chế Chế Chế Chế dưới ngưỡng, nó sẽ kích hoạt tín hiệu mua. Ngược lại, nếu giá đóng tăng trong hai ngày trước, và giá đóng hiện tại thấp hơn mức đóng trước, và Động Trình Chế Chế Chế Chế Chế Chế Chế Chế Chế Chế Chế Chế trên ngưỡng, nó sẽ kích hoạt tín hiệu bán.

Phần thứ hai là Chande Momentum Oscillator. Nó so sánh cường độ thay đổi giá với cường độ trung bình trong một khoảng thời gian nhất định để xác định động lực. Nếu chỉ số động lực vượt quá giới hạn trên, nó tạo ra tín hiệu mua. Nếu dưới giới hạn dưới, nó tạo ra tín hiệu bán.

Chiến lược này kết hợp các quy tắc giao dịch đảo ngược hai chiều để xác định vị trí các điểm đảo ngược tiềm năng và chỉ số động lực để xác minh tính hợp lệ của các tín hiệu đảo ngược.

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

  • Cơ chế xác minh kép cải thiện độ tin cậy tín hiệu bằng cách tránh các tín hiệu sai.

  • Kết hợp chiến lược đảo ngược với chiến lược xu hướng cung cấp tính linh hoạt để nắm bắt các cơ hội trong cả hai thị trường đảo ngược và xu hướng.

  • Việc giới thiệu động lượng ngăn ngừa rơi vào bẫy đảo ngược bằng cách chỉ giao dịch khi động lượng xác nhận.

  • Nhiều thông số điều chỉnh có thể được tối ưu hóa cho các điều kiện thị trường khác nhau.

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

  • Các tín hiệu đảo ngược có thể phải đối mặt với sự rút lui lớn, yêu cầu dừng lỗ hợp lý.

  • Thời điểm chính xác của sự đảo ngược là khó khăn, có thể gây ra những đánh giá sai.

  • Sự chậm trễ của các chỉ số động lực có thể gây ra việc thiếu các điểm đầu vào đảo ngược tốt nhất.

  • Điều chỉnh tham số cần tối ưu hóa cẩn thận dựa trên thị trường cụ thể, cài đặt không đúng có thể làm tăng rủi ro.

Nguy cơ có thể được giảm bằng cách sử dụng stop loss thích hợp, tối ưu hóa tham số mạnh mẽ, giữ một số không gian trong các điều kiện kích hoạt tín hiệu đảo ngược, v.v.

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

  • Kiểm tra các kết hợp tham số đảo ngược khác nhau để tìm các tham số nhạy cảm với sự đảo ngược thị trường.

  • Hãy thử các chỉ số động lực khác nhau, như RSI, tỷ lệ thay đổi khối lượng, v.v.

  • Thêm các bộ lọc như breakout để tránh giao dịch các điểm đảo ngược không quan trọng.

  • Đánh giá các chiến lược dừng lỗ để tìm ra các phương pháp điều khiển rút tối đa.

  • Đánh giá các chiến lược định kích thước vị trí để điều chỉnh kích thước vị trí dựa trên điều kiện thị trường.

Kết luận

Chiến lược này kết hợp các lợi thế của các chiến lược đảo ngược và động lực, với các tín hiệu đáng tin cậy và tính linh hoạt để nắm bắt cơ hội. Các tham số có thể được tối ưu hóa, rủi ro có thể được quản lý thông qua dừng lỗ và kích thước vị trí để cải thiện sự ổn định và lợi nhuận. Nhìn chung, nó khám phá sự tích hợp hiệu quả của các chiến lược đảo ngược và xu hướng, và đáng nghiên cứu và áp dụng thêm.


/*backtest
start: 2023-10-06 00:00:00
end: 2023-11-05 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 18/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 Chande Momentum Oscillator. This indicator 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.
//
// 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

CMO(Length, TopBand, LowBand) =>
    pos = 0
    xMom = abs(close - close[1])
    xSMA_mom = sma(xMom, Length)
    xMomLength = close - close[Length]
    nRes = 100 * (xMomLength / (xSMA_mom * Length))
    pos :=  iff(nRes > TopBand, 1,
	         iff(nRes <= LowBand, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Chande Momentum Oscillator", 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(9, minval=1)
TopBand = input(70, minval=1)
LowBand = input(-70, maxval=-1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posCMO = CMO(LengthCMO, TopBand, LowBand)
pos = iff(posReversal123 == 1 and posCMO == 1 , 1,
	   iff(posReversal123 == -1 and posCMO == -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