Stratégie EMA multi-indicateurs


Date de création: 2023-09-28 15:57:34 Dernière modification: 2023-09-28 15:57:34
Copier: 1 Nombre de clics: 511
1
Suivre
1235
Abonnés

Aperçu

La stratégie EMA multi-indicateurs est une stratégie de suivi de la tendance qui utilise de manière synthétique plusieurs indicateurs tels que les EMA, MACD, Oscillator, RSI, Stochastic et Bollinger Bands. La stratégie utilise le signal synthétique de plusieurs indicateurs pour déterminer si la tendance est à la hausse ou à la baisse, générant ainsi des signaux d’achat et de vente.

Principe de stratégie

La stratégie commence par calculer les indicateurs suivants:

  • EMA: moyenne mobile indicielle calculée sur une période donnée.

  • MACD: calculer la ligne DIF et la ligne DEA de l’indicateur MACD.

  • Oscillateur: Calcule la différence entre le prix de clôture et le prix d’ouverture d’un certain cycle.

  • RSI: indice de la force et de la faiblesse relative sur une période donnée.

  • Stochastic: calculer les valeurs des indicateurs aléatoires K et D de certains paramètres.

  • Les bandes de Bollinger sont les bandes de Bollinger de périodes déterminées. Elles sont les bandes de Bollinger supérieure, moyenne et inférieure.

On attribue ensuite des valeurs différentes à ces indicateurs en fonction de leur état actuel. Par exemple, lorsque le Stochastic est inférieur à 20, on attribue 2; lorsque le RSI est supérieur à 80, on attribue -2.

Les valeurs de tous les indicateurs sont ensuite additionnées pour calculer un trigger composite. Si le trigger est supérieur ou égal à 7, un signal d’achat est généré; si le trigger est inférieur ou égal à 7, un signal de vente est généré.

En calculant des signaux combinés de plusieurs indicateurs, il est possible de déterminer avec plus de précision la direction de la tendance actuelle, ce qui génère des signaux de trading plus fiables.

Analyse des avantages

Le plus grand avantage de cette stratégie multi-indicateurs est qu’il est possible d’intégrer plusieurs indicateurs pour un jugement plus complet et plus précis, évitant ainsi les faux signaux causés par un seul indicateur.

Plus précisément, l’avantage de cette stratégie réside principalement dans:

  1. L’utilisation d’indicateurs multiples est plus fiable pour déterminer les tendances. Un seul indicateur peut générer des signaux trompeurs, tandis que plusieurs indicateurs peuvent se vérifier les uns les autres, ce qui réduit les erreurs.

  2. L’indicateur utilise différentes caractéristiques pour identifier les différentes étapes de la tendance. Par exemple, le MACD peut identifier le démarrage d’une tendance, le RSI peut déterminer si elle est surchauffée, etc.

  3. L’indicateur avec différents paramètres peut capturer les caractéristiques des différentes périodes. Par exemple, l’EMA à période rapide et l’EMA à période lente.

  4. Vous pouvez personnaliser le poids de chaque indicateur. Pour les indicateurs plus importants, vous pouvez leur donner un poids plus élevé.

  5. Il est possible d’optimiser la combinaison des indicateurs et l’attribution des poids en fonction des résultats des backtests, ce qui permet d’obtenir de meilleurs résultats stratégiques.

Analyse des risques

Bien que la stratégie utilise plusieurs indicateurs pour évaluer les tendances, les risques sont les suivants:

  1. La combinaison de plusieurs indicateurs est inappropriée, ne permet pas de tirer parti des avantages de chaque indicateur ou entraîne des conflits de jugement. Il est nécessaire de comprendre le contexte d’application de chaque indicateur.

  2. L’attribution des poids n’est pas rationnelle et ne permet pas d’exprimer avec précision l’importance de chaque indicateur. Le poids doit être optimisé par des tests répétés.

  3. La configuration des paramètres à un seul cycle peut être incorrecte.

  4. Les poids et paramètres fixes des indicateurs ne peuvent pas s’adapter aux changements du marché et nécessitent l’introduction d’un mécanisme d’ajustement dynamique.

  5. Le temps d’arrêt doit être évalué en combinaison avec d’autres méthodes techniques.

  6. Les combinaisons de multiples indicateurs augmentent la complexité de la stratégie, nécessitent un soutien suffisant de données historiques et sont plus difficiles à optimiser.

Direction d’optimisation

