Cette stratégie utilise la combinaison de deux systèmes EMA et d'indicateurs RSI pour déterminer les tendances du marché tout en générant des signaux de trading. Elle appartient aux stratégies de suivi des tendances.
Cette stratégie utilise deux MACD avec des paramètres différents comme indicateurs de négociation principaux. Le premier MACD adopte une EMA courte de 10 périodes, une EMA longue de 22 périodes et une ligne de signal de 9 périodes. Le second MACD utilise une EMA courte de 21 périodes, une EMA longue de 45 périodes et une ligne de signal de 20 périodes.
Le premier MACD génère des signaux d'achat lorsque la ligne DIFF traverse au-dessus de zéro, et des signaux de vente lorsqu'elle traverse en dessous de zéro.
En outre, la stratégie utilise une formule de dynamique des prix pour déterminer la tendance. La dernière clôture + le plus élevé divisé par la clôture précédente + le plus élevé au-dessus de 1 indique une tendance à la hausse et génère des signaux d'achat, et vice versa pour les signaux de vente.
Enfin, la ligne K de l'indice boursier RSI au-dessus de 20 aide à confirmer les signaux de vente.
Le mécanisme double EMA dans cette stratégie peut filtrer efficacement les fausses ruptures. La formule de dynamique supplémentaire évite également les mauvais signaux causés par la volatilité. L'incorporation du Stock RSI évite de poursuivre les sommets en émettant des signaux de vente autour des zones de surachat.
Cette stratégie utilise uniquement des combinaisons simples de plusieurs indicateurs communs sans relations logiques trop complexes, ce qui la rend très facile à comprendre et à modifier.
Selon les résultats des backtests, cette stratégie a obtenu des rendements cumulés décents et un contrôle maximal du tirage sur divers produits tels que les indices boursiers et les crypto-monnaies.
Le principal risque de cette stratégie réside dans l'utilisation de moyennes mobiles pour les déterminations, ce qui peut facilement provoquer des fléchettes et des pertes lorsque les prix fluctuent violemment.
L'efficacité de l'indicateur RSI de Stoch pour détecter les niveaux de surachat/survente n'est pas idéale.
Si les prix s'effondrent brusquement mais que le MACD n'a pas encore formé une croix de la mort, cette stratégie conservera des positions perdantes et continuera à subir des pertes.
Considérez l'ajout d'un stop loss pour contrôler les pertes d'une seule position, par exemple un stop loss ATR ou un stop loss basé sur des moyennes mobiles inférieures.
Ajouter d'autres indicateurs de confirmation, tels que la combinaison de KD ou de Bollinger Bands avec le Stoch RSI pour une détection plus fiable des surachats/survente.
Incorporer une analyse du volume, comme augmenter le stop loss lorsque le volume de vente est important, ou éviter de nouvelles positions lorsque le volume est faible.
Testez différentes combinaisons de paramètres et optimisez les périodes MACD. Testez également en ajoutant des MACD d'autres délais pour une confirmation multiple.
La stratégie de trading quantitative double MACD a une logique simple et claire, utilisant des croisements doubles EMA pour déterminer les tendances, complétée par des indicateurs de dynamique pour éviter les mauvais signaux. Elle peut filtrer les opportunités de trading à forte probabilité. Les paramètres universels et les performances solides en font une bonne stratégie de base sur laquelle s'appuyer. Les prochaines étapes consistent à améliorer sa stabilité et sa rentabilité en améliorant les mécanismes de stop loss, en ajoutant une analyse de volume, en combinant d'autres indicateurs, etc.
/*backtest start: 2023-10-13 00:00:00 end: 2023-11-12 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("Multiple MACD RSI simple strategy", overlay=true, initial_capital=5000, default_qty_type=strategy.percent_of_equity, default_qty_value=80, pyramiding=0, calc_on_order_fills=true) fastLength = input(10) slowlength = input(22) MACDLength = input(9) MACD = ema(close, fastLength) - ema(close, slowlength) aMACD = sma(MACD, MACDLength) delta = MACD - aMACD fastLength2 = input(21) slowlength2 = input(45) MACDLength2 = input(20) MACD2 = ema(open, fastLength2) - ema(open, slowlength2) aMACD2 = sma(MACD2, MACDLength2) delta2 = MACD2 - aMACD2 uptrend = (close + high)/(close[1] + high[1]) downtrend = (close + low)/(close[1] + low[1]) smoothK = input(2, minval=1, title="K smoothing Stoch RSI") smoothD = input(3, minval=1, title= "D smoothing for Stoch RSI") lengthRSI = input(7, minval=1, title="RSI Length") lengthStoch = input(8, minval=1, title="Stochastic Length") src = input(close, title="RSI Source") rsi1 = rsi(src, lengthRSI) k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK) d = sma(k, smoothD) h0 = hline(80) h1 = hline(20) yearin = input(2018, title="Year to start backtesting from") if (delta > 0) and (year>=yearin) and (delta2 > 0) and (uptrend > 1) strategy.entry("buy", strategy.long, comment="buy") if (delta < 0) and (year>=yearin) and (delta2 < 0) and (downtrend < 1) and (d > 20) strategy.entry("sell", strategy.short, comment="sell") //plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)