
Aperçu
La stratégie est basée sur la croisée de deux moyennes mobiles ((EMA) pour générer un signal de négociation. Elle génère un signal d’achat lorsque l’EMA à court terme (20 jours) passe de bas en haut à travers l’EMA à long terme (50 jours); elle génère un signal de vente lorsque l’EMA à court terme passe de haut en bas à travers l’EMA à long terme.
Principe de stratégie
- L’EMA à 20 jours, l’EMA à 50 jours et l’EMA à 200 jours sont calculés.
- Pour juger du croisement entre l’EMA du 20e jour et celle du 50e jour:
- Un signal d’achat est généré lorsque l’EMA du 20e jour traverse l’EMA du 50e jour de bas en haut.
- Un signal de vente est généré lorsque l’EMA du 20e jour traverse l’EMA du 50e jour de haut en bas.
- Les EMA à 20 jours (en vert), à 50 jours (en rouge) et à 200 jours (en bleu) sont représentées sur le graphique pour permettre une observation intuitive de leur mouvement et de leur croisement.
- Lorsque les signaux d’achat et de vente se produisent, les signaux d’achat (le triangle supérieur vert) et de vente (le triangle inférieur rouge) correspondants sont marqués sur le graphique.
Avantages stratégiques
- La stratégie est basée sur un simple principe de croisement des moyennes mobiles, facile à comprendre et à mettre en œuvre.
- Suivi des tendances: La stratégie permet de mieux saisir les changements de tendances du marché en croisant les moyennes mobiles à court et à long terme, ce qui est approprié pour une utilisation sur un marché en tendance.
- L’EMA à 200 jours est utilisée comme référence pour les tendances à long terme, ce qui permet de juger de l’environnement dans lequel se trouve le marché.
- Affichage intuitif: la stratégie trace clairement les moyennes mobiles et les signaux d’achat et de vente sur le graphique, ce qui permet aux traders d’observer et d’analyser de manière intuitive.
Risque stratégique
- Marchés en tremblement de terre: Dans les marchés en tremblement de terre, les croisements fréquents de moyennes mobiles peuvent générer de nombreux faux signaux, ce qui entraîne une mauvaise performance de la stratégie.
- Le retard: la moyenne mobile présente un certain retard et risque de manquer le meilleur moment pour que le marché se retourne.
- Paramétrage sensible: la performance de la stratégie dépend de la sélection des périodes des moyennes mobiles. Des paramètres périodiques différents peuvent entraîner des résultats différents.
Orientation de l’optimisation de la stratégie
- Introduction d’autres indicateurs: il est possible d’envisager l’introduction d’autres indicateurs techniques, tels que le RSI, le MACD, etc., pour améliorer la fiabilité et l’exactitude du signal.
- Paramètres d’optimisation: optimisation des paramètres périodiques des moyennes mobiles pour trouver la combinaison de paramètres la plus adaptée à la situation actuelle du marché.
- Ajout d’arrêts et de freins: ajout d’un mécanisme raisonnable d’arrêt et de frein à la stratégie pour contrôler les risques et les bénéfices d’une seule transaction.
- Détermination de la tendance: les signaux de négociation sont filtrés en fonction de la tendance à long terme (par exemple, l’EMA de 200 jours) et les transactions sont effectuées uniquement dans la direction de la tendance.
Résumer
Bien que la stratégie présente certaines limites, telles qu’une mauvaise performance dans les marchés volatiles et le retard des moyennes mobiles, la stabilité et la rentabilité de la stratégie peuvent être encore améliorées par l’introduction d’autres indicateurs, l’optimisation des paramètres et l’ajout de mesures de contrôle du risque.
Code source de la stratégie
/*backtest
start: 2023-03-23 00:00:00
end: 2024-03-28 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA Crossover Strategy by Peter Gangmei", overlay=true)
// Define the length for moving averages
short_ma_length = input.int(20, "Short MA Length")
long_ma_length = input.int(50, "Long MA Length")
long_ma_200_length = input.int(200, "Long MA 200 Length")
// Define start time for testing
start_time = timestamp(2024, 01, 01, 00, 00)
// Calculate current date and time
current_time = timenow
// Calculate moving averages
ema20 = ta.ema(close, short_ma_length)
ema50 = ta.ema(close, long_ma_length)
ema200 = ta.ema(close, long_ma_200_length)
// Crossing conditions
crossed_above = ta.crossover(ema20, ema50)
crossed_below = ta.crossunder(ema20, ema50)
// Entry and exit conditions within the specified time frame
if true
if (crossed_above)
strategy.entry("Buy", strategy.long)
alert("Buy Condition", alert.freq_once_per_bar_close)
if (crossed_below)
strategy.entry("Sell", strategy.short)
alert("Sell Condition", alert.freq_once_per_bar_close)
// Plotting moving averages for visualization
plot(ema20, color=color.green, title="EMA20")
plot(ema50, color=color.red, title="EMA50")
plot(ema200, color=color.blue, title="EMA200")
// Placing buy and sell markers
plotshape(series=crossed_above, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, title="Buy Signal")
plotshape(series=crossed_below, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small, title="Sell Signal")