Chiến lược tối ưu hóa chồng chéo đảo ngược hai chiều


Ngày tạo: 2023-10-26 16:56:56 sửa đổi lần cuối: 2023-10-26 16:56:56
sao chép: 0 Số nhấp chuột: 678
1
tập trung vào
1617
Người theo dõi

Chiến lược tối ưu hóa chồng chéo đảo ngược hai chiều

Tổng quan

Chiến lược chọn lọc chồng chéo đảo ngược kép (Dual Reversal Overlap Selective Strategy) được thực hiện bằng cách kết hợp chiến lược giao dịch đảo ngược và lọc mua bán quá mức để thực hiện giao dịch sắp xếp tài sản và chọn thời gian. Chiến lược này nhằm thực hiện giao dịch mua và bán tại các điểm đảo ngược xu hướng, đồng thời sử dụng chỉ số mua bán quá mức để tránh giao dịch không cần thiết trong khu vực mở rộng không hợp lý.

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

Chiến lược này bao gồm hai chiến lược con chồng lên nhau:

  1. 123 Chiến lược đảo ngược

Chiến lược này dựa trên tín hiệu giao dịch của giá đóng cửa hai ngày liên tiếp. Cụ thể, nếu giá đóng cửa tăng trong hai ngày gần đây và giá K line stoch chậm 9 ngày dưới 50, hãy làm nhiều hơn; nếu giá đóng cửa giảm trong hai ngày gần đây và giá K line stoch nhanh 9 ngày trên 50, hãy làm trống. Chiến lược này thuộc về chiến lược đảo ngược, nhằm nắm bắt xu hướng ngắn hạn.

  1. Chiến lược chỉ số dao động trơn kép Bressat (DSS)

Chiến lược này sử dụng chỉ số biến động trơn kép của Bressat để đánh giá quá mua quá bán. Cụ thể, nếu đường trung bình 5 ngày thấp hơn đường trung bình 10 ngày và thấp hơn khu vực bán tháo 20, hãy làm nhiều hơn; Nếu đường trung bình 5 ngày cao hơn đường trung bình 10 ngày và cao hơn khu vực bán tháo 80, hãy làm rỗng.

Tín hiệu cuối cùng được tạo ra từ sự kết hợp của cả hai, và chỉ kích hoạt giao dịch khi cả hai cung cấp tín hiệu đồng nhất. Điều này có thể làm tăng tỷ lệ lợi nhuận, sử dụng lợi thế của hai loại chiến lược khác nhau để kết hợp.

Phân tích lợi thế chiến lược

  1. Kết hợp lợi thế của chiến lược đảo ngược và chiến lược mua quá mức để nắm bắt sự đảo ngược của xu hướng ngắn hạn và tránh giao dịch khu vực phi lý.

  2. 123 Chiến lược đảo ngược có ít tham số, logic đơn giản, dễ thực hiện. Chiến lược DSS sử dụng chỉ số kép để thực hiện phán quyết mua quá mức, bán quá mức một cách mượt mà, có thể loại bỏ hiệu quả tín hiệu đầu trống trong thị trường đa đầu.

  3. Sự kết hợp của hai loại chiến lược khác nhau có thể làm tăng độ tin cậy của tín hiệu và giảm tín hiệu giả của chiến lược ban đầu.

  4. Các tham số chiến lược linh hoạt, có thể điều chỉnh tham số theo thị trường khác nhau, có khả năng thích ứng.

Phân tích rủi ro chiến lược

  1. Các chiến lược đảo ngược tự nó có nguy cơ làm mất tiền, dễ bị mắc kẹt trong thị trường biến động.

  2. DSS chiến lược có một vấn đề là các tham số tối ưu hóa khó hơn, các tham số khác nhau có ảnh hưởng lớn đến kết quả.

  3. Khi hai tín hiệu chiến lược không phù hợp, có nguy cơ mất cơ hội giao dịch.

  4. Chiến lược chỉ dựa trên chỉ số giá đơn giản, thiếu sự đánh giá toàn diện, có một số hạn chế về lợi nhuận.

Giải pháp tương ứng:

  1. Giảm thời gian nắm giữ để giảm nguy cơ mắc kẹt.

  2. Sử dụng các trường hợp thành công để kiểm tra cẩn thận các tham số để tối ưu hóa các tham số cho thị trường cụ thể.

  3. Xem xét thêm các chỉ số phán đoán phụ trợ khác để nâng cao hiệu quả chiến lược.

  4. Tối ưu hóa thời gian đầu tư hoặc điều chỉnh tỷ lệ nắm giữ.

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

  1. Thử nghiệm và kết hợp các chỉ số đảo ngược hoặc phán đoán hình dạng khác để nâng cao độ chính xác của tín hiệu đảo ngược.

  2. Hãy thử các chỉ số khác thay thế cho DSS, chẳng hạn như xu hướng năng lượng, RSI, v.v.

  3. Tham gia chiến lược dừng lỗ để khóa lợi nhuận và giảm tổn thất.

  4. Tối ưu hóa các thiết lập tham số, thử nghiệm các kết hợp tham số tốt nhất trong các thị trường khác nhau.

  5. Khám phá khả năng điều chỉnh các tham số động để thích ứng với sự thay đổi của thị trường.

  6. Xây dựng mô hình học máy hỗ trợ tạo tín hiệu giao dịch.

Tóm tắt

Chiến lược này có các ưu điểm như linh hoạt về tham số, đơn giản về logic, dễ thực hiện và có thể được thực hiện một cách hiệu quả trừ khi có giao dịch ồn ào trong khu vực hợp lý. Tuy nhiên, cũng có một số rủi ro về sự đảo ngược và khó khăn về tối ưu hóa tham số. Trong tương lai, chiến lược có thể được tăng cường bằng cách thêm các phương pháp như dừng lỗ, thiết lập tham số tối ưu hóa và giới thiệu học máy. Nói chung, chiến lược này cung cấp một giải pháp phân tích kỹ thuật linh hoạt và đáng tin cậy cho giao dịch định lượng.

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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 12/03/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
// Double Smoothed Stochastics (DSS) is designed by William Blaw. 
// It attempts to combine moving average methods with oscillator principles. 
//
// 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

DSSB(PDS, EMAlen,TriggerLen,Overbought,Oversold) =>
    pos = 0
    xPreCalc = ema(stoch(close, high, low, PDS), EMAlen)
    xDSS = ema(stoch(xPreCalc, xPreCalc, xPreCalc, PDS), EMAlen)
    xTrigger = ema(xDSS, TriggerLen)
    pos := iff(xTrigger < xDSS and xTrigger < Oversold, -1,
	         iff(xTrigger > xDSS and xTrigger > Overbought, 1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & DSS Bressert", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
PDS = input(10, minval=1)
EMAlen = input(9, minval=1)
TriggerLen = input(5, minval=1)
Overbought = input(80, minval=1)
Oversold = input(20, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posDSS = DSSB(PDS, EMAlen,TriggerLen,Overbought,Oversold)
pos = iff(posReversal123 == 1 and posDSS == 1 , 1,
	   iff(posReversal123 == -1 and posDSS == -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 )