Cette stratégie peut être optimisée dans les domaines suivants:

  1. Testez plus de types d’indicateurs pour trouver ceux qui sont plus sensibles à l’environnement actuel du marché.

  2. Optimiser les paramètres cycliques de chaque indicateur pour qu’ils puissent capturer les caractéristiques de tendance à différents niveaux.

  3. Optimiser la répartition des poids entre les indicateurs afin de mieux exprimer leur importance relative.

  4. Ajout d’un mécanisme d’ajustement dynamique, optimisation en temps réel des paramètres et des poids, adaptation aux changements du marché.

  5. Le risque de perte est réduit en combinant une stratégie de stop loss et un point de stop loss raisonnable.

  6. Augmentation de la vérification sur plusieurs cycles de temps pour éviter une sur-optimisation sur un seul cycle.

  7. Les méthodes d’optimisation par étapes et d’optimisation de combinaison sont utilisées pour trouver la combinaison optimale de paramètres.

  8. L’ajout de méthodes avancées telles que l’apprentissage automatique permettra un ajustement plus intelligent des poids des indicateurs.

  9. Optimiser la logique d’achat et de vente de la stratégie, tout en gardant une trace de la tendance et en évitant les transactions trop fréquentes.

Résumer

La stratégie EMA multi-indicateurs permet d’analyser le marché de manière plus complète et de réduire la production de signaux erronés par rapport à la stratégie d’indicateur unique. La stratégie peut également être améliorée par des méthodes telles que l’optimisation des paramètres pour mieux s’adapter à un environnement de marché complexe et changeant.

Code source de la stratégie
/*backtest
start: 2023-08-28 00:00:00
end: 2023-09-27 00:00:00
period: 4h
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/
// © ally17

//@version=4
// strategy("ELIA MULTI STRATEGY",overlay=true,initial_capital=1000, default_qty_type=strategy.percent_of_equity, commission_type=strategy.commission.percent, commission_value=0.00, default_qty_value=25)

//INPUT
start = timestamp(input(2021, "start year"), 1, 1, 00, 00)
end = timestamp(input(9999, "end year"), 1, 1, 00, 00)

emalen=input(80, title="Ema Len")
macdfast=input(12, title="Macd Fast Len")
macdslow=input(26, title="Macd Fast Len")
macdsig=input(12, title="Macd Signal Len")
occlen=input(15, title="Occ Len")

rsilen=input(2, title="Rsi Len")
stochklen=input(11, title="Stk K Len")
stochdlen=input(3, title="Stk D Len")
stochlen=input(3, title="Stk Smooth Len")
bblength = input(10, minval=1, title="BB Len")
mult = input(2.0, minval=0.001, maxval=50, title="BB Std Dev")

momlen=input(10, title="Mom Len")


//CALCOLI
var trigger = 0.0

var emavar = 0.0
var macdvar = 0.0
var occvar = 0.0

var rsivar = 0.0
var stochvar = 0.0
var bbvar = 0.0

var donvar =0.0

ema = ema(close,emalen)

[macdLine, signalLine, histLine] = macd(close, 12, 26, 9) // MACD

occ = ema(close,occlen) - ema(open,occlen)

rsi = rsi(close, rsilen) // RSI

stoch = sma(stoch(close, high, low, stochklen), stochlen) // Stoch

basis = sma(close, bblength)
dev = mult * stdev(close, bblength)
upper = basis + dev
lower = basis - dev

moment = mom(close, momlen) // Momentum

Obv = obv // OBV


//PLOT


//STRATEGIA
emavar := (close>ema)? 3 : -3
macdvar := (macdLine>signalLine)? 3 : -3
occvar := (occ>0)? 3 : -3

rsivar := (rsi<20)? 2 : (rsi>50 and rsi<80)? 1 : (rsi>80)? -2 : (rsi<50 and rsi>20)? -1 : 0
stochvar := (stoch<20)? 2 : (stoch>80)? -2 : 0
bbvar :=  (close<lower)? 2 : (close>upper)? -2 : 0

trigger := emavar+macdvar+occvar+rsivar+stochvar+bbvar

longcondition = trigger>=7
closelong = trigger<3

shortcondition = trigger<=-7
closeshort = trigger >-3

trendcolor = longcondition ? color.green : shortcondition? color.red : (trigger>3 and trigger<7)? #A2E1BF : (trigger<-3 and trigger>-7)? #E19997 : na
bgcolor(trendcolor, transp=80)


if time > start and time < end
    if longcondition
        strategy.entry("LONG", long=strategy.long)

if closelong
    strategy.close("LONG", comment="CLOSE LONG")
    
if time > start and time < end
    if shortcondition
        strategy.entry("SHORT", long=strategy.short)

if closeshort
    strategy.close("SHORT", comment="CLOSE SHORT")
    
//plotshape(longcondition, color=color.green, text="L", size=size.small, style=shape.triangledown)
//plotshape(shortcondition, color=color.red, "S"(trigger), size=size.small, style=shape.triangledown)
//plotshape(closelong, color=color.purple, text="LC", size=size.small, style=shape.triangledown)
//plotshape(closeshort, color=color.purple, text="SC", size=size.small, style=shape.triangledown)