Crossover de moyenne mobile exponentielle et moyenne mobile avec stratégie étroite

Auteur:ChaoZhang est là., Date: 2024-01-19 14h50: 50
Les étiquettes:

img

Résumé

Le croisement de la moyenne mobile exponentielle (EMA) et de la moyenne mobile (MA) avec stratégie de clôture génère des signaux de négociation basés sur le mouvement du prix d'un actif par rapport à sa moyenne mobile exponentielle (EMA) de 9 périodes et à sa moyenne mobile exponentielle (MA) de 20 périodes.

La logique de la stratégie

Calcul de l'EMA et de l'EMA

  • L'EMA9 calcule la moyenne mobile exponentielle sur 9 périodes des prix de clôture.
  • ma20 calcule la moyenne mobile simple sur 20 périodes des prix de clôture.

Conditions d'achat et de vente

  • La condition buyCondition est vraie lorsque la clôture est supérieure à la fois à l'EMA9 et à la MA20.
  • La condition sellCondition est vraie lorsque la clôture est < à la fois ema9 et ma20.

Exécution des opérations

  • Lorsque buyCondition est vrai, exécuter un ordre d'entrée long.
  • Lorsque sellCondition est vrai, exécuter un ordre d'entrée court.
  • Lorsque le prix recroise l'EMA9 ou le MA20, fermez toute position ouverte.

Couleur des bougies

  • Les bougies vertes indiquent la condition d'achat
  • Les bougies rouges indiquent la condition de vente
  • Les autres bougies sont blanches par défaut.

EMA et MA

Les 9 EMA et 20 MA sont représentés sur le graphique à titre de référence visuelle.

Analyse des avantages

La stratégie combine deux indicateurs largement utilisés, en tirant parti des capacités de suivi des tendances et de lissage de l'EMA et de l'MA pour générer des signaux plus fiables.

Les croisements fournissent des signaux clairs de changement de tendance, évitant les mauvais échanges.

Le codage des couleurs des bougies indique visuellement les conditions sans calculs complexes.

L'exécution automatisée des entrées et sorties est strictement conforme à des règles prédéterminées, ce qui facilite la gestion des risques.

Analyse des risques

En tant qu'indicateurs de tendance, les moyennes mobiles peuvent produire de nombreux faux signaux pendant les périodes de fourchette.

Les mouvements rapides des prix peuvent créer un retard dans les valeurs MA et EMA, ce qui entraîne des opportunités manquées.

Les paramètres EMA et MA ont une incidence significative sur les performances de la stratégie et devraient être ajustés pour différents produits et délais.

Les stratégies automatisées ne peuvent pas s'adapter à des situations complexes comme un commerçant humain.

Directions d'optimisation

Testez différentes combinaisons de longueur EMA et MA pour trouver des paramètres optimaux qui maximisent les vrais signaux et minimisent les faux signaux.

Incorporer des indicateurs de volatilité comme ATR pour filtrer les configurations à risque plus élevé et contrôler les pertes potentielles.

Combinez avec d'autres indicateurs ou signaux tels que le volume et les bandes de Bollinger pour confirmer la fiabilité du signal.

Ajoutez un stop loss et une logique de profit pour gérer activement le risque commercial.

Résumé

Le croisement EMA et MA avec stratégie de fermeture utilise des croisements EMA et MA pour déterminer les tendances et les entrées de signaux. Bien que simple et automatique, la performance dépend fortement du réglage des paramètres et des conditions du marché. Une optimisation régulière est nécessaire pour s'adapter aux marchés en évolution.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("EMA and MA Crossover with Close Strategy", shorttitle="EMA_MA_Close", overlay=true)

// Define the length of the Exponential Moving Average and Moving Average
lengthEMA = 9
lengthMA = 20

// Calculate the 9 EMA and 20 MA
ema9 = ema(close, lengthEMA)
ma20 = sma(close, lengthMA)

// Define the buy and sell conditions
buyCondition = close > ema9 and close > ma20
sellCondition = close < ema9 and close < ma20

// Define the close position condition
closeCondition = crossover(close, ema9) or crossover(close, ma20)

// Execute buy or sell orders
if (buyCondition)
    strategy.entry("Buy", strategy.long)
else if (sellCondition)
    strategy.entry("Sell", strategy.short)

// Close any position if the close condition is met
if (closeCondition)
    strategy.close_all()

// Coloring the candles based on conditions
barcolor(buyCondition ? color.green : na)
barcolor(sellCondition ? color.red : na)

// Plotting the EMA and MA for reference
plot(ema9, color=color.blue, title="9 EMA")
plot(ma20, color=color.orange, title="20 MA")


Plus de