Chiến lược chọn lọc chồng chéo đảo ngược kép

Tác giả:ChaoZhang, Ngày: 2023-10-26 16:56:56
Tags:

img

Tổng quan

Chiến lược chọn lọc trùng lặp đảo ngược kép kết hợp các chiến lược giao dịch đảo ngược với các bộ lọc mua quá mức để đạt được phân bổ tài sản và giao dịch thời gian. Nó nhằm mục đích nắm giữ các vị trí dài và ngắn tại các điểm đảo ngược xu hướng trong khi tránh giao dịch không cần thiết trong các vùng mở rộng không hợp lý bằng cách sử dụng các chỉ số mua quá mức.

Chiến lược logic

Chiến lược bao gồm hai chiến lược phụ chồng chéo:

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

Chiến lược này sử dụng tín hiệu đảo ngược dựa trên hai ngày liên tiếp đảo ngược giá đóng cửa. Cụ thể, nó sẽ dài nếu giá đóng cửa tăng trong hai ngày qua và stochastic chậm 9 ngày dưới 50, và sẽ ngắn nếu giá đóng cửa giảm trong hai ngày qua và stochastic nhanh 9 ngày trên 50.

  1. Chiến lược dao động DSS

Chiến lược này sử dụng dao động DSS để phân tích mua quá mức. Nó sẽ dài nếu MA 5 ngày thấp hơn MA 10 ngày và mức bán quá mức 20, và sẽ ngắn nếu MA 5 ngày cao hơn MA 10 ngày và mức mua quá mức 80.

Tín hiệu cuối cùng chỉ được tạo ra khi cả hai chiến lược đồng ý. Điều này cải thiện lợi nhuận bằng cách kết hợp các điểm mạnh của hai loại chiến lược.

Phân tích lợi thế

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

  2. DSS sử dụng làm mịn hai lần để phân tích mua quá mức bán quá mức mạnh mẽ.

  3. Sự kết hợp cải thiện độ tin cậy tín hiệu bằng cách giảm tín hiệu sai.

  4. Điều chỉnh tham số linh hoạt điều chỉnh chiến lược cho các thị trường khác nhau.

Phân tích rủi ro

  1. Các chiến lược đảo ngược có nhặt tiền xu rủi ro và whipsaw trong các thị trường khác nhau.

  2. DSS tối ưu hóa là khó khăn và nhạy cảm với các thông số.

  3. Các tín hiệu khác nhau có thể bỏ lỡ cơ hội giao dịch.

  4. Chỉ số giá đơn giản hạn chế lợi nhuận.

Giải pháp:

  1. Giảm thời gian giữ để giảm rủi ro.

  2. Chú ý điều chỉnh tham số dựa trên các ví dụ thành công.

  3. Thêm bộ lọc để cải thiện chiến lược.

  4. Tối ưu hóa thời gian nhập hoặc kích thước vị trí.

Hướng dẫn cải thiện

  1. Kiểm tra các chỉ số đảo ngược khác để cải thiện độ chính xác tín hiệu.

  2. Khám phá các chỉ số mua quá mức bán quá mức thay thế như RSI.

  3. Thêm stop loss để khóa lợi nhuận và giới hạn lỗ.

  4. Tối ưu hóa các thông số cho các thị trường khác nhau.

  5. Xem xét điều chỉnh tham số động.

  6. Xây dựng các mô hình máy học để tạo ra tín hiệu.

Kết luận

Chiến lược chọn lọc chồng chéo đảo ngược đôi cung cấp cả chức năng phân bổ tài sản và giao dịch thời gian thông qua việc kết hợp các chiến lược đảo ngược và mua quá mức. Nó có những lợi thế như các tham số linh hoạt, logic đơn giản và dễ thực hiện, lọc hiệu quả các giao dịch tiếng ồn trong các khu vực không hợp lý. Nhưng có những hạn chế như rủi ro đảo ngược và khó khăn tối ưu hóa tham số.


/*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 )

Thêm nữa