Chiến lược đảo ngược xu hướng giao dịch định lượng Combo T3-CCI

Tác giả:ChaoZhang, Ngày: 2023-12-29 10:44:31
Tags:

img

Tổng quan

Chiến lược này kết hợp việc sử dụng chiến lược xu hướng đảo ngược và chỉ số T3-CCI để tạo ra các tín hiệu giao dịch tại các điểm đảo ngược thị trường.

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

  1. Phần chiến lược xu hướng đảo ngược: Sử dụng so sánh giá đóng 2 ngày để đánh giá các tín hiệu đảo ngược giá, kết hợp với chỉ số đường K chậm 9 ngày để xác định các khu vực mua quá mức và bán quá mức và tạo ra các tín hiệu dài và ngắn.

  2. Phần T3-CCI: Sử dụng trung bình động T3 để làm mịn lại chỉ số CCI để giảm tín hiệu sai và xác định các khu vực mua quá mức và bán quá mức.

Hướng giao dịch cuối cùng được xác định bởi các tín hiệu tích hợp từ cả hai phần.

Phân tích lợi thế

  1. Sử dụng hai loại chỉ số và so sánh giá có thể xác định hiệu quả các điểm đảo ngược tiềm năng.

  2. Việc áp dụng trung bình động T3 cải thiện chất lượng của tín hiệu CCI và giảm tín hiệu sai.

  3. Việc sử dụng kết hợp các loại chiến lược khác nhau có thể được mong đợi để cải thiện sự ổn định tổng thể của chiến lược.

Phân tích rủi ro

  1. Trong trường hợp thất bại đảo ngược, nó sẽ tạo ra tín hiệu sai và mất mát.

  2. Cài đặt tham số không chính xác cũng sẽ ảnh hưởng đến hiệu suất chiến lược.

  3. Các tín hiệu đảo ngược có tính kịp thời kém và không thể nắm bắt sự đảo ngược nhanh chóng trong thời gian.

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

  1. Tăng độ lọc xu hướng để tránh tổn thất do thất bại đảo ngược.

  2. Hãy thử các phương pháp máy học để tự động tối ưu hóa các thông số.

  3. Tăng cơ chế dừng lỗ.

  4. Khám phá các chỉ số hiệu quả hơn để đánh giá thời gian đảo ngược.

Tóm lại

Chiến lược này kết hợp nhiều chỉ số kỹ thuật để đánh giá các điểm đảo ngược tiềm năng. Nó có thể khai thác hiệu quả các cơ hội đảo ngược thị trường và phù hợp với các hoạt động ngắn hạn. Thông qua các biện pháp như điều chỉnh tham số, bảo vệ dừng lỗ, kết hợp với phán đoán xu hướng và các phương pháp tối ưu hóa khác, sự ổn định của chiến lược có thể được tăng thêm.


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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 23/10/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 simple indicator gives you a lot of useful information - when to enter, when to exit
// and how to reduce risks by entering a trade on a double confirmed signal.
// You can use in the xPrice any series: Open, High, Low, Close, HL2, HLC3, OHLC4 and ect...
//
// 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

    
T3_CCI(CCI_Period,T3_Period,b) =>
    pos = 0.0
    e1 = 0.0
    e2 = 0.0
    e3 = 0.0
    e4 = 0.0
    e5 = 0.0
    e6 = 0.0
    xPrice = close
    b2 = b*b
    b3 = b2*b
    c1 = -b3
    c2 = (3*(b2 + b3))
    c3 = -3*(2*b2 + b + b3)
    c4 = (1 + 3*b + b3 + 3*b2)
    nn = iff(T3_Period < 1, 1, T3_Period)
    nr = 1 + 0.5*(nn - 1)
    w1 = 2 / (nr + 1)
    w2 = 1 - w1    
    xcci = cci(xPrice, CCI_Period)
    e1 := w1*xcci + w2*nz(e1[1])
    e2 := w1*e1 + w2*nz(e2[1])
    e3 := w1*e2 + w2*nz(e3[1])
    e4 := w1*e3 + w2*nz(e4[1])
    e5 := w1*e4 + w2*nz(e5[1])
    e6 := w1*e5 + w2*nz(e6[1])
    xccir = c1*e6 + c2*e5 + c3*e4 + c4*e3  
    pos:= iff(xccir > 0, 1,
           iff(xccir < 0, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & FX Sniper:  T3-CCI", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
CCI_Period = input(14, minval=1)
T3_Period = input(5, minval=1)
b = input(0.618)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posT3_CCI = T3_CCI(CCI_Period,T3_Period,b)
pos = iff(posReversal123 == 1 and posT3_CCI == 1 , 1,
	   iff(posReversal123 == -1 and posT3_CCI == -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