Chiến lược đảo ngược kết hợp yếu tố kép và chỉ báo gia tăng


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

Chiến lược đảo ngược kết hợp yếu tố kép và chỉ báo gia tăng

Tổng quan

Chiến lược này là chiến lược giao dịch đảo ngược kết hợp dựa trên mô hình hai yếu tố. Nó tích hợp hai yếu tố 123 hình dạng đảo ngược và chỉ số gia tăng, thực hiện hiệu ứng cộng của tín hiệu chiến lược.

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

123 yếu tố đảo ngược

Nhân này hoạt động dựa trên hình thức 123 của giá. Nếu hai ngày hiện tại có mối quan hệ giá đóng cửa là giá thấp - cao và chỉ số Stoch thấp hơn 50, hãy đánh giá là tín hiệu đảo ngược đáy, làm nhiều; Nếu hai ngày hiện tại có mối quan hệ giá đóng cửa là giá cao - thấp và chỉ số Stoch cao hơn 50, hãy đánh giá là tín hiệu đảo ngược đỉnh, làm trống.

Nhân tố chỉ số tăng

Yếu tố này dựa trên sự gia tăng hoặc giảm của phạm vi biến động giá để đánh giá xu hướng đảo ngược. Khi phạm vi biến động tăng, chỉ số tăng lên, và khi phạm vi giảm, chỉ số giảm. Khi chỉ số vượt qua một ngưỡng, nó tạo ra tín hiệu giảm giá, và khi đi xuống, nó tạo ra tín hiệu tăng giá.

Chỉ có tín hiệu đồng chiều của hai yếu tố mới mở vị trí, tạo ra lợi nhuận chiến lược và tránh rủi ro tín hiệu sai của một yếu tố đơn lẻ.

Phân tích lợi thế

  • Mô hình 2 yếu tố, kết hợp hình dạng giá và chỉ số biến động, cải thiện độ chính xác của tín hiệu
  • 123 định hình phán đoán địa phương extremum, chỉ số gia tăng nắm bắt điểm đảo ngược xu hướng toàn cầu, ưu thế bổ sung cho nhau
  • Chỉ mở lệnh khi cặp phát ra tín hiệu đồng hướng, lọc hiệu quả tín hiệu giả, tăng sự ổn định của chiến lược

Phân tích rủi ro

  • Có khả năng các yếu tố song song phát ra tín hiệu sai, dẫn đến nguy cơ mất mát
  • Tỷ lệ thất bại đảo ngược tồn tại, cần thiết lập dừng lỗ để kiểm soát tổn thất
  • Các tham số được tối ưu hóa không đúng có thể dẫn đến quá phù hợp

Có thể giảm nguy cơ bằng cách mở rộng tập huấn luyện, dừng nghiêm ngặt, lọc đa yếu tố.

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

  • Thử nghiệm nhiều hơn về sự kết hợp của giá cả và biến động
  • Thêm mô hình học máy để đánh giá chất lượng tín hiệu, động điều chỉnh vị trí
  • Kết hợp với khối lượng giao dịch, các yếu tố như Brin Belt đã khai thác nhiều Alpha hơn.
  • Sử dụng phương pháp “walk forward” để tối ưu hóa di chuyển và cải thiện sức khỏe

Tóm tắt

Chiến lược này kết hợp hai yếu tố hình dạng giá và chỉ số biến động, chỉ mở vị trí khi hai yếu tố phát ra tín hiệu đồng chiều, tránh rủi ro tín hiệu giả do một yếu tố duy nhất mang lại, do đó cải thiện sự ổn định tổng thể của chiến lược. Nhưng cũng có rủi ro của hai yếu tố có xác suất nhất định phát ra tín hiệu sai đồng thời. Chúng ta có thể nâng cao hơn nữa hiệu suất chiến lược và rủi ro điều chỉnh lợi nhuận bằng các phương tiện như mở rộng tập huấn luyện, thiết lập dừng và tối ưu hóa kết hợp các yếu tố tổn thất.

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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 22/02/2021
// 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 Mass Index was designed to identify trend reversals by measuring 
// the narrowing and widening of the range between the high and low prices. 
// As this range widens, the Mass Index increases; as the range narrows 
// the Mass Index decreases.
// The Mass Index was developed by Donald Dorsey. 
//
// 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


MASS(Length1,Length2,Trigger) =>
    pos = 0.0
    xPrice = high - low
    xEMA = ema(xPrice, Length1)
    xSmoothXAvg = ema(xEMA, Length1)
    nRes = sum(iff(xSmoothXAvg != 0, xEMA / xSmoothXAvg, 0), Length2)
    pos := iff(nRes > Trigger, -1,
	         iff(nRes < Trigger, 1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & MASS Index", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- MASS Index ----")
Length1 = input(9, minval=1)
Length2 = input(25, minval=1)
Trigger = input(26.5, step = 0.01)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posMASS = MASS(Length1,Length2,Trigger)
pos = iff(posReversal123 == 1 and posMASS == 1 , 1,
	   iff(posReversal123 == -1 and posMASS == -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 )