Stratégie de trading de l'indicateur RSI combinant moyenne mobile et MACD


Date de création: 2024-02-20 14:28:59 Dernière modification: 2024-02-20 14:28:59
Copier: 0 Nombre de clics: 880
1
Suivre
1617
Abonnés

Stratégie de trading de l’indicateur RSI combinant moyenne mobile et MACD

Aperçu

La stratégie utilise une combinaison de moyenne mobile, d’indicateur MACD et d’indicateur RSI pour identifier les tendances des prix des actions et réaliser des achats et des ventes à bas prix. Elle génère un signal d’achat lorsque la moyenne mobile à court terme traverse la moyenne mobile à long terme et que la clôture est supérieure à la moyenne mobile à 50 jours. Elle génère un signal de vente lorsque la moyenne mobile à long terme traverse la moyenne mobile à court terme et que la clôture est inférieure à la moyenne mobile à 50 jours.

Principe de stratégie

La stratégie repose principalement sur la stratégie de la double moyenne mobile, qui génère un signal d’achat lorsque la moyenne mobile à court terme (EMA à 3 jours) est traversée par la moyenne mobile à long terme (EMA à 30 jours) et un signal de vente lorsque la moyenne mobile à long terme est traversée par la moyenne mobile à court terme (EMA à 30 jours). C’est une technique couramment utilisée pour déterminer les tendances à court et à long terme des cours des actions.

En outre, la stratégie a introduit une moyenne mobile de 50 jours, qui ne génère des signaux d’achat que lorsque le prix est supérieur à la ligne de 50 jours et des signaux de vente lorsque le prix est inférieur, afin d’éviter les transactions fréquentes et de filtrer les faux signaux.

En outre, le RSI est utilisé pour déterminer si le RSI est un surachat ou un survente. Si le RSI est supérieur à 70, il est considéré comme un surachat, et même une forte hausse à court terme peut faire face à une reprise. Si le RSI est inférieur à 30, il est considéré comme un survente, et même une forte baisse à court terme peut faire face à une reprise.

Enfin, le diagramme MACD est utilisé pour déterminer la tendance à moyen et long terme. Si le diagramme MACD est supérieur à 0, la ligne moyenne est une tendance à la hausse, ce qui rend le signal d’entrée plus fiable. Si le diagramme MACD est inférieur à 0, la ligne moyenne est une tendance à la baisse, ce qui peut être ajusté même si un signal d’achat est généré à court terme.

Avantages stratégiques

Le plus grand avantage de cette stratégie est la combinaison de plusieurs indicateurs, ce qui rend les signaux d’entrée et de sortie plus précis et fiables. Un seul indicateur est susceptible de produire de faux signaux, et la stratégie permet de déterminer la tendance à court terme en utilisant des moyennes mobiles, le RSI pour déterminer les surachats et les surventeurs, le MACD pour déterminer la tendance à moyen et long terme, ce qui améliore considérablement la probabilité de réussite de chaque transaction.

Un autre avantage est la combinaison de trading de tendance et de trading de contre-courant. Suivre la tendance, suivre la dynamique est la croyance de tous les traders de tendance.

Risque stratégique

Le principal risque de cette stratégie est l’adaptation rapide d’un événement soudain. Toute stratégie quantitative est difficile à gérer en cas de fortes fluctuations de prix causées par des marges importantes ou des nouvelles positives.

Un autre risque est qu’une correction à court terme dans un mouvement à plusieurs têtes entraîne un arrêt de la perte. Même si la ligne moyenne est toujours un marché haussier, une correction à court terme peut être arrêtée pour terminer une position longue.

Optimisation de la stratégie

