Le noyau de cette stratégie est d'identifier la direction de la tendance et le moment de l'entrée en utilisant les indicateurs EMA et MACD. Lorsque le prix traverse l'EMA, il est considéré que la tendance a changé, et l'indicateur de divergence MACD confirme davantage le signal de tendance.
Cette stratégie s'appuie principalement sur la ligne EMA à 20 périodes et l'indicateur MACD pour déterminer la direction de la tendance.
Signal d'achat: lorsque le prix est inférieur à 20EMA et que la ligne de l'indicateur MACD est inférieure à l'axe 0, attendez que le prix se déplace vers le haut à travers 20EMA, tout en vérifiant si la ligne de l'indicateur MACD est passée de négative à positive en même temps ou si elle vient de passer de négative à positive. Si les critères sont remplis, un signal d'achat est émis à un prix de 10 ticks au-dessus de 20EMA.
Signal de vente: lorsque le prix est au-dessus de la 20EMA et que la ligne de l'indicateur MACD est au-dessus de l'axe 0, attendez que le prix se déplace vers le bas sur la 20EMA, tout en vérifiant si la ligne de l'indicateur MACD est passée de positive à négative en même temps ou si elle vient de passer de positive à négative. Si les critères sont remplis, un signal de vente est émis à un prix de 10 ticks en dessous de la 20EMA.
Cette stratégie combine le jugement de tendance et le filtrage des indicateurs pour identifier efficacement les points de changement de tendance et éviter les faux signaux dans les zones de consolidation.
Le plus grand avantage de cette stratégie est que, tout en utilisant l'EMA pour juger de la direction de la tendance majeure, l'indicateur MACD est également utilisé pour la double confirmation, ce qui filtre certains signaux de trading bruyants.
D'autre part, la stratégie fournit également un mécanisme de contrôle des risques. En adoptant un stop-loss fixe et un take profit, les risques peuvent être contrôlés efficacement. En outre, certaines positions répondent à l'élimination des risques, tandis que l'autre partie tente de suivre la tendance au profit. Cela équilibre le risque et le rendement.
Le plus grand risque de cette stratégie est que les signaux de tendance jugés par l'EMA et le MACD peuvent ne pas être complètement fiables. Les prix peuvent inverser dans une certaine mesure, provoquant le déclenchement du stop loss. De faux signaux peuvent également se produire pendant la consolidation. Cela doit être évité autant que possible grâce à l'optimisation des paramètres.
D'autre part, les paramètres de stop loss et de take profit fixes comportent également certains risques. Lorsque le marché observe des fluctuations spectaculaires, la valeur fixe de stop loss et take profit peut ne pas s'adapter pleinement au marché, qui est enclin à être piégé ou à sortir prématurément. Cela nécessite d'ajuster les paramètres de stop loss et take profit en fonction de la volatilité et de la liquidité à ce moment-là.
La stratégie peut être optimisée de la manière suivante:
Testez différentes périodes de paramètres pour l'EMA afin de trouver la combinaison optimale de paramètres
Optimiser les paramètres du MACD pour le rendre plus adapté aux caractéristiques de la variété de négociation
Essayez de modifier les paramètres d'arrêt des pertes et de prise de profit, par exemple en utilisant ATR, etc.
Ajouter d'autres indicateurs de filtrage du signal pour améliorer la qualité du signal
Évaluer les performances commerciales entre différentes variétés et sélectionner la meilleure adaptation
Par l'optimisation des paramètres et des modèles, la stabilité et la rentabilité de la stratégie peuvent être encore améliorées.
Dans l'ensemble, cette stratégie est assez robuste, en utilisant le jugement combiné double indicateur pour filtrer les transactions bruyantes dans une certaine mesure.
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("EMA and MACD Trading Strategy", overlay=true) // Define inputs emaPeriod = input(20, title="EMA Period") macdShort = input(12, title="MACD Short Period") macdLong = input(26, title="MACD Long Period") macdSignal = input(9, title="MACD Signal Period") riskAmount = input(10, title="Risk Amount (in pips)") // Calculate indicators ema = ema(close, emaPeriod) [macdLine, signalLine, _] = macd(close, macdShort, macdLong, macdSignal) // Define long trade conditions longCondition = crossover(close, ema) and (macdLine > 0 or crossover(macdLine, signalLine)) // Removed unnecessary argument // Define short trade conditions shortCondition = crossunder(close, ema) and (macdLine < 0 or crossunder(macdLine, signalLine)) // Removed unnecessary argument // Execute long trade if (longCondition) stopLoss = close - riskAmount takeProfit = close + riskAmount strategy.entry("Long", strategy.long) strategy.exit("Exit", "Long", stop=stopLoss, limit=takeProfit) // Execute short trade if (shortCondition) stopLoss = close + riskAmount takeProfit = close - riskAmount strategy.entry("Short", strategy.short) strategy.exit("Exit", "Short", stop=stopLoss, limit=takeProfit)