
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.
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.
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.
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.
/*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)