
Cette stratégie permet de suivre la tendance en calculant le croisement de l’EMA moyen rapide et de l’EMA moyen lent, de déterminer la direction de la tendance du marché et de réaliser des transactions de suivi de la tendance. Lorsque le cours franchit l’EMA lent au-dessus de l’EMA rapide, faire plus; Lorsque le prix tombe au-dessus de l’EMA rapide, faire un plafonnement.
La stratégie permet de calculer une EMA rapide et une EMA lente en entrant les périodes de moyenne EMA rapide (i_shortTerm) et lente (i_longTerm) respectivement. La stratégie consiste à faire une entrée en bourse lorsque le cours est supérieur au cours d’une EMA à court terme (goLongCondition1) et une sortie à zéro lorsque le cours est inférieur au cours d’une EMA à court terme (goLongCondition2).
La stratégie est basée sur le principe de la croix d’or de l’EMA moyenne, en jugant la tendance principale du marché par la croix de l’EMA rapide et en suivant la tendance pour le commerce. Lorsque le cours est supérieur à l’EMA à court terme, indique une tendance d’entrée sur le marché. Lorsque le prix est supérieur à l’EMA à court terme, indique une phase de tendance à la hausse.
Les principaux avantages de cette stratégie sont les suivants:
Captured utilise les moyennes EMA croisées pour déterminer la direction des principales tendances du marché, éviter les perturbations causées par les fluctuations à court terme du marché et localiser les principales tendances.
Les paramètres EMA rapides et lents permettent d’ajuster la sensibilité aux jugements de tendance et de s’adapter de manière flexible à différentes situations.
La logique de la stratégie est simple et claire, la mise en œuvre est facile à comprendre et convient aux débutants en trading quantitatif.
Il est possible de personnaliser les paramètres du cycle EMA, d’ajuster les paramètres pour différentes variétés et marchés, d’optimiser l’effet de la stratégie.
Le prix de la rupture de l’EMA est utilisé pour éliminer les pertes, contrôler efficacement les risques et protéger les fonds.
Cette stratégie comporte aussi des risques:
Lorsque la tendance est inversée, les signaux de croisement EMA tournent plus lentement que les prix, ce qui peut entraîner de plus grandes pertes.
Il est possible de faire plusieurs fausses percées dans une EMA à court terme, ce qui entraîne des pertes.
Les paramètres paramédicaux incorrects peuvent également affecter l’efficacité de la stratégie.
L’effet est fortement lié à l’évolution du marché et ne convient pas à toutes les variétés et à toutes les étapes.
Les mesures de gestion des risques correspondantes sont les suivantes:
Optimiser les paramètres EMA et augmenter la sensibilité au renversement de tendance
Ajouter des filtres à d’autres indicateurs pour déterminer l’heure d’entrée.
Les paramètres de débogage sont constamment optimisés, adaptés à la variété et au marché.
Il est important de bien comprendre les situations dans lesquelles la stratégie s’applique et d’éviter de l’utiliser à l’aveugle.
Cette stratégie peut être optimisée dans les domaines suivants:
Le temps d’entrée est optimisé en utilisant le MACD, le KD et d’autres indicateurs pour filtrer les signaux.
Ajout de stop-loss mobiles, suivi des bénéfices et contrôle des risques.
Optimisation de la position de stop loss combinée à l’indicateur de volatilité ATR.
Test des méthodes de définition des paramètres EMA plus scientifiques et optimisation des paramètres.
La validation des signaux sur plusieurs périodes améliore l’exactitude des signaux.
L’expérience de BREAKOUT est une stratégie d’amélioration qui permet de capturer les tendances plus importantes pendant la phase d’accélération.
Cette stratégie permet de juger la direction des principales tendances du marché en croisant les moyennes EMA, de suivre les transactions de manière simple et efficace. La logique de la stratégie est claire et facile à mettre en œuvre, le risque est contrôlable et convient aux débutants en pratique de la négociation quantique.
/*backtest
start: 2023-02-15 00:00:00
end: 2024-02-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © pradhan_abhishek
//@version=5
strategy('EMA cross-over strategy by AP', overlay=true, shorttitle='EMACS-AP', initial_capital=100000, default_qty_value=100, default_qty_type=strategy.percent_of_equity, commission_value=0.025)
// inputs
i_shortTerm = input(title='Fast EMA', defval=21)
i_longTerm = input(title='Slow EMA', defval=55)
// select backtest range: if this is not given, then tradingview goes back since inception / whereever it finds data
i_from = input(defval = timestamp("01 Jan 2023 00:00"), title = "From")
i_to = input(defval = timestamp("31 Dec 2033 23:59"), title = "To")
i_showBg = input(defval = true, title = "Show In-trade / Out-trade background")
// create date function "within window of time"
date() => true
// exponential moving average (EMA) variables, derived from input parameters
shortTermEMA = ta.ema(close, i_shortTerm)
longTermEMA = ta.ema(close, i_longTerm)
atr = ta.atr(14)
// ### Trade strategy: begins ###
inTrade = strategy.position_size > 0
notInTrade = strategy.position_size <= 0
goLongCondition1 = shortTermEMA > longTermEMA
goLongCondition2 = close > shortTermEMA
// exitCondition1 = shortTermEMA < midTermEMA
exitCondition2 = close < shortTermEMA
// enter if not in trade and long conditions are met
if date() and goLongCondition1 and goLongCondition2 and notInTrade
strategy.entry('long', strategy.long)
// exit on stop-Loss hit
stopLoss = close - atr * 3
strategy.exit('exit', 'long', stop=stopLoss)
// exit if already in trade and take profit conditions are met
if date() and exitCondition2 and inTrade
strategy.close(id='long')
// ###Trade strategy: ends ###
// plot emas & background color for trade status
plot(shortTermEMA, color=color.new(color.blue, 0))
plot(longTermEMA, color=color.new(color.green, 0))
trade_bgcolor = notInTrade ? color.new(color.red, 75) : color.new(color.green, 75)
bgcolor(i_showBg ? trade_bgcolor : color.new(color.white, 75))