Stratégie d'achat-vente inversée de l'EMA

Auteur:ChaoZhang est là., Date: 2023-11-28 16h54 et 14h
Les étiquettes:

img

Résumé

Il s'agit d'une stratégie de suivi de tendance basée sur les lignes EMA. Il utilise deux lignes EMA avec des périodes différentes, 21 et 55. Lorsque la ligne EMA plus rapide traverse au-dessus de la ligne EMA plus lente, un signal d'achat est généré. Lorsque la EMA plus rapide traverse au-dessous de la plus lente, un signal de vente est généré.

En outre, la stratégie intègre le reverse trading, l'ATR stop loss et le reverse take profit pour améliorer sa stabilité et sa rentabilité.

La logique de la stratégie

  1. Utilisez les lignes EMA à 21 et 55 périodes.

  2. Lorsque l'EMA 21 dépasse l'EMA 55, il indique que la tendance à court terme est à la hausse, ce qui génère un signal d'achat.

  3. Lorsque l'EMA 21 dépasse l'EMA 55, cela indique que la tendance à court terme est à la baisse, générant un signal de vente.

  4. Commerce inverse: acheter uniquement lorsque le prix est inférieur au prix d'ouverture et vendre uniquement lorsque le prix est supérieur au prix d'ouverture.

  5. ATR stop loss: utiliser N fois ATR pour définir le prix de stop loss. Cela ajuste dynamiquement le stop loss en fonction de la volatilité du marché.

  6. Reversal take profit: utiliser le prix d'entrée moins N fois ATR comme objectif de profit.

Les avantages de la stratégie

  1. Capture les tendances à moyen et à long terme en utilisant une double EMA.

  2. Le reverse trading est adapté aux transactions de tendance à court terme.

  3. L'arrêt ATR s'adapte à la volatilité du marché.

  4. L'inversion des bénéfices est proche de niveaux techniques importants avec une probabilité plus élevée.

  5. Une logique simple et claire, facile à comprendre et à modifier.

  6. Applicable aux marchés à forte volatilité tels que les crypto-monnaies.

Risques et solutions

  1. Une double EMA peut générer de faux signaux et prolonger les périodes EMA.

  2. Les transactions inversées sont sujettes à des arrêts de perte.

  3. Les fausses fuites sont fréquentes.

  4. Réservez manuellement les commandes à temps.

Suggestions d'optimisation

  1. Ajoutez des indicateurs tels que MACD, KD pour filtrer les signaux dans les zones de surachat/survente.

  2. Ajoutez plus d'EMA comme l'EMA de 120 périodes pour juger de la tendance de manière globale.

  3. Définissez un glissement différent pour les longs et les shorts pour un meilleur prix d'entrée.

  4. Réserver le stop-loss ATR pour les transactions cryptographiques hautement volatiles.

  5. Optimiser le multiplicateur ATR et les mécanismes d'arrêt de trail pour un profit maximal et un tirage minimum.

Conclusion

En conclusion, il s'agit d'une stratégie de suivi de tendance EMA double relativement simple. Sa force réside dans une logique propre, des paramètres flexibles, une applicabilité dans les tendances à moyen et à long terme et des renversements à court terme. Nous avons également analysé ses faiblesses et ses solutions potentielles, ainsi que plusieurs recommandations pour de futures améliorations. Dans l'ensemble, cette stratégie est pratique dans une certaine mesure et a la possibilité d'évoluer, mais ses paramètres doivent être ajustés pour différents marchés.


/*backtest
start: 2022-11-21 00:00:00
end: 2023-11-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © TheHulkTrading

// Simple EMA strategy, based on ema55+ema21 and ATR(Average True Range) and it enters a deal from ema55 when the other entry conditions are met


//@version=4
strategy("Simple Ema_ATR Strategy HulkTrading", overlay=true)

atr_multiplier = input(2, minval=1, title="ATR Multiplier") // ATR Multiplier. Recommended values between 1..4


emaFast=ema(close,21)
emaSlow=ema(close,55)

//Basically long and short conditions

//If long: 
// 1) close must be less than open (because we are searching for a pullback)
// 2) emaFast(21) must be bigger than emaSlow(55) - for a trend detection
// 3) Difference between emaFast and emaSlow must be greater than ATR(14) - for excluding flat
longCond = close < open and emaFast > emaSlow and abs(emaSlow-emaFast) > atr(14)  

//For short conditions are opposite
shortCond = close > open and emaFast < emaSlow and abs(emaSlow-emaFast) > atr(14) 

//Stop levels and take profits, based on ATR multiplier

stop_level_long = strategy.position_avg_price - atr_multiplier*atr(14)
take_level_long = strategy.position_avg_price + atr_multiplier*atr(14)
stop_level_short = strategy.position_avg_price + atr_multiplier*atr(14)
take_level_short = strategy.position_avg_price - atr_multiplier*atr(14)


//Entries and exits 
strategy.entry("Long", strategy.long, when=longCond, limit = emaSlow)
strategy.exit("Stop Loss/TP","Long", stop=stop_level_long, limit = take_level_long)
strategy.entry("Short", strategy.short, when=shortCond, limit = emaSlow)
strategy.exit("Stop Loss/TP","Short", stop=stop_level_short, limit = take_level_short)



Plus de