
Aperçu
Le but de la stratégie est d’identifier les points de retournement potentiels de la tendance en croisant les moyennes mobiles indicielles à 20 cycles (EMA) et les moyennes mobiles simples à 20 cycles (SMA). L’opportunité de faire une hausse ou une baisse est déterminée en fonction de la direction de la croisée.
Principe de stratégie
- Faire plus lorsque l’EMA à 20 cycles est traversée par le SMA à 20 cycles et que la clôture est supérieure à l’EMA à 20 cycles.
- Lorsque l’EMA à 20 cycles traverse le SMA à 20 cycles de haut en bas et que le prix de clôture est inférieur à l’EMA à 20 cycles, la position est vide.
- Pour les surenchères, il est préférable de se positionner en position libre lorsque l’EMA de 20 cycles est inférieure à la SMA de 20 cycles.
- Pour les options binaires, la position est levée lorsque l’EMA de 20 cycles est portée sur la SMA de 20 cycles.
Cette stratégie utilise les fonctions de croisement et de croisement de ta pour détecter les croisements de ligne uniforme.
Analyse des avantages
Cette stratégie, combinant la fonction de suivi de tendance des moyennes mobiles et la génération de signaux de croisement des moyennes, présente les avantages suivants:
- Les moyennes mobiles sont efficaces pour filtrer le bruit du marché et identifier les tendances à moyen et long terme.
- Le croisement de la même ligne est facile à utiliser et permet de déterminer clairement le point de basculement du marché.
- Le paramètre de 20 cycles fonctionne pour la plupart des actions et des périodes de temps, sans avoir besoin d’être ajusté fréquemment.
- Le lien entre la clôture et l’EMA a permis d’éviter certains faux signaux.
- Les règles sont claires et simples, faciles à comprendre et à mettre en œuvre, et conviennent aux investisseurs de faible niveau.
Analyse des risques
La stratégie présente également les risques suivants:
- Les moyennes mobiles sont rétrogrades et risquent de manquer des retournements de tendance à court terme et violents.
- Le croisement de la même ligne peut générer des signaux de bruit, ce qui affecte la stabilité de la stratégie.
- Le paramètre de 20 cycles fixes peut ne pas s’appliquer à certaines actions et doit être ajusté.
- Il n’existe pas de mécanisme de stop-loss, ce qui pourrait entraîner des pertes individuelles plus importantes.
La réponse:
- Réduire le cycle moyen de manière appropriée et accélérer la réaction.
- Ajout d’autres conditions de filtrage pour éviter les faux signaux.
- Test et optimisation des paramètres et des catégories d’actions
- Le risque est maîtrisé par l’ajout d’une méthode de stop loss.
Direction d’optimisation
La stratégie peut également être optimisée pour:
- Ajouter d’autres indicateurs de jugement, construire une stratégie composée, comme l’ajout de volume de transaction, RSI et autres indicateurs.
- Optimisation des tests sur les cycles de moyenne et les variétés de transactions, en définissant des paramètres d’adaptation.
- Construire des mécanismes de sortie dynamiques, tels que des arrêts de suivi de tendance, des arrêts de temps, etc.
- L’intégration de la fonctionnalité de négociation algorithmique permet une négociation automatique.
- L’ajout d’algorithmes d’apprentissage automatique pour l’adaptation et l’optimisation des stratégies
Résumer
Cette stratégie est simple et pratique dans l’ensemble, et est une stratégie courante et efficace pour identifier les points de retournement de tendance potentiels en utilisant la théorie de la transition linéaire uniforme. Cependant, il y a de la place pour l’amélioration, en ajoutant d’autres indicateurs techniques, paramètres dynamiques, méthodes de stop loss et méthodes de négociation algorithmique.
Code source de la stratégie
/*backtest
start: 2022-12-28 00:00:00
end: 2024-01-03 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA-SMA Crossover Strategy", overlay=true)
// Define the length of the moving averages
emaLength = 20
smaLength = 20
// Calculate moving averages
emaValue = ta.ema(close, emaLength)
smaValue = ta.sma(close, smaLength)
// Buy condition
buyCondition = ta.crossover(emaValue, smaValue) and close > emaValue
// Short sell condition
sellCondition = ta.crossunder(emaValue, smaValue) and close < emaValue
// Exit conditions for both Buy and Short sell
exitBuyCondition = ta.crossunder(emaValue, smaValue)
exitSellCondition = ta.crossover(emaValue, smaValue)
// Strategy logic
if (buyCondition)
strategy.entry("Buy", strategy.long)
if (sellCondition)
strategy.entry("Sell", strategy.short)
if (exitBuyCondition)
strategy.close("Buy")
if (exitSellCondition)
strategy.close("Sell")
// Plot the moving averages
plot(emaValue, color=color.blue, title="20 EMA")
plot(smaValue, color=color.red, title="20 SMA")