Stratégie du ruban de l'EMA

Auteur:ChaoZhang est là., Date: 2024-01-22 12:21:47 Je suis désolé
Les étiquettes:

img

Résumé

La stratégie EMA Ribbon génère des signaux de négociation en calculant les moyennes mobiles exponentielles (MME) de différentes périodes et en identifiant les croisements entre elles.

La logique de la stratégie

Le noyau de cette stratégie est constitué de 8 EMA: 20 périodes, 25 périodes, 30 périodes, 35 périodes, 40 périodes, 45 périodes, 50 périodes et 55 périodes. Ces 8 EMA forment un ruban empilé de bas en haut. Lorsqu'une EMA à plus courte période dépasse une EMA à plus longue période, un signal d'achat est généré. Lorsqu'une EMA à plus courte période dépasse une EMA à plus longue période, un signal de vente est généré.

Par exemple, lorsque l'EMA de 20 périodes dépasse l'EMA de 55 périodes, un signal d'achat est déclenché; lorsque l'EMA de 20 périodes dépasse l'EMA de 55 périodes, un signal de vente est déclenché.

Analyse des avantages

La stratégie EMA Ribbon présente les avantages suivants:

  1. L'utilisation de plusieurs EMA de périodes différentes permet d'identifier plus précisément les changements de tendance du marché.

  2. La construction d'un ruban avec plusieurs EMA rend les signaux de trading plus clairs.

  3. L'intégration des EMA à long terme et à court terme prend en compte à la fois les tendances à long terme et les corrections à court terme.

  4. La stratégie permet une grande marge d'optimisation des paramètres en ajustant les périodes EMA et autres paramètres.

  5. La logique de la stratégie est simple et facile à comprendre et à mettre en œuvre.

Analyse des risques

La stratégie du ruban de l'EMA comporte également certains risques:

  1. Il peut générer de faux signaux lorsque la tendance globale du marché n'est pas claire.

  2. La fréquence de négociation élevée augmente les coûts de transaction et de glissement.

  3. Les paramètres doivent être testés et optimisés à plusieurs reprises.

  4. Des écarts de prix soudains dus à des événements peuvent invalider les signaux.

Directions d'optimisation

La stratégie du ruban EMA peut être optimisée dans les aspects suivants:

  1. Ajustez les paramètres de la période EMA pour trouver des combinaisons optimales.

  2. Ajouter d'autres indicateurs techniques de filtrage et de confirmation des signaux pour améliorer la précision.

  3. Incorporer des indicateurs de volatilité pour réduire la fréquence des transactions dans des environnements à faible volatilité.

  4. Définir des stratégies de stop loss pour limiter les pertes par transaction.

  5. Optimiser les stratégies de gestion de l'argent pour améliorer les facteurs de profit.

  6. Testez la robustesse des paramètres sur différents produits et contrats. Trouvez les meilleurs marchés.

Résumé

La stratégie EMA Ribbon a une logique claire, identifiant la tendance avec des croisements EMA et générant des signaux de trading. Elle dispose d'un grand espace d'optimisation pour ajuster les paramètres, ajouter des filtres de signal, etc. Dans l'ensemble, elle est assez simple et pratique, bonne pour les débutants en quant trading.


/*backtest
start: 2024-01-14 00:00:00
end: 2024-01-21 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="EMA Ribbon [Krypt] with Buy/Sell Signals", shorttitle="EMA Ribbon", overlay=true)

dropn(src, n) =>
    na(src[n]) ? na : src

length1 = input(20, title="MA-1 period", minval=1)
length2 = input(25, title="MA-2 period", minval=1)
length3 = input(30, title="MA-3 period", minval=1)
length4 = input(35, title="MA-4 period", minval=1)
length5 = input(40, title="MA-5 period", minval=1)
length6 = input(45, title="MA-6 period", minval=1)
length7 = input(50, title="MA-7 period", minval=1)
length8 = input(55, title="MA-8 period", minval=1)
source_input = input(close, title="Source")

price = dropn(source_input, 1)

ema1 = ema(price, length1)
ema2 = ema(price, length2)
ema3 = ema(price, length3)
ema4 = ema(price, length4)
ema5 = ema(price, length5)
ema6 = ema(price, length6)
ema7 = ema(price, length7)
ema8 = ema(price, length8)

plot(ema1, title="MA-1", color=#f5eb5d, transp=0, linewidth=2)
plot(ema2, title="MA-2", color=#f5b771, transp=0, linewidth=2)
plot(ema3, title="MA-3", color=#f5b056, transp=0, linewidth=2)
plot(ema4, title="MA-4", color=#f57b4e, transp=0, linewidth=2)
plot(ema5, title="MA-5", color=#f56d58, transp=0, linewidth=2)
plot(ema6, title="MA-6", color=#f57d51, transp=0, linewidth=2)
plot(ema7, title="MA-7", color=#f55151, transp=0, linewidth=2)
plot(ema8, title="MA-8", color=#aa2707, transp=0, linewidth=2)

// Buy and sell signals based on crossover and crossunder
buySignal = crossover(ema1, ema8)
sellSignal = crossunder(ema1, ema8)

plotshape(series=buySignal, title="Buy Signal", color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=sellSignal, title="Sell Signal", color=color.red, style=shape.triangledown, size=size.small)

if buySignal
    strategy.entry("Enter Long", strategy.long)
else if sellSignal
    strategy.entry("Enter Short", strategy.short)

Plus de