Chiến lược theo dõi đảo ngược kép

Tác giả:ChaoZhang, Ngày: 2023-11-22 17:42:23
Tags:

img

Tổng quan

Chiến lược theo dõi đảo ngược kép kết hợp các chiến lược phụ 123 đảo ngược và đảo ngược chính để đạt được tín hiệu giao dịch chính xác hơn. Chiến lược đảo ngược 123 quan sát sự so sánh giá đóng cửa với hai ngày trước đó và đánh giá các sự đảo ngược tiềm năng kết hợp với chỉ số Stoch. Chiến lược đảo ngược chính đánh giá các tín hiệu đảo ngược bằng cách quan sát mức thấp mới trong xu hướng giảm. Sự kết hợp các tín hiệu từ hai chiến lược có thể làm cho các quyết định giao dịch chính xác và đáng tin cậy hơn.

Nguyên tắc

Chiến lược này bao gồm hai chiến lược phụ. Chiến lược phụ đầu tiên, chiến lược 123 Reversal có logic sau:

  1. Nếu giá đóng ngày hôm nay và ngày hôm qua đều cao hơn ngày hôm trước, và chỉ số Stoch nhanh thấp hơn chỉ số Stoch chậm và đường nhanh thấp hơn 50, hãy mua dài.

  2. Nếu giá đóng ngày hôm nay và ngày hôm qua đều thấp hơn ngày hôm trước, và chỉ số Stoch nhanh trên chỉ số Stoch chậm và đường nhanh trên 50, hãy bán ngắn.

Chiến lược phụ thứ hai, chiến lược đảo ngược chìa khóa, có một logic phán đoán rất đơn giản:

Trong một xu hướng giảm, nếu một mức thấp mới xuất hiện, đi ngắn.

Tín hiệu giao dịch thực tế của toàn bộ chiến lược là chỉ khi các tín hiệu của hai chiến lược phụ ở cùng một hướng, tín hiệu giao dịch thực tế được phát hành.

Phân tích lợi thế

Lợi thế lớn nhất của chiến lược này là độ chính xác và độ tin cậy của các tín hiệu. Bởi vì nó đòi hỏi các tín hiệu của hai chiến lược con phải ở cùng một hướng trước khi thực sự đặt lệnh, một số giao dịch ồn ào có thể được lọc ra, giúp cải thiện đáng kể sự ổn định của chiến lược.

Ngoài ra, chiến lược kết hợp thông tin nhiều khung thời gian bao gồm so sánh đường dây hai ngày và thông tin chỉ số Stoch nhiều ngày, làm cho cơ sở đánh giá toàn diện và đáng tin cậy hơn.

Về nguyên tắc, chiến lược này đáp ứng các đặc điểm của cả hai chiến lược đảo ngược và theo xu hướng, làm cho nó phù hợp để thực hiện thực tế.

Phân tích rủi ro

Rủi ro lớn nhất của chiến lược này là yêu cầu về tín hiệu kép cũng làm tăng khả năng bỏ lỡ cơ hội.

Ngoài ra, các chiến lược phụ cũng có một số vấn đề. Chiến lược 123 Reversal rất nhạy cảm với các thông số và cần kiểm tra và tối ưu hóa cẩn thận. Chiến lược Key Reversal Down không hoạt động tốt cho các thị trường khác nhau.

Những vấn đề này có thể được giải quyết bằng cách điều chỉnh các tham số và đưa ra các phán quyết phụ khác.

Hướng dẫn tối ưu hóa

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

  1. Điều chỉnh các thông số của các chiến lược phụ để phù hợp hơn với các đặc điểm của các sản phẩm cụ thể.

  2. Đưa ra các chỉ số phụ trợ như khối lượng và biến động để cải thiện độ chính xác quyết định.

  3. Tăng khả năng đánh giá mô hình máy học để tự động tối ưu hóa các thông số bằng cách sử dụng dữ liệu lịch sử.

Tóm lại

Chiến lược theo dõi đảo ngược kép đạt được bảo hiểm kép của việc nắm bắt đảo ngược thông qua sự kết hợp của 123 đảo ngược và đảo ngược chính xuống các chiến lược con. Nó kết hợp các lợi thế của đảo ngược và theo xu hướng chiến lược, với triển vọng ứng dụng rộng trong thực tế. Thông qua thông số và tối ưu hóa mô hình, hiệu quả của chiến lược này có thể được cải thiện hơn nữa để trở thành một công cụ quan trọng cho các nhà giao dịch đảo ngược.


/*backtest
start: 2023-01-01 00:00:00
end: 2023-06-14 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 21/12/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
// A key reversal is a one-day trading pattern that may signal the reversal of a trend. 
// Other frequently-used names for key reversal include "one-day reversal" and "reversal day."
// How Does a Key Reversal Work?
// Depending on which way the stock is trending, a key reversal day occurs when:
// In an uptrend -- prices hit a new high and then close near the previous day's lows.
// In a downtrend -- prices hit a new low, but close near the previous day's highs
//
// 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

KRD(nLength) =>
    pos = 0.0
    xHH = highest(high[1], nLength)
    C1 = iff(high > xHH and close < close[1], true, false)
    pos := iff(C1, -1, 0)
    pos

strategy(title="Combo Backtest 123 Reversal & Key Reversal Down", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
nLength = input(1, minval=1, title="Enter the number of bars over which to look for a new high in prices.")
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posKRD = KRD(nLength)
pos = iff(posReversal123 == 1 and posKRD == 1 , 1,
	   iff(posReversal123 == -1 and posKRD == -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