The Dual Reversion RSI HistoAlert strategy generates more accurate trading signals by combining the 123 Reversion strategy and RSI HistoAlert strategy. The 123 Reversion strategy judges price reversal points and the RSI HistoAlert strategy judges overbought and oversold points. The integrated signals from both strategies can produce more reliable trading signals.
The 123 Reversion strategy is based on the hypothesis that: price reversal signals often appear 2 days before the actual price reversal.
The specific rules are:
It uses the price relationship 2 days before reversal to judge potential reversal points. The K-line indicators filter some noise signals.
The RSI HistoAlert strategy modifies the RSI indicator:
It uses the absolute RSI value to indicate overbought/oversold states and triggers signals.
This strategy combines two different strategy ideas to complement strengths and generate more reliable signals:
The main risks are:
The solutions are:
The strategy can be optimized in aspects:
The Dual Reversion RSI HistoAlert strategy combines price reversal and overbought/oversold judgment strategies for more reliable trading signals compared to single strategy usage. It has lower false signal probability and more comprehensive judgement. There is also large room for optimization via parameter tuning, multifactor verification, position holding scheme etc. for further enhancing stability and profitability.
/*backtest start: 2022-12-28 00:00:00 end: 2024-01-03 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 28/06/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 // This simple indicator modified RSI // // 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 RSI_Hist(RSIPeriod,BuyAlertLevel,SellAlertLevel,RSIHistoModify) => pos = 0.0 xPrice = close RSIMain = (rsi(xPrice, RSIPeriod) - 50) * RSIHistoModify pos:= iff(RSIMain > BuyAlertLevel, 1, iff(RSIMain < SellAlertLevel, -1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal & RSI HistoAlert", 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, "---- RSI HistoAlert ----") RSIPeriod = input(13, minval=1) BuyAlertLevel = input(-10) SellAlertLevel = input(10) RSIHistoModify = input(1.5) reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) posRSI_Hist = RSI_Hist(RSIPeriod,BuyAlertLevel,SellAlertLevel,RSIHistoModify) pos = iff(posReversal123 == 1 and posRSI_Hist == 1 , 1, iff(posReversal123 == -1 and posRSI_Hist == -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 )