Chiến lược này tạo ra tín hiệu giao dịch bằng cách kết hợp chỉ số 123 Reversal và chỉ số RAVI. 123 Reversal thuộc về chiến lược loại đảo ngược, sử dụng chuyển động giá trong hai ngày qua để xác định xu hướng giá trong tương lai. Chỉ số RAVI xác định xem giá đã bước vào vùng mua quá nhiều hay bán quá nhiều. Chiến lược quyết định mua dài hoặc ngắn dựa trên các tín hiệu kết hợp từ cả hai chỉ số.
Chỉ số này dựa trên giá trị K của chỉ số Stochastic. Cụ thể, nó đi dài khi giá đóng ngày hôm nay thấp hơn hai ngày trước và đường stochastic chậm 9 ngày thấp hơn 50. Nó đi ngắn khi giá đóng ngày hôm nay cao hơn hai ngày trước và đường stochastic nhanh 9 ngày cao hơn 50. Vì vậy, nó đi dài dựa trên xác nhận điểm đảo ngược.
Chỉ số này tạo ra tín hiệu bằng cách tính toán sự khác biệt giữa các đường trung bình di chuyển nhanh và chậm. Cụ thể, sự khác biệt giữa MA 7 ngày và MA 65 ngày. Nó sẽ dài khi sự khác biệt lớn hơn ngưỡng và ngắn khi thấp hơn ngưỡng. Vì vậy, các khu vực mua quá mức và bán quá mức có thể được xác định khi giao thoa MA nhanh và chậm.
Một tín hiệu được tạo ra khi 123 Reversal và RAVI đồng ý về hướng. tín hiệu dài được kích hoạt khi cả hai chỉ số hiển thị 1 và tín hiệu ngắn được kích hoạt khi cả hai chỉ số hiển thị -1.
Chiến lược này xem xét cả các yếu tố đảo ngược và xu hướng. Chứng nhận kép giúp tránh tín hiệu sai. Các bước tiếp theo có thể là giới thiệu các thuật toán học máy để tối ưu hóa tham số thích nghi. Hoặc kết hợp chiến lược này với các loại chiến lược khác để đạt được đa dạng hóa danh mục đầu tư trong khi duy trì lợi nhuận và giảm giảm tối đa.
/*backtest start: 2023-11-20 00:00:00 end: 2023-12-20 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 31/05/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 indicator represents the relative convergence/divergence of the moving // averages of the financial asset, increased a hundred times. It is based on // a different principle than the ADX. Chande suggests a 13-week SMA as the // basis for the indicator. It represents the quarterly (3 months = 65 working days) // sentiments of the market participants concerning prices. The short moving average // comprises 10% of the one and is rounded to seven. // // 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 RAVI(LengthMAFast, LengthMASlow, TradeLine) => pos = 0.0 xMAF = sma(close, LengthMAFast) xMAS = sma(close, LengthMASlow) xRAVI = ((xMAF - xMAS) / xMAS) * 100 pos:= iff(xRAVI > TradeLine, 1, iff(xRAVI < TradeLine, -1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal & Range Action Verification Index (RAVI)", 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, "---- Range Action Verification Index (RAVI) ----") LengthMAFast = input(title="Length MA Fast", defval=7) LengthMASlow = input(title="Length MA Slow", defval=65) TradeLine = input(0.14, step=0.01) reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) posRAVI = RAVI(LengthMAFast, LengthMASlow, TradeLine) pos = iff(posReversal123 == 1 and posRAVI == 1 , 1, iff(posReversal123 == -1 and posRAVI == -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 )