Cette stratégie peut être optimisée à partir des dimensions suivantes:

  1. Optimisation des paramètres. Vous pouvez tester plus de combinaisons de paramètres pour trouver le paramètre optimal.

  2. Ajout d’autres indicateurs. Vous pouvez tester l’ajout d’autres indicateurs tels que les lignes de Brin, KDJ, pour enrichir la combinaison de plusieurs indicateurs et améliorer la qualité du signal.

  3. Optimisation des mécanismes de freinage. Des freins plus avancés tels que le freinage de suivi, le freinage de rupture par intervalles peuvent être testés pour réduire la probabilité que le freinage soit heurté.

  4. Adaptation à un plus grand nombre d’environnements de marché. Les paramètres de la stratégie peuvent être optimisés pour lui permettre de générer des rendements stables sur un plus grand nombre de types de marchés.

Résumer

La stratégie utilise une combinaison de moyennes mobiles, d’indicateurs RSI et de MACD pour générer des signaux de haute qualité, évitant les contraintes d’un seul indicateur, ce qui donne une grande confiance à chaque décision d’achat et de vente. En même temps, la stratégie prend en compte le trading tendanciel et le trading contre-courant, tout en garantissant que la tendance se frappe.

Code source de la stratégie
/*backtest
start: 2023-02-13 00:00:00
end: 2024-02-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy('sachin 3.30 ', overlay=true)

// Input parameters
length = input.int(14, title='RSI Length', minval=1)
overbought = input.int(70, title='RSI Overbought Level', minval=0, maxval=100)
oversold = input.int(30, title='RSI Oversold Level', minval=0, maxval=100)
ema3_length = input(3, title='EMA 3 Length')
ema30_length = input(30, title='EMA 30 Length')
ema50_length = input(50, title='EMA 50 Length')

// Calculate EMAs
ema3 = ta.ema(close, ema3_length)
ema30 = ta.ema(close, ema30_length)
ema50 = ta.ema(close, ema50_length)

// Calculate RSI
rsiValue = ta.rsi(close, length)

// Calculate MACD
[macdLine, signalLine, hist] = ta.macd(close, 12, 26, 9)

var float buyPrice = na

// Buy condition: EMA 3 crosses above EMA 30 and price is above EMA 50
buyCondition = ta.crossover(ema3, ema30) and close > ema50
if (buyCondition)
    buyPrice := close
    strategy.entry('Buy', strategy.long)

// Exit long position when close is below EMA30 and below the low of the previous 3 candles after the buy entry
exitLongCondition = close < ema30 and close < ta.lowest(low, 3) and close < buyPrice
if (exitLongCondition)
    strategy.close('BuyExit')

// Sell condition: EMA 3 crosses below EMA 30 and price is below EMA 50
sellCondition = ta.crossunder(ema3, ema30) and close < ema50
if (sellCondition)
    strategy.entry('Sell', strategy.short)

// Exit short position when close is above EMA30 and above the high of the previous 3 candles after the sell entry
exitShortCondition = close > ema30 and close > ta.highest(high, 3)
if (exitShortCondition)
    strategy.close('SellExit')

// Plot EMAs on the chart
plot(ema3, color=color.new(color.blue, 0), title='EMA 3')
plot(ema30, color=color.new(color.red, 0), title='EMA 30')

// Change color of EMA 50 based on MACD histogram
ema50Color = hist > 0 ? color.new(color.blue, 0) : hist < 0 ? color.new(color.black, 0) : color.new(color.blue, 0)
plot(ema50, color=ema50Color, title='EMA 50 Colored')

// Change color of EMA 30 based on RSI trend
ema30Color = rsiValue > oversold ? color.new(color.green, 0) : rsiValue < overbought ? color.new(color.red, 0) : color.new(color.blue, 0)
plot(ema30, color=ema30Color, title='EMA 30 Colored')

// Highlight Buy and Sell signals on the chart
bgcolor(buyCondition ? color.new(color.green, 90) : na)
bgcolor(sellCondition ? color.new(color.red, 90) : na)

// Plotting Buy and Sell Signals on the Chart until strategy exit
barcolor(strategy.position_size > 0 and rsiValue > overbought ? color.new(color.yellow, 0) : strategy.position_size < 0 and rsiValue < oversold ? color.new(color.black, 0) : na)