Chiến lược hỗn hợp đảo ngược động lực đa yếu tố

Tác giả:ChaoZhang, Ngày: 2023-11-21 11:20:31
Tags:

img

Tổng quan

Chiến lược này là một chiến lược kết hợp nhiều yếu tố kết hợp các yếu tố đảo ngược và các yếu tố động lực để khám phá các cơ hội đảo ngược trên thị trường. Chiến lược đầu tiên sử dụng yếu tố đảo ngược dài hạn để xác định các cơ hội đảo ngược sau khi giảm trong phạm vi, và sau đó sử dụng các chỉ số động lực để sàng lọc thứ cấp để lọc các tín hiệu đảo ngược sai dưới các xu hướng chính, để khóa các cơ hội điều chỉnh đảo ngược ngắn hạn.

Chiến lược logic

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

  1. 123 Nguyên nhân đảo ngược

    Phần này sử dụng ý tưởng đảo ngược trong ngày để xác định mối quan hệ giữa giá đóng cửa của ngày trước và giá đóng cửa của 2 ngày trước để xác định các cơ hội đảo ngược với đường K chậm.

    • tín hiệu mua: Sau hai ngày liên tiếp giảm giá đóng cửa, nếu giá đóng cửa tăng vào ngày hiện tại và đường K chậm 9 ngày thấp hơn 50, một tín hiệu mua được tạo ra;

    • Tín hiệu bán: Sau hai ngày liên tiếp tăng giá đóng cửa, nếu giá đóng cửa giảm vào ngày hiện tại và đường K nhanh 9 ngày cao hơn 50, một tín hiệu bán được tạo ra.

  2. Động cơ dao động động Ehlers (ETSI)

    Phần này sử dụng phương pháp đà tăng giá ba EMA để xây dựng chỉ số đà tăng.

    xPrice1 = close - close[1]
    xPrice2 = abs(close - close[1]) 
    xSMA_R = EMA(EMA(EMA(xPrice1,r), s), u)
    xSMA_aR = EMA(EMA(EMA(xPrice2, r), s), u) 
    xTSI = xSMA_R / xSMA_aR * 100
    xEMA_TSI = EMA(xTSI, N)
    

    Trong đó xSMA_R là giá trị EMA làm mịn của đà tăng giá, xSMA_aR là giá trị EMA làm mịn của biến động giá, xTSI là chỉ số đà tăng được xây dựng từ tỷ lệ của hai, và xEMA_TSI là mịn EMA thứ cấp của xTSI. Chỉ số xác định hướng tín hiệu giao dịch dựa trên mối quan hệ giữa xTSI và xEMA_TSI.

Cuối cùng, chiến lược ANDs các tín hiệu từ hai phần, và chỉ phát hành lệnh giao dịch thực tế khi các tín hiệu từ cả hai yếu tố đồng ý.

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

Ưu điểm lớn nhất của chiến lược này nằm trong thiết kế đa yếu tố của nó, có thể lọc các tín hiệu sai và phát hiện các cơ hội giao dịch chất lượng cao.

  1. Nhân tố đảo ngược 123 có thể xác định các điểm hồi phục ngắn hạn sau khi giảm trong phạm vi.

  2. Chỉ số động lực Ehlers có thể xác định hiệu quả hướng của xu hướng chính để tránh các tín hiệu đảo ngược xảy ra trong một xu hướng chính, do đó lọc ra các tín hiệu sai.

  3. Hoạt động AND trên hai phần tín hiệu có thể cải thiện chất lượng tín hiệu và tăng cường sự ổn định chiến lược.

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

Mặc dù chiến lược áp dụng một thiết kế đa yếu tố để kiểm soát rủi ro, vẫn có những rủi ro chính sau:

  1. Các tín hiệu đảo ngược có thể xảy ra trong xu hướng dao động và không thể kiếm lợi nhuận.

  2. Có chủ quan trong các cài đặt tham số giữa hai yếu tố, có thể quá phù hợp với các sản phẩm cụ thể.

  3. Nguy cơ mất mát tăng lên sau khi đảo ngược giá lại đảo ngược.

Những rủi ro này có thể được giảm thiểu bằng cách tối ưu hóa các tham số để thích nghi với nhiều loại hơn, kiểm soát các vị trí sau khi đảo ngược, theo dõi thời gian thực các thay đổi trong mối quan hệ chỉ số và các phương tiện khác.

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

Các khía cạnh chính để tối ưu hóa chiến lược này bao gồm:

  1. Điều chỉnh các tham số của hai yếu tố để tìm các mẫu dữ liệu phù hợp hơn.

  2. Tăng các chiến lược dừng lỗ để kiểm soát lỗ đơn.

  3. Sử dụng các kết hợp tham số khác nhau cho xu hướng và biến thể dao động.

  4. Tăng cơ chế cân nhắc yếu tố để cho các yếu tố hoạt động tốt hơn trọng lượng lớn hơn.

  5. Tăng các thuật toán học máy để đạt được tối ưu hóa tự động và cập nhật các thông số.

Kết luận

Chiến lược này kết hợp thành công các yếu tố đảo ngược và chỉ số động lực để đạt được thiết kế tối ưu hóa đa yếu tố. Nó có thể xác định hiệu quả các cơ hội đảo ngược ngắn hạn và sử dụng các chỉ số động lực để thực hiện xác minh thứ cấp các tín hiệu, do đó cải thiện tỷ lệ chiến thắng của chiến lược. Mặc dù vẫn còn chỗ để cải thiện trong chiến lược, ý tưởng cốt lõi của nó cung cấp một tham chiếu tốt cho việc thiết kế các chiến lược định lượng.


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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 30/07/2020
// 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
// r - Length of first EMA smoothing of 1 day momentum        4
// s - Length of second EMA smoothing of 1 day smoothing      8    
// u- Length of third EMA smoothing of 1 day momentum         6  
// Length of EMA signal line                                  3
// Source of Ergotic TSI                                      Close
//
// This is one of the techniques described by William Blau in his book "Momentum,
// Direction and Divergence" (1995). If you like to learn more, we advise you to 
// read this book. His book focuses on three key aspects of trading: momentum, 
// direction and divergence. Blau, who was an electrical engineer before becoming 
// a trader, thoroughly examines the relationship between price and momentum in 
// step-by-step examples. From this grounding, he then looks at the deficiencies 
// in other oscillators and introduces some innovative techniques, including a 
// fresh twist on Stochastics. On directional issues, he analyzes the intricacies 
// of ADX and offers a unique approach to help define trending and non-trending periods.  
//
// 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


ETSI(r,s,u,SmthLen) =>
    pos = 0
    xPrice = close
    xPrice1 = xPrice - xPrice[1]
    xPrice2 = abs(xPrice - xPrice[1])
    xSMA_R = ema(ema(ema(xPrice1,r), s),u)
    xSMA_aR = ema(ema(ema(xPrice2, r), s),u)
    Val1 = 100 * xSMA_R
    Val2 = xSMA_aR
    xTSI = iff (Val2 != 0, Val1 / Val2, 0)
    xEMA_TSI = ema(xTSI, SmthLen)
    pos:= iff(xTSI > xEMA_TSI, 1,
    	   iff(xTSI < xEMA_TSI, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Ergodic TSI", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
r = input(4, minval=1)
s = input(8, minval=1)
u = input(6, minval=1)
SmthLen = input(3, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posETSI = ETSI(r,s,u,SmthLen)
pos = iff(posReversal123 == 1 and posETSI == 1 , 1,
	   iff(posReversal123 == -1 and posETSI == -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