
Chiến lược theo dõi xu hướng đảo ngược xác nhận kép kết hợp chiến lược đảo ngược hình dạng 123 và chiến lược phá vỡ ngưỡng kháng cự hỗ trợ, thực hiện xác nhận kép về tín hiệu đảo ngược giá, do đó lọc ra một số tín hiệu giao dịch ồn ào, tăng tỷ lệ chiến thắng của chiến lược.
Chiến lược này chủ yếu được áp dụng cho giao dịch đường dài và đường trung. Khi giá tạo ra tín hiệu đảo ngược, nó sẽ đồng thời phát hiện xem có phá vỡ mức hỗ trợ hoặc kháng cự quan trọng hay không, và chỉ tạo ra tín hiệu giao dịch sau khi xác nhận kép.
Chiến lược theo dõi xu hướng đảo ngược xác nhận kép bao gồm hai phần:
Bằng cách so sánh giá đóng cửa của hai đường K trước, đánh giá xem giá có bị đảo ngược hay không. Sau đó kết hợp với chỉ số ngẫu nhiên để xác định mức độ biến động, lọc cơ hội báo cáo sai.
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 toán các mức hỗ trợ và kháng cự. Giám sát xem giá có phá vỡ các mức quan trọng này hay không.
Khi giá đồng thời đáp ứng tín hiệu giao dịch của cả hai chiến lược, tín hiệu đảo ngược được coi là được xác nhận kép, tạo ra chỉ thị giao dịch cuối cùng.
Có thể tối ưu hóa thông qua tham số, điều chỉnh độ nghiêm ngặt của xác nhận đôi, cân bằng tỷ lệ chiến thắng chiến lược và số lần kiếm tiền.
Việc xác nhận hai lần chiến lược theo dõi xu hướng đảo ngược kết hợp thành công các lợi thế của hình thức đảo ngược và phá vỡ điểm quan trọng, đảm bảo số lần giao dịch, đồng thời nâng cao chất lượng tín hiệu, là một chiến lược phù hợp cho giao dịch xu hướng đường dài và dài. Việc bổ sung các tham số điều chỉnh và chiến lược dừng lỗ sẽ giúp tăng cường sự ổn định và thực tế của chiến lược.
/*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 )