Chiến lược cân bằng đảo ngược kép


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

Chiến lược cân bằng đảo ngược kép

Tổng quan

Chiến lược cân bằng hai lần đảo ngược là một chiến lược kết hợp sử dụng chiến lược đảo ngược và chiến lược phân tích sóng lọc. Chiến lược này đầu tiên sử dụng hệ thống 123 quay ngược để tạo tín hiệu giao dịch, sau đó kết hợp với phân tích mô hình kinh nghiệm (EMD) để xử lý sóng lọc, tổng hợp cả hai tín hiệu giao dịch, để đạt được tỷ lệ thắng cao hơn.

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

123 hệ thống quay ngược

123 hệ thống đảo ngược bắt nguồn từ Ulf Jensen’s How to get three times the profit in the futures market. Chiến lược này thuộc loại chiến lược đảo ngược. Khi giá đóng cửa cao hơn giá đóng cửa ngày trước 2 ngày liên tiếp và đường K chậm 9 ngày dưới 50, hãy làm nhiều; Khi giá đóng cửa thấp hơn giá đóng cửa ngày trước 2 ngày liên tiếp và đường K nhanh 9 ngày trên 50, hãy làm trống.

Phân tích mô hình kinh nghiệm (EMD)

Phân tích mô hình kinh nghiệm (EMD) là một phương pháp phân tích dữ liệu tự điều chỉnh. Nó có thể tách các thành phần tần số khác nhau trong dữ liệu một cách hiệu quả, trích xuất xu hướng dài hạn của dữ liệu. Ở đây chúng tôi đặt chiều dài là 20, delta là 0,5, fraction là 0,1, tạo ra tín hiệu giao dịch dựa trên các thành phần tần số khác nhau trong giá cả.

Tín hiệu tổng hợp

Chiến lược cân bằng đảo ngược kép tổng hợp các tín hiệu giao dịch được tạo ra từ phân tích hệ thống 123 đảo ngược và mô hình kinh nghiệm, xác nhận entrada khi cả hai tín hiệu phù hợp. Điều này có thể làm tăng tỷ lệ chiến thắng của chiến lược.

Phân tích lợi thế

Chiến lược cân bằng đảo ngược kép kết hợp chiến lược đảo ngược và kỹ thuật xử lý tín hiệu kỹ thuật số, tích hợp lợi thế của các mô hình khác nhau. Hệ thống đảo ngược nắm bắt cơ hội đảo ngược ngắn hạn, phân tích mô hình kinh nghiệm để nắm bắt xu hướng dài hạn, sử dụng cả hai cùng nhau có thể tăng sự ổn định của chiến lược.

Chiến lược này cũng giới thiệu 123 hình thức, có thể tránh không lý tưởng đảo ngược được đánh giá. thiết lập tham số hợp lý trong phân giải mô hình kinh nghiệm, giúp lọc ra một phần của tiếng ồn, giảm tín hiệu sai.

Phân tích rủi ro

Rủi ro lớn nhất của chiến lược cân bằng đảo ngược kép là đảo ngược thất bại. Mặc dù việc giới thiệu hình thức 123 có thể làm giảm xác suất này, hãy nhớ rằng giao dịch đảo ngược có tính không chắc chắn lớn hơn. Ngoài ra, phân tích mô hình kinh nghiệm như một phương pháp tự điều chỉnh cho sóng cũng có thể không hiệu quả trong trường hợp cực đoan.

Để kiểm soát những rủi ro này, chúng ta có thể điều chỉnh các tham số đảo ngược một cách thích hợp, đảm bảo tín hiệu đảo ngược đáng tin cậy hơn. Cũng có thể thử nghiệm các phương pháp khác nhau để phân tích mô hình kinh nghiệm thay thế, xem có thể có hiệu quả tốt hơn hay không. Ngoài ra, việc giữ khối lượng giao dịch nhỏ để tránh tổn thất đơn lẻ quá lớn cũng là cần thiết.

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

Chiến lược này có thể được tối ưu hóa theo các khía cạnh sau:

  1. Kiểm tra hệ thống đảo ngược với các tham số khác nhau để xác định sự kết hợp tham số tốt nhất

  2. Thử các phương pháp lọc số khác nhau như biến tần nhỏ, biến Hilbert.

  3. Tăng chiến lược dừng lỗ để kiểm soát tổn thất đơn lẻ

  4. Kết hợp với các chỉ số khác để đảm bảo hướng giao dịch chính xác và đáng tin cậy hơn

  5. Tối ưu hóa quản lý vốn, xác định tỷ lệ kích thước giao dịch tốt nhất

Tóm tắt

Chiến lược cân bằng đảo ngược kép lợi thế của việc sử dụng chiến lược đảo ngược và kỹ thuật xử lý tín hiệu kỹ thuật số. Nó đặt các tham số hợp lý, kiểm soát rủi ro, ổn định giao dịch. Chiến lược này có tính phổ biến và mở rộng mạnh mẽ, là một chiến lược giao dịch đáng khuyên.

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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 30/06/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
// The related article is copyrighted material from Stocks & Commodities Mar 2010
//
// 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

Empirical(Length,Delta,Fraction) =>
    pos = 0
    xBandpassFilter = 0.0
    xPeak = 0.0
    xValley =0.0
    xPrice = hl2
    beta = cos(3.1415 * (360 / Length) / 180)
    gamma = 1 / cos(3.1415 * (720 * Delta / Length) / 180)
    alpha = gamma - sqrt(gamma * gamma - 1)
    xBandpassFilter := 0.5 * (1 - alpha) * (xPrice - xPrice[2]) + beta * (1 + alpha) * nz(xBandpassFilter[1]) - alpha * nz(xBandpassFilter[2])
    xMean = sma(xBandpassFilter, 2 * Length)
    xPeak :=  iff (xBandpassFilter[1] > xBandpassFilter and xBandpassFilter[1] > xBandpassFilter[2], xBandpassFilter[1], nz(xPeak[1])) 
    xValley :=  iff (xBandpassFilter[1] < xBandpassFilter and xBandpassFilter[1] < xBandpassFilter[2], xBandpassFilter[1], nz(xValley[1])) 
    xAvrPeak = sma(xPeak, 50)
    xAvrValley = sma(xValley, 50)
    nAvrPeak = Fraction * xAvrPeak
    nAvrValley = Fraction * xAvrValley
    pos := iff(xMean > nAvrPeak and xMean > nAvrValley, 1,
    	   iff(xMean < nAvrPeak and xMean < nAvrValley, -1, nz(pos[1], 0)))
    pos

strategy(title="Combo Backtest 123 Reversal & Empirical Mode Decomposition", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthEMD = input(20, minval=1)
Delta = input(0.5)
Fraction = input(0.1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posEmpirical = Empirical(LengthEMD,Delta,Fraction)
pos = iff(posReversal123 == 1 and posEmpirical == 1 , 1,
	   iff(posReversal123 == -1 and posEmpirical == -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 )