Chiến lược theo dõi xu hướng đảo ngược xác nhận kép

Tác giả:ChaoZhang, Ngày: 2024-01-17 18:03:50
Tags:

img

Tổng quan

Chiến lược theo dõi xu hướng đảo ngược xác nhận kép tích hợp chiến lược mô hình đảo ngược 123 và chiến lược phá vỡ hỗ trợ / kháng cự để thực hiện xác nhận hai lần các tín hiệu đảo ngược giá và lọc ra một số tín hiệu giao dịch ồn ào, do đó cải thiện tỷ lệ thắng của chiến lược.

Nó chủ yếu được sử dụng cho giao dịch trung hạn đến dài hạn. Khi giá hình thành tín hiệu đảo ngược, nó sẽ phát hiện xem mức hỗ trợ hoặc kháng cự chính có bị phá vỡ cùng một lúc hay không.

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

Chiến lược theo dõi xu hướng đảo ngược hai xác nhận bao gồm hai phần:

  1. 123 chiến lược đảo ngược mô hình

    Bằng cách so sánh giá đóng của hai ngọn nến trước đó, xác định xem giá có hình thành một mô hình đảo ngược hay không. Kết hợp với chỉ số chứng khoán để xác định dao động để lọc các cơ hội sai.

  2. Chiến lược hỗ trợ/kháng cự

    Sử dụng giá cao nhất, giá thấp nhất và giá đóng cửa của ngày trước để tính mức hỗ trợ và kháng cự.

Khi giá đáp ứng các tín hiệu giao dịch của cả hai chiến lược cùng một lúc, tín hiệu đảo ngược được coi là được xác nhận gấp đôi và lệnh giao dịch cuối cùng được tạo ra.

Ưu điểm của Chiến lược

  • Độ tin cậy cao hơn với xác nhận tín hiệu kép
  • Khai thác kịp thời các cơ hội chuyển đổi bằng cách theo dõi đảo ngược
  • Việc lọc phá vỡ giả hiệu quả với chỉ số stochastic

Rủi ro của chiến lược

  • Một số ít cơ hội được lọc ra do xác nhận hai lần
  • Nguy cơ thất bại trong việc đảo ngược trong các xu hướng chính

Các thông số có thể được tối ưu hóa để điều chỉnh độ nghiêm ngặt của xác nhận hai lần và cân bằng tỷ lệ thắng và số lượng giao dịch có lợi nhuận.

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

  • Điều chỉnh các tham số ngẫu nhiên để tối ưu hóa lọc dao động
  • Kiểm tra các khung thời gian khác nhau để tính toán mức hỗ trợ / kháng cự
  • Thêm chiến lược dừng lỗ để giảm rủi ro đảo ngược dưới xu hướng chính

Kết luận

Chiến lược theo dõi xu hướng đảo ngược xác nhận kép kết hợp thành công các lợi thế của các mẫu đảo ngược và đột phá mức chính. Trong khi cải thiện chất lượng tín hiệu, nó cũng đảm bảo số lượng giao dịch. Đây là một chiến lược phù hợp cho giao dịch xu hướng trung bình đến dài hạn.


/*backtest
start: 2023-12-17 00:00:00
end: 2024-01-16 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 15/09/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 name ‘Floor-Trader Pivot,’ came from the fact that Pivot points can 
// be calculated quickly, on the fly using price data from the previous day 
// as an input. Although time-frames of less than a day can be used, Pivots are 
// commonly plotted on the Daily Chart; using price data from the previous day’s 
// trading activity. 
//
// 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


FPP() =>
    pos = 0
    xHigh  = security(syminfo.tickerid,"D", high[1])
    xLow   = security(syminfo.tickerid,"D", low[1])
    xClose = security(syminfo.tickerid,"D", close[1])
    vPP = (xHigh+xLow+xClose) / 3
    vR1 = (vPP * 2) - xLow
    vS1 = (vPP * 2) - xHigh
    pos := iff(close > vR1, 1,
             iff(close < vS1, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Floor Pivot Points", shorttitle="Combo", overlay = true)
Length = input(15, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posFPP = FPP()
pos = iff(posReversal123 == 1 and posFPP == 1 , 1,
	   iff(posReversal123 == -1 and posFPP == -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