La stratégie utilise un indicateur amélioré de l’indice de force relative (RSI) développé par John Ehlers, qui réduit le retard par une méthode de lissage spéciale, ce qui produit un signal de négociation plus fiable. La stratégie peut être facilement modifiée dans les paramètres de la direction de la hausse et de la baisse.
La stratégie commence par calculer un prix de levage, soit la moyenne entre le prix de clôture actuel et le prix de clôture des 3 jours précédents. Ensuite, elle calcule le momentum de la hausse et de la baisse de ce prix de levage, puis calcule le RSI entre 0 et 1 par la méthode de la normalisation. Enfin, elle génère des instructions de négociation en fonction du RSI supérieur à 0,5 pour le signal de hausse et du RSI inférieur à 0,5 pour le signal de baisse.
Le cœur de cette stratégie réside dans l’amélioration de la façon dont le RSI est calculé. Le RSI traditionnel ne regarde que les variations de prix d’un cycle, ce qui entraîne une plus grande latence à mesure que les paramètres de cycle augmentent. L’idée d’Ehlers est de prendre en compte les tendances des variations de prix sur plusieurs cycles et d’effectuer des moyennes pondérées, afin d’atténuer le bruit à court terme causé par les variations de prix tout en réduisant la latence.
Plus précisément, la stratégie ne consiste pas simplement à voir le ratio des hausses et des baisses, mais à calculer la valeur du momentum des hausses et des baisses des prix. Ensuite, normaliser pour obtenir un RSI dans la plage 0-1. Cela permet de mieux refléter la tendance des changements de prix et de générer des signaux de négociation plus fiables.
Par rapport aux indices RSI traditionnels, cette stratégie présente les avantages suivants grâce à l’amélioration du RSI lisse:
Dans l’ensemble, la stratégie intègre les forces de l’indicateur RSI et améliore ses faiblesses, telles que le retard et la fluidité. Cela nous permet d’utiliser les signaux RSI plus puissants et plus fiables améliorés pour saisir les opportunités de changement de tendance en temps opportun tout en réduisant les perturbations du bruit du marché.
Malgré les améliorations positives apportées par cette stratégie au RSI, il existe des risques à prendre en compte:
Il est recommandé de réduire les risques stratégiques par:
La stratégie peut être optimisée de la manière suivante:
En continuant à optimiser les paramètres, le filtrage des signaux et les combinaisons, la stratégie peut être transformée en un système de trading RSI plus puissant, plus fiable et plus sensible aux tendances. Cela améliorera considérablement la victoire et la rentabilité de la stratégie.
Cette stratégie permet d’obtenir de meilleurs effets de smoothing en améliorant la méthode de calcul du RSI, de réduire efficacement les retards et d’améliorer la qualité du signal. Les avantages de la stratégie se manifestent principalement dans l’aplatissement des changements de prix, la capture en temps opportun des changements de tendance, etc. Cependant, il faut être conscient de certains risques et améliorer constamment l’efficacité de la stratégie par une optimisation continue.
/*backtest
start: 2022-09-19 00:00:00
end: 2023-09-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 16/11/2017
// This is new version of RSI oscillator indicator, developed by John Ehlers.
// The main advantage of his way of enhancing the RSI indicator is smoothing
// with minimum of lag penalty.
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Smoothed RSI")
Length = input(10, minval=1)
reverse = input(false, title="Trade reverse")
xValue = (close + 2 * close[1] + 2 * close[2] + close[3] ) / 6
CU23 = sum(iff(xValue > xValue[1], xValue - xValue[1], 0), Length)
CD23 = sum(iff(xValue < xValue[1], xValue[1] - xValue, 0), Length)
nRes = iff(CU23 + CD23 != 0, CU23/(CU23 + CD23), 0)
pos = iff(nRes == 0, -1,
iff(nRes == 1, 1, nz(pos[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)
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(nRes, color=blue, title="Smoothed RSI")