Chuỗi xu hướng đảo ngược giao dịch định lượng và chiến lược T3-CCI song song


Ngày tạo: 2023-12-29 10:44:31 sửa đổi lần cuối: 2023-12-29 10:44:31
sao chép: 4 Số nhấp chuột: 621
1
tập trung vào
1621
Người theo dõi

Chuỗi xu hướng đảo ngược giao dịch định lượng và chiến lược T3-CCI song song

Tổng quan

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

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

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

  2. Phần T3-CCI: Sử dụng đường trung bình T3 làm chỉ số CCI để làm mịn lại, giảm tín hiệu sai, xác định vùng quá mua quá bán, hợp tác với chiến lược đảo ngược xu hướng để lọc thời gian vào.

Hai phần của tín hiệu tổng hợp quyết định hướng giao dịch cuối cùng.

Phân tích lợi thế

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

  2. Việc sử dụng đường trung bình T3 làm tăng chất lượng tín hiệu CCI và giảm tín hiệu giả.

  3. Việc kết hợp các loại chiến lược khác nhau có thể làm tăng 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 đảo ngược không thành công, sẽ có tín hiệu sai và mất mát. Cần kiểm soát rủi ro mất mát kịp thời.

  2. Thiết lập tham số không đúng cũng ảnh hưởng đến hiệu suất của chiến lược và cần điều chỉnh tham số theo thị trường khác nhau.

  3. Tín hiệu của tín hiệu quay ngược kém, không thể bắt kịp sự quay ngược nhanh.

Hướng tối ưu hóa

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

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

  3. Tăng hệ thống ngăn chặn thiệt hại.

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

Tóm tắt

Chiến lược này sử dụng nhiều chỉ số kỹ thuật để đánh giá điểm đảo ngược tiềm năng. Nó có thể phát hiện hiệu quả cơ hội đảo ngược thị trường, là một chiến lược định lượng phù hợp cho hoạt động ngắn hạn.

Mã nguồn chiến lược
/*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 )