Stratégie de croisement de trois EMA plus RSI stochastique


Date de création: 2023-11-15 10:47:20 Dernière modification: 2023-11-15 10:47:20
Copier: 0 Nombre de clics: 954
1
Suivre
1617
Abonnés

Stratégie de croisement de trois EMA plus RSI stochastique

Aperçu

Il s’agit d’une stratégie de suivi de la tendance combinant plusieurs indicateurs. Elle utilise simultanément trois périodes différentes d’EMA, Stochastic RSI et ATR pour identifier la direction de la tendance et établir une position.

Le principe

La stratégie utilise trois EMA moyennes, les EMA de 8 cycles, de 14 cycles et de 50 cycles. Elles représentent les tendances des prix sur différentes périodes. Lorsqu’une EMA de 8 cycles traverse une EMA de 14 cycles et une EMA de 14 cycles traverse une EMA de 50 cycles, cela indique qu’elle est actuellement au début de la tendance et qu’elle peut choisir de créer des positions multiples.

L’indicateur stochastique RSI, combinant le RSI et la méthode de calcul stochastique, permet de détecter le phénomène de survente. Lorsque la ligne K du RSI stochastique traverse la ligne D en bas, cela indique que le marché est en train de passer d’une situation de survente à une situation de hausse.

L’ATR représente la gamme de fluctuations la plus proche. La stratégie utilise 3 fois l’ATR comme distance d’arrêt et 2 fois comme distance d’arrêt pour bloquer les gains et contrôler les risques.

Les avantages

  • L’utilisation d’une moyenne EMA permet d’éliminer une partie du bruit dans les données de prix et d’identifier la direction de la tendance
  • L’indicateur stochastique RSI peut détecter des opportunités de reprise
  • ATR dynamique tracking stop loss, permettant de définir des marges de profit et de perte raisonnables en fonction de la volatilité du marché

Les risques

  • Une combinaison de plusieurs indicateurs peut donner un mauvais signal
  • Le multiplicateur de stop loss fixe ne peut pas s’adapter aux changements du marché
  • Comment les cycles courts peuvent-ils être inversés ?

Il est possible d’optimiser la sensibilité de l’indicateur en ajustant les paramètres de la période EMA. Il est également possible de régler le multiplicateur de stop-loss de l’ATR pour définir les paramètres appropriés en fonction de la situation du marché. De plus, il est possible d’envisager d’ajouter d’autres indicateurs au jugement auxiliaire, afin d’éviter les faux signaux.

Direction d’optimisation

  • Adaptation des paramètres des cycles EMA pour optimiser la sensibilité de l’indicateur
  • Réglage du multiplicateur de stop-loss et de stop-stop ATR
  • Ajouter d’autres indicateurs de jugement pour éviter les faux signaux

Résumer

Cette stratégie prend en compte l’orientation de la tendance, les phénomènes de survente et de survente et la portée de la volatilité pour identifier le moment d’entrée. L’utilisation de la moyenne EMA et de l’indicateur stochastique RSI en combinaison permet d’identifier efficacement la tendance et l’ATR suit les arrêts de perte dynamiques pour aider au contrôle des risques.

Code source de la stratégie
/*backtest
start: 2023-10-15 00:00:00
end: 2023-11-14 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © FreddieChopin
 
//@version=4
strategy("3 x EMA + Stochastic RSI + ATR", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100)
 
// 3x EMA
ema1Length = input(8, "EMA1 Length", minval = 1)
ema2Length = input(14, "EMA2 Length", minval = 1)
ema3Length = input(50, "EMA3 Length", minval = 1)
ema1 = ema(close, ema1Length)
ema2 = ema(close, ema2Length)
ema3 = ema(close, ema3Length)
 
plot(ema1, color = color.green)
plot(ema2, color = color.orange)
plot(ema3, color = color.red)
 
// Stochastic RSI
smoothK = input(3, "K", minval=1)
smoothD = input(3, "D", minval=1)
lengthRSI = input(14, "RSI Length", minval=1)
lengthStoch = input(14, "Stochastic Length", minval=1)
src = input(close, title="RSI Source")
rsi1 = rsi(src, lengthRSI)
k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = sma(k, smoothD)
 
// ATR
atrPeriod = input(14, "ATR Period")
takeProfitMultiplier= input(2.0, "Take-profit Multiplier")
stopLossMultiplier= input(3.0, "Stop-loss Multiplier")
atrSeries = atr(atrPeriod)[1]
 
longCondition = ema1 > ema2 and ema2 > ema3 and crossover(k, d)
strategy.entry("long", strategy.long, when = longCondition)
 
float stopLoss = na
float takeProfit = na
 
if (strategy.position_size > 0)
    if (na(stopLoss[1]))
        stopLoss := strategy.position_avg_price - atrSeries * stopLossMultiplier
    else
        stopLoss := stopLoss[1]
    if (na(takeProfit[1]))
        takeProfit := strategy.position_avg_price + atrSeries * takeProfitMultiplier
    else
        takeProfit := takeProfit[1]
 
    strategy.exit("take profit / stop loss", limit = takeProfit, stop = stopLoss)
 
plot(stopLoss, color = color.red, linewidth = 2, style = plot.style_linebr)
plot(takeProfit, color = color.green, linewidth = 2, style = plot.style_linebr)