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.
Chiến lược theo dõi xu hướng đảo ngược hai xác nhận bao gồm hai phần:
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.
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.
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.
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 )