
Aperçu
La stratégie de SMK ULTRA TREND est une stratégie de trading quantitative qui génère des signaux de négociation basés sur les signaux croisés des moyennes mobiles à 5 jours ((EMA5)) et des moyennes mobiles à 20 jours (EMA20). L’idée centrale de la stratégie est d’utiliser les croisements des moyennes à court terme et moyennes à moyen terme pour capturer les changements de tendance du marché, générant un signal d’achat lorsque l’EMA5 traverse l’EMA20 et un signal de vente lorsque l’EMA5 traverse l’EMA20. La stratégie combine également les concepts de support et de résistance pour aider à déterminer la direction et la force de la tendance en traçant les lignes de support et de résistance sur un graphique.
Principe de stratégie
Les principes de la stratégie de croisement bi-homogène SMK ULTRA TREND peuvent être résumés dans les étapes suivantes:
- Les EMA à 5 jours et les EMA à 20 jours sont calculées. L’EMA est plus rapide à réagir aux variations de prix que la moyenne mobile simple (SMA) et est mieux adaptée pour capturer les tendances à court terme.
- Déterminez le croisement entre EMA5 et EMA20. Lorsque l’EMA5 est porté sur EMA20, un signal d’achat est généré. Lorsque l’EMA5 est porté sur EMA20, un signal de vente est généré.
- Calculer les niveaux de support et de résistance. Les niveaux de support et de résistance sont déterminés en identifiant les prix les plus bas et les plus élevés des 5 derniers jours de négociation.
- Tracez les lignes de support et de résistance EMA5, EMA20 sur un graphique pour visualiser les signaux stratégiques et les prix clés.
- Exécuter une transaction en fonction d’un signal croisé. Ouvrir une position en plus quand un signal d’achat apparaît et vendre une position en moins quand un signal de vente apparaît.
Avantages stratégiques
- Simple et facile à utiliser: la logique de la stratégie est claire, les indicateurs utilisés sont simples, les méthodes de calcul sont faciles à comprendre et à mettre en œuvre, et conviennent aux débutants en trading quantitatif.
- Adaptabilité: La stratégie de double équilibre croisé peut être appliquée à plusieurs variétés de transactions et à plusieurs périodes de temps, en ajustant les paramètres de la période de l’équilibre, permettant une adaptation flexible aux différentes caractéristiques du marché et styles de négociation.
- Suivi des tendances: L’EMA accorde plus d’importance aux changements de prix récents que la SMA et peut refléter en temps opportun les changements de tendances des prix, ce qui contribue à la bonne marche.
- L’introduction de lignes de support et de résistance permet de mieux saisir la force de la tendance et le moment potentiel d’un revirement, et de fournir plus de référence pour les décisions de négociation.
Risque stratégique
- La fréquence des transactions: cette stratégie est basée sur la génération de signaux de croisement de la courbe moyenne à court terme, qui peuvent être générés par des transactions fréquentes dans des marchés en turbulence, augmentant les coûts de transaction et le risque de retrait.
- Le retard: En tant que stratégie de suivi de la tendance, la stratégie de croisement bi-égaline est inévitablement retardée, peut manquer le meilleur moment pour le démarrage de la tendance ou retarder l’entrée en jeu lorsque la tendance est inversée.
- Faux signaux: Dans les cas où le marché est très bruyant, le croisement de la ligne moyenne peut produire de faux signaux, ce qui entraîne une mauvaise performance de la stratégie.
Orientation de l’optimisation de la stratégie
- Filtrage des signaux: sur la base de l’équilibre, l’introduction d’autres indicateurs techniques tels que le RSI, le MACD, etc., permettent une confirmation secondaire des signaux de négociation, ce qui améliore la fiabilité du signal.
- Optimisation des paramètres dynamiques: adaptation dynamique des paramètres de la période moyenne en fonction des conditions du marché et des caractéristiques de la variété, afin de mieux adapter la stratégie aux changements de rythme du marché.
- Gestion des positions: ajustement dynamique des positions en fonction de l’intensité de la tendance, de la volatilité, etc. Augmenter les positions lorsque la tendance est forte, réduire les positions lorsque la tendance est incertaine ou lorsque le risque augmente.
- Stop Loss Stop: définir des objectifs de stop-loss et de stop-loss raisonnables, contrôler le seuil de risque d’une seule transaction et améliorer le rapport risque/bénéfice d’une stratégie.
Résumer
SMK ULTRA TREND est une stratégie de trading quantitative simple et pratique qui permet de capturer les tendances du marché grâce à des signaux croisés d’EMA5 et d’EMA20, tout en combinant des outils auxiliaires tels que des lignes de support et de résistance, afin de fournir une référence pour la prise de décision de trading. Les avantages de la stratégie sont sa clarté logique, sa force d’adaptation, sa facilité à mettre en œuvre et à optimiser; les inconvénients sont la fréquence des transactions et les faux signaux qui peuvent survenir dans les marchés en turbulence.
Code source de la stratégie
/*backtest
start: 2023-05-17 00:00:00
end: 2024-05-22 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("SMK ULTRA TREND STRATEGY", overlay=true)
// Define the length for EMAs
ema5_length = 5
ema20_length = 20
// Calculate EMAs
ema5 = ta.ema(close, ema5_length)
ema20 = ta.ema(close, ema20_length)
// Plot EMAs
plot(ema5, title="EMA 5", color=color.red )
plot(ema20, title="EMA 20", color=color.blue)
// Generate buy and sell signals
buySignal = ta.crossover(ema5, ema20)
sellSignal = ta.crossunder(ema5, ema20)
// Plot buy and sell signals
plotshape(series=buySignal, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=sellSignal, location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// Execute buy and sell orders
if (buySignal)
strategy.entry("Buy", strategy.long)
if (sellSignal)
strategy.close("sell")
// Define support and resistance lengths
pivotLen = 5
// Calculate support and resistance levels
var float supportLevel = na
var float resistanceLevel = na
if (ta.pivotlow(low, pivotLen, pivotLen))
supportLevel := low[pivotLen]
if (ta.pivothigh(high, pivotLen, pivotLen))
resistanceLevel := high[pivotLen]
// Plot support and resistance levels
plot(supportLevel, title="Support Level", color=color.green, linewidth=2, style=plot.style_linebr)
plot(resistanceLevel, title="Resistance Level", color=color.red, linewidth=2, style=plot.style_linebr)