Cette stratégie génère des signaux de trading en combinant l'indicateur 123 Reversal et l'indicateur RAVI. L'indicateur 123 Reversal appartient à la stratégie de type inversion, utilisant le mouvement des prix au cours des deux derniers jours pour déterminer les tendances futures des prix. L'indicateur RAVI détermine si le prix est entré dans la zone de surachat ou de survente.
Cet indicateur est basé sur la valeur K de l'indicateur stochastique. Plus précisément, il va long lorsque le prix de clôture aujourd'hui est inférieur aux deux jours précédents et que la ligne stochastique lente de 9 jours est inférieure à 50. Il va court lorsque le prix de clôture aujourd'hui est supérieur aux deux jours précédents et que la ligne stochastique rapide de 9 jours est supérieure à 50. Il entre donc sur la base de la confirmation des points de renversement.
Cet indicateur génère des signaux en calculant la différence entre les moyennes mobiles rapides et lentes. Plus précisément, la différence entre les moyennes mobiles de 7 jours et les moyennes mobiles de 65 jours.
Un signal est généré lorsque 123 Reversal et RAVI sont d'accord sur la direction. Le signal long est déclenché lorsque les deux indicateurs montrent 1 et le signal court est déclenché lorsque les deux montrent -1. Cette double confirmation évite les signaux erronés d'un seul indicateur.
La stratégie prend en compte à la fois les facteurs d'inversion et de tendance. La double confirmation aide à éviter les faux signaux. Les prochaines étapes pourraient être l'introduction d'algorithmes d'apprentissage automatique pour l'optimisation des paramètres adaptatifs. Ou combiner cette stratégie avec d'autres types de stratégie pour atteindre la diversification du portefeuille tout en maintenant les bénéfices et en réduisant les retraits maximaux.
/*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 )