Chiến lược giao dịch đảo ngược nhẹ với chỉ số kép

Tác giả:ChaoZhang, Ngày: 2023-10-17 15:45:09
Tags:

img

Tổng quan

Chiến lược giao dịch đảo ngược nhẹ chỉ số kép kết hợp động lực và các chỉ số theo xu hướng cho giao dịch ngắn hạn. Chiến lược đầu tiên tạo ra các tín hiệu giao dịch bằng cách sử dụng chỉ số đảo ngược, sau đó kết hợp nó với một chỉ số theo xu hướng để tạo ra các tín hiệu đáng tin cậy hơn. Nó nhằm mục đích nắm bắt sự đảo ngược giá ngắn hạn trong bối cảnh xu hướng trung hạn.

Nguyên tắc

Chiến lược bao gồm hai tiểu chiến lược.

Đầu tiên là chiến lược 123 Reversal. Nó giám sát xem liệu một mô hình đảo ngược đỉnh xảy ra hay không. Cụ thể, nó sẽ tạo ra tín hiệu dài nếu giá đóng của hai ngày trước giảm và giá đóng hiện tại cao hơn giá đóng trước, với đường chậm Stochastic dưới 50. Nó sẽ tạo ra tín hiệu ngắn nếu giá đóng của hai ngày trước tăng và giá đóng hiện tại thấp hơn giá đóng trước, với đường nhanh Stochastic trên 50.

Thứ hai là chỉ số Ergodic, đó là một chỉ số theo xu hướng xác định hướng của xu hướng trung hạn đến dài hạn. Nó kết hợp các ý tưởng về đường trung bình động và MACD, sử dụng đường trung bình động trơn giản theo cấp số nhân đơn và đường chéo nhanh và chậm của MACD để tạo ra tín hiệu giao dịch.

Chiến lược này kết hợp các tín hiệu từ hai chiến lược con. Nó sẽ chỉ mở một vị trí khi hai chiến lược con tạo ra các tín hiệu nhất quán. nghĩa là, nó chỉ giao dịch khi có một sự đảo ngược nhẹ trong ngắn hạn cùng với xu hướng trung hạn đến dài hạn mạnh mẽ.

Ưu điểm

  • Kết hợp nhiều chỉ số có thể lọc hiệu quả các tín hiệu sai và cải thiện độ tin cậy.

  • Kết hợp đảo ngược và theo xu hướng cung cấp cả cơ hội ngắn hạn và tránh giao dịch ngược xu hướng.

  • Các thiết lập tham số Stochastic khá mạnh mẽ để giảm các whipsaws.

  • Các thông số làm mịn của chỉ số Ergodic được thiết lập hợp lý để xác định tốt hơn xu hướng.

  • Tần suất giao dịch là thích hợp, nắm bắt các cơ hội đầy đủ mà không quá giao dịch.

  • Thích hợp cho giao dịch trung hạn với khung thời gian linh hoạt.

Rủi ro

  • Các tín hiệu đảo ngược có thể tạo ra các tín hiệu sai và cần xác nhận từ các chỉ số xu hướng.

  • Tần suất giao dịch thấp có thể bỏ lỡ một số cơ hội ngắn hạn.

  • Có thể có sự đảo ngược sau khi đảo ngược, yêu cầu dừng lỗ kịp thời.

  • Các thiết lập tham số không phù hợp có thể ảnh hưởng đáng kể đến kết quả.

  • Việc phụ thuộc quá nhiều vào các chỉ số kỹ thuật có nguy cơ quá phù hợp.

Tăng cường

  • Kiểm tra các thiết lập tham số khác nhau để tối ưu hóa các chiến lược phụ.

  • Đưa ra nhiều chỉ số hơn để xây dựng các mô hình đa yếu tố.

  • Áp dụng máy học để tối ưu hóa tham số động.

  • Nghiên cứu các phương pháp dừng lỗ khác nhau để kiểm soát rủi ro.

  • Nghiên cứu chi phí cơ hội và điều chỉnh tần suất giao dịch chiến lược.

  • Kiểm tra sự vững chắc của chiến lược trên các chế độ thị trường khác nhau.

Kết luận

Chiến lược giao dịch đảo ngược nhẹ chỉ số kép cố gắng nắm bắt các cơ hội đảo ngược ngắn hạn trên các khung thời gian trung hạn bằng cách sử dụng sự kết hợp của các chỉ số đảo ngược và theo xu hướng. Nó có thể lọc hiệu quả các tín hiệu sai và kiểm soát rủi ro ở một mức độ nào đó. Tuy nhiên, các vấn đề như thiếu cơ hội ngắn hạn, độ nhạy của tham số và rủi ro quá mức vẫn còn. Tăng cường thêm sự ổn định và lợi nhuận có thể đạt được bằng cách kết hợp nhiều chỉ số hơn, tối ưu hóa các tham số, điều chỉnh tần suất giao dịch và thử nghiệm trên các thị trường. Nhìn chung, chiến lược đại diện cho một cách tiếp cận định lượng đơn giản và thực tế đáng để khám phá và áp dụng.


/*backtest
start: 2023-10-09 00:00:00
end: 2023-10-16 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 28/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
// 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


EMDI(r,s,u,SmthLen) =>
    pos = 0
    xEMA = ema(close, r)
    xEMA_S = close - xEMA
    xEMA_U = ema(ema(xEMA_S, s), u)
    xSignal = ema(xEMA_U, u)
    pos := iff(xEMA_U > xSignal, 1,
    	     iff(xEMA_U < xSignal, -1, nz(pos[1], 0)))
    pos

strategy(title="Combo Backtest 123 Reversal & Ergodic MDI", 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(32, minval=1)
s = input(5, minval=1)
u = input(5, minval=1)
SmthLen = input(3, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posEMDI = EMDI(r,s,u,SmthLen)
pos = iff(posReversal123 == 1 and posEMDI == 1 , 1,
	   iff(posReversal123 == -1 and posEMDI == -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