Cette stratégie améliore l'indicateur classique RSI en définissant des lignes d'alerte d'achat et de vente. Lorsque l'indicateur RSI franchit les lignes d'alerte, les opérations d'achat ou de vente correspondantes sont effectuées.
Cette stratégie déclenche des signaux d'achat et de vente par l'intermédiaire de l'histogramme de l'indicateur RSI.
(1) Calculer la valeur de l'indicateur RSI:
RSIMain = (rsi(xPrice, RSIPeriod) - 50) * RSIHistoModify
où xPrice est la série de prix, RSIPeriod est le paramètre pour le calcul de l'indice de volatilité et RSIHistoModify est un facteur d'échelle pour la valeur de l'indice de volatilité.
(2) Définir la ligne d'alerte d'achat BuyAlertLevel et la ligne d'alerte de vente SellAlertLevel. Lorsque l'indicateur RSI est au-dessus de la ligne d'alerte d'achat, c'est un signal d'achat. Lorsqu'il est en dessous de la ligne d'alerte de vente, c'est un signal de vente.
(3) Tracer l'histogramme de l'indicateur RSI pour visualiser les signaux d'achat et de vente.
(4) Définir la position pos. Lorsqu'un signal est déclenché, définir pos à 1 (long) ou -1 (short).
(5) Déterminer la direction d'entrée et le prix en fonction de la valeur de pos.
(1) Améliore l'utilisation de l'indicateur RSI et affiche plus clairement les signaux d'achat et de vente.
(2) Paramètres personnalisables pour ajuster l'indicateur RSI et les lignes d'alerte en fonction des différents marchés.
(3) Affichage intuitif des signaux d'achat et de vente Histogramme.
(4) Capacité de choisir entre le trading positif ou inverse.
(5) L'idée stratégique est simple et claire, facile à comprendre et à modifier.
L'indicateur RSI lui-même a tendance à générer de faux signaux.
(2) Aucune prise en compte du stop loss, avec le risque de pertes énormes.
(3) Des paramètres mal réglés peuvent également entraîner une défaillance.
(1) Combiner avec d'autres indicateurs pour filtrer les faux signaux, par exemple en considérant les écarts de volume des transactions.
2) Mettre en place des mécanismes de stop loss.
(3) Optimisation des paramètres pour trouver les paramètres optimaux.
(4) Considérez la combinaison avec l'apprentissage automatique pour trouver automatiquement des paramètres optimaux à l'aide d'algorithmes.
Cette stratégie exprime les signaux d'achat et de vente de manière plus claire et intuitive en améliorant l'utilisation de l'indicateur RSI et en définissant des lignes d'alerte d'achat et de vente. Elle a une plus grande praticité par rapport à l'indicateur RSI d'origine. Mais il existe également certains risques. Des optimisations supplémentaires sont nécessaires, par exemple en combinant d'autres indicateurs techniques et en supprimant les pertes pour réduire les risques.
/*backtest start: 2022-12-22 00:00:00 end: 2023-12-28 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 22/12/2016 // This simple indicator modified RSI // You can use in the xPrice any series: Open, High, Low, Close, HL2, HLC3, OHLC4 and ect... // You can change long to short in the Input Settings // Please, use it only for learning or paper trading. Do not for real trading. //////////////////////////////////////////////////////////// strategy(title="RSI HistoAlert Strategy") RSIPeriod = input(13, minval=1) BuyAlertLevel = input(-10) SellAlertLevel = input(10) RSIHistoModify = input(1.5) reverse = input(false, title="Trade reverse") hline(0, color=purple, linestyle=line) hline(BuyAlertLevel, color=green) hline(SellAlertLevel, color=red) xPrice = close RSIMain = (rsi(xPrice, RSIPeriod) - 50) * RSIHistoModify rsiHcolor = iff(RSIMain >= 0 , green, iff(RSIMain < 0, red, black)) pos = iff(RSIMain > BuyAlertLevel, 1, iff(RSIMain < SellAlertLevel, -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(RSIMain, color=blue, title="RSI HistoAlert") plot(RSIMain, color=rsiHcolor, title="Histogram", style = histogram, linewidth = 1)