Chiến lược theo xu hướng kép


Ngày tạo: 2024-01-02 10:41:30 sửa đổi lần cuối: 2024-01-02 10:41:30
sao chép: 0 Số nhấp chuột: 638
1
tập trung vào
1621
Người theo dõi

Chiến lược theo xu hướng kép

Tổng quan

Chiến lược theo dõi xu hướng kép là một chiến lược giao dịch định lượng kết hợp hai chỉ số để xác định xu hướng. Chiến lược này đầu tiên sử dụng chỉ số 123 để xác định tín hiệu đảo ngược giá, sau đó kết hợp với chỉ số xu hướng hướng ((DTI) để xác định xu hướng giá, để thực hiện tín hiệu đặt hàng xác nhận kép.

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

Chiến lược này bao gồm hai phần chính:

  1. 123 chỉ số đảo ngược

123 chỉ số đảo ngược được đánh giá theo nguyên tắc:

  • Khi giá đóng cửa tăng 2 ngày liên tiếp và K-line chậm hơn 50 ngày, hãy làm nhiều hơn;

  • Khi giá đóng cửa giảm 2 ngày liên tiếp và đường K nhanh hơn 50 ngày 9, hãy làm trống.

Các nhà đầu tư cũng có thể sử dụng các con số này để xác định thời điểm giá sẽ thay đổi.

  1. Chỉ số xu hướng (DTI)

Nguyên tắc đánh giá chỉ số DTI là: tính trung bình giá trị tuyệt đối trong một khoảng thời gian, sau đó chia cho giá trị trung bình của giá.

  • Khi DTI cao hơn đường mua quá mức, nó cho thấy hiện tại đang có xu hướng giảm;

  • Khi DTI thấp hơn đường bán quá mức, nó cho thấy hiện tại đang có xu hướng tăng.

  1. Sự kết hợp của cả hai

Đầu tiên, sử dụng chỉ số 123 để xác định liệu có tín hiệu đảo ngược hay không. Sau đó kết hợp với chỉ số DTI để xác định xu hướng chung của giá sau khi đảo ngược.

Điều này giúp tránh các vấn đề đảo ngược giả tạo do đơn thuần phụ thuộc vào tín hiệu đảo ngược, từ đó cải thiện sự ổn định và lợi nhuận của chiến lược.

Lợi thế chiến lược

  1. Xác nhận hai chỉ số, tránh rủi ro của sự đảo ngược sai

  2. Kết hợp sự đảo ngược và định hướng, tính linh hoạt và ổn định trong hoạt động

  3. Các tham số có thể được tối ưu hóa rộng rãi và có thể được điều chỉnh linh hoạt để phù hợp với các giống khác nhau

Phân tích rủi ro

  1. Thiết lập tham số DTI cần kinh nghiệm, không phù hợp để đánh giá sai hướng xu hướng

  2. Sự thay đổi không nhất thiết phải là một xu hướng mới, mà có thể là sự biến động của thị trường RANGE

  3. Cần có hiệu quả trong việc ngăn chặn và kiểm soát tổn thất đơn lẻ

Cách giải quyết: Thử nghiệm tối ưu hóa tham số + Giảm tổn thất hợp lý + Kết hợp với các chỉ số khác

Hướng tối ưu hóa chiến lược

  1. Kiểm tra các tham số DTI để tìm ra sự kết hợp tham số tốt nhất

  2. Kết hợp các chỉ số khác để lọc tín hiệu đảo ngược giả

  3. Tối ưu hóa chiến lược dừng lỗ, tìm điểm dừng lỗ tốt nhất

Tóm tắt

Chiến lược theo dõi xu hướng kép được xác nhận bởi 123 reversal và DTI, có thể xác định hiệu quả về tính chất của sự đảo ngược giá và nắm bắt hướng xu hướng mới, do đó cải thiện khả năng chiến lược. Tuy nhiên, thiết lập tham số và chiến lược dừng lỗ vẫn cần được kiểm tra và tối ưu hóa liên tục để tối đa hóa lợi nhuận của chiến lược. Nói chung, chiến lược này kết hợp các lợi thế của xu hướng và giao dịch đảo ngược, là một chiến lược định lượng đáng khuyên.

Mã nguồn chiến lược
/*backtest
start: 2023-12-25 00:00:00
end: 2024-01-01 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 19/02/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 technique was described by William Blau in his book "Momentum,
// Direction and Divergence" (1995). 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.
// Directional Trend Index is an indicator similar to DM+ developed by Welles Wilder. 
// The DM+ (a part of Directional Movement System which includes both DM+ and 
// DM- indicators) indicator helps determine if a security is "trending." William 
// Blau added to it a zeroline, relative to which the indicator is deemed positive or 
// negative. A stable uptrend is a period when the DTI value is positive and rising, a 
// downtrend when it is negative and falling. 
//
// 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

TDI(r,s,u,OS,OB) =>
    pos = 0.0
    xHMU = iff(high - high[1] > 0, high - high[1], 0)
    xLMD = iff(low - low[1] < 0, -(low - low[1]), 0)
    xPrice = xHMU - xLMD
    xPriceAbs = abs(xPrice)
    xuXA = ema(ema(ema(xPrice, r),s),u)
    xuXAAbs = ema(ema(ema(xPriceAbs, r),s),u)
    Val1 = 100 * xuXA
    Val2 = xuXAAbs
    DTI = iff(Val2 != 0, Val1 / Val2, 0)
    pos := iff(DTI > OS, -1,
    	     iff(DTI < OB, 1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Directional Trend Index (DTI)", 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(14, minval=1)
s = input(10, minval=1)
u = input(5, minval=1)
OS = input(45, minval=1)
OB = input(-45, maxval=-1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posTDI = TDI(r,s,u,OS,OB)
pos = iff(posReversal123 == 1 and posTDI == 1 , 1,
	   iff(posReversal123 == -1 and posTDI == -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 )