RSI et stratégie de négociation quantitative basée sur la moyenne mobile

Auteur:ChaoZhang est là., Date: 2023-12-01 14h21 et 18h
Les étiquettes:

img

Résumé

Cette stratégie s'appelle Dual Moving Average Strategy. L'idée principale est de générer des signaux de trading en utilisant simultanément l'indicateur de force relative (RSI) et l'indicateur de moyenne mobile (MA). Plus précisément, un signal d'achat est généré lorsque la ligne RSI traverse la ligne MA de haut en bas; un signal de vente est généré lorsque la ligne RSI traverse la ligne MA de bas en haut. Cette stratégie est relativement simple, mais en combinant deux types d'indicateurs différents, elle peut réduire efficacement les faux signaux et améliorer la fiabilité du signal.

Principe

La logique de base de la stratégie de la moyenne mobile double est la suivante:

  1. Calculer la valeur du RSI pour refléter la situation de surachat et de survente de l'action
  2. Calculer la valeur de l'AM pour juger de l'évolution moyenne des prix
  3. Lorsque le RSI descend du point élevé et entre dans la zone de survente de la zone de surachat, et traverse en dessous de la MA, un signal d'achat est généré
  4. Lorsque l'indice RSI monte du point le plus bas, entre dans la zone de surachat depuis la zone de survente et franchit le niveau de l'AM, un signal de vente est généré.

Lorsque les signaux de négociation ci-dessus se produisent, nous dessinerons des marques pertinentes sur le graphique pour un jugement visuel facile.

Les avantages

Le principal avantage de la stratégie de la moyenne mobile double est qu'elle peut combiner efficacement des indicateurs de tendance et des indicateurs de surachat/survente pour rendre les signaux de négociation plus fiables.

  1. Réduire les faux signaux. La combinaison de RSI et MA peut vérifier les signaux entre eux et éviter les faux signaux générés par un seul indicateur.

  2. Comparé à une stratégie unique RSI ou MA, la stratégie à moyenne mobile double peut obtenir des opportunités plus rentables.

  3. Cette stratégie utilise seulement deux paramètres, simple à utiliser, peu coûteuse et s'adapte à différents environnements de marché.

  4. Facile à optimiser. En ajustant les paramètres de cycle de RSI et MA, il est pratique d'optimiser et d'adapter à plus de variétés.

Les risques

Malgré les nombreux avantages de la stratégie de la moyenne mobile double, les risques ne peuvent pas être complètement évités dans l'application réelle.

  1. L'AM utilise des prix moyens historiques et peut être en retard par rapport aux dernières variations de prix.

  2. Le RSI peut présenter de fausses éruptions, ce qui entraîne de faux signaux.

  3. Incapable de s'adapter à l'évolution rapide des marchés, enclin à arrêter les pertes.

  4. Des paramètres incorrects peuvent également avoir une incidence sur les performances de la stratégie.

En réponse, nous effectuons principalement un contrôle des risques des aspects suivants:

  1. Utiliser l'AM adaptative pour ajuster les paramètres du cycle en fonction des dernières variations de prix.

  2. Augmenter le mécanisme d'arrêt des pertes pour contrôler les pertes uniques.

  3. Optimiser les paramètres pour sélectionner la meilleure combinaison de paramètres pour les essais.

  4. Adopter un stop-loss par étapes afin d'obtenir des bénéfices partiels et de réduire les risques.

Directions d'optimisation

Pour les problèmes potentiels avec la stratégie de la moyenne mobile double, nous considérons l'optimisation à partir des dimensions suivantes:

  1. Utiliser une MA adaptative au lieu d'une MA ordinaire pour capturer plus rapidement les variations de tendance des prix.

  2. Augmentez la vérification des indicateurs de volume pour éviter les fausses ruptures.

  3. Combiner d'autres indicateurs pour filtrer les signaux non valides. Par exemple, vérifier les indicateurs MACD ou KD.

  4. Optimiser la plage de paramètres pour trouver la combinaison optimale de paramètres. Le backtesting peut trouver la plage de paramètres de profit la plus élevée pour la stratégie.

  5. Utiliser des techniques d'apprentissage automatique pour l'optimisation adaptative des paramètres. Permettre aux stratégies de sélectionner des paramètres optimaux en fonction des conditions du marché en temps réel.

Grâce aux optimisations susmentionnées, il est prévu d'améliorer considérablement les performances en direct de la stratégie de la moyenne mobile double.

Résumé

La stratégie de la moyenne mobile double intègre les avantages des indicateurs RSI et MA. Grâce à la coopération des deux, des signaux de trading plus précis et fiables peuvent être générés. Par rapport aux stratégies d'indicateur technique unique, les stratégies de moyenne mobile double ont une précision de signal plus élevée, moins de faux signaux, une optimisation facile et d'autres avantages. Mais le risque de dysfonctionnement ne peut pas être complètement évité. Nous avons également proposé quelques mesures spécifiques de contrôle des risques. En outre, il existe des dimensions qui peuvent être optimisées pour cette stratégie. En combinant des indicateurs adaptatifs, d'autres indicateurs de vérification auxiliaires, l'optimisation des paramètres et d'autres moyens, il est prévu d'améliorer encore le taux de rendement de la stratégie. En général, cette stratégie fournit une solution d'analyse technique simple et pratique pour le trading quantitatif.


/*backtest
start: 2023-10-31 00:00:00
end: 2023-11-30 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="RSI + MA", shorttitle="RSI + MA")
reverseTrade = input(false, title = "Use Reverse Trade?")
lengthRSI = input(14, minval=1, title="RSI Length")
sourceRSI = input(close, "RSI Source", type = input.source)

showMA = input(true, title="Show MA")
lengthMA = input(9, minval=1, title="MA Length")
offsetMA = input(title="MA Offset", type=input.integer, defval=0, minval=-500, maxval=500)

up = rma(max(change(sourceRSI), 0), lengthRSI)
down = rma(-min(change(sourceRSI), 0), lengthRSI)

rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
ma = sma(rsi, lengthMA)

plot(showMA ? ma : na, "MA", color=color.blue, linewidth=2, style=0, offset=offsetMA)
plot(rsi, "RSI", color=#9915FF, linewidth=1, style=0)

band1 = hline(70, "Upper Band", color=#C0C0C0, linestyle=2, linewidth=1)
band0 = hline(30, "Lower Band", color=#C0C0C0, linestyle=2, linewidth=1)
fill(band1, band0, color=color.new(#9915FF,95), title="Background")

buy = reverseTrade ? rsi[1] < ma[1] and rsi > ma : rsi[1] > ma[1] and rsi < ma
sell = reverseTrade ? rsi[1] > ma[1] and rsi < ma : rsi[1] < ma[1] and rsi > ma

strategy.entry("Buy", true, when = buy)
strategy.entry("Sell", false, when = sell)

Plus de