Cette stratégie utilise l'EMA pour déterminer la direction de la tendance et le retracement adaptatif de Fibonacci pour identifier automatiquement les points d'inversion, dans le but de vendre haut et d'acheter bas en capturant les tendances.
Utilisez l'EMA à 9 jours et l'EMA à 21 jours pour déterminer la direction de la tendance.
Mettre en œuvre le retracement adaptatif de Fibonacci avec 100 périodes pour déterminer automatiquement les niveaux de retracement clés en fonction des fluctuations de prix récentes.
La rupture de prix de 0,236 Fibonacci indique un renversement et ferme la position existante.
Lorsque l'EMA de 9 jours dépasse l'EMA de 21 jours, et que le prix est inférieur au sommet adaptatif de Fibonacci, allez court.
L'objectif de profit long est un croisement au-dessus de l'EMA de 200 jours.
L'EMA donne des signaux de tendance clairs, faciles à mettre en œuvre
Fibonacci adaptatif évite le réglage manuel des paramètres
Les transactions fréquentes attirent les mouvements à court terme pour les stratégies à haute fréquence
Niveaux de retracement clés pour un stop loss rapide
Paramètres configurables pour l'optimisation à travers les cycles
Le retard de l'EMA nécessite une confirmation par d'autres indicateurs
Les risques de suradaptation de Fibonacci avec des niveaux instables
Le trading à haute fréquence augmente les coûts liés aux commissions et aux slippages
Un filtrage inefficace des tendances liées à la fourchette conduit à de faux signaux
Nécessité d'améliorer la gestion des prélèvements et le contrôle du risque-rendement
Ajouter des indicateurs de volume pour éviter de faux signaux de divergence prix-volume
Optimiser les périodes d'EMA pour mieux s'adapter aux conditions actuelles du marché
Mettre en œuvre un stop loss dynamique pour un meilleur contrôle des risques
Incorporer l'indice de force de la tendance pour éviter les sauts de fouet
Considérer l'impact des coûts de négociation et fixer un objectif de profit minimum
Cette stratégie identifie la direction de la tendance avec l'EMA et détermine les niveaux d'inversion dynamiquement en utilisant le rétractation adaptative de Fibonacci, qui s'adapte automatiquement aux différentes conditions du marché. Mais elle repose davantage sur des indices sans segmentation de tendance et sur la logique Elliott Wave, laissant place à l'optimisation.
/*backtest start: 2023-08-21 00:00:00 end: 2023-09-20 00:00:00 period: 1h basePeriod: 15m 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/ // © CheatCode1 //@version=5 strategy("CC-Trend strategy 2", overlay=true, initial_capital = 10000, commission_type = strategy.commission.percent, commission_value = 0.01, default_qty_type = strategy.percent_of_equity, default_qty_value = 100 ) ema9 = ta.ema(close, 9) ema21 = ta.ema(close, 21) ema55 = ta.ema(close, 55) ema200 = ta.ema(close, 200) plot(ema200, '22', color.blue, 2) FibL = input.int(100, 'Fibonacci Length', 1, 500, group = 'Automatic Fibonacci Retracement') len1 = input.int(1, 'Show Last', 0, 1000, group = 'Automatic Fibonacci Retracement') len2 = input.int(5, 'Offset Length', 0, 1000, group = 'Automatic Fibonacci Retracement') highF = ta.highest(ema55 >= ema9 ? ema55:ema9, FibL) lowF = ta.lowest(ema55 >= ema9 ? ema9:ema55, FibL) AvgFib = highF - lowF //Fibonacci Executions LL2 = highF + .618 * AvgFib LL1 = highF + .272 * AvgFib L1 = highF L236 = highF - 0.236 * AvgFib L382 = highF - 0.382 * AvgFib Mid = highF - 0.50 * AvgFib S382 = lowF + 0.382 * AvgFib S236 = lowF + 0.236 * AvgFib S1 = lowF SS1 = lowF - .272 * AvgFib SS2 = lowF - .618 * AvgFib //Fibonacci Plot's high2FP = plot(LL2, 'Highe2', color.red,offset = len2, show_last = len1, trackprice = true) high1FP = plot(LL1, 'Highe1', color.red,offset = len2, show_last = len1, trackprice = true) highFP = plot(highF, 'High', color.red,offset = len2, show_last = len1, trackprice = true) L236P = plot(L236, "0.764", #ED381C, offset = len2, show_last = len1, trackprice = true ) L382P = plot(L382, "0.618", color.white,offset = len2, show_last = len1, trackprice = true ) MidP = plot(Mid, "0.5", color.orange,offset = len2, show_last = len1, trackprice = true ) S382P = plot(S382, "0.382", color.yellow ,offset = len2, show_last = len1, trackprice = true) S236P = plot(S236, "0.236", color.lime ,offset = len2, show_last = len1, trackprice = true) lowFP = plot(lowF, 'Low', color.green,offset = len2, show_last = len1, trackprice = true) low1FP = plot(SS1, 'Lowe1', color.green,offset = len2, show_last = len1, trackprice = true) low2FP = plot(SS2, 'Lowe2', color.green,offset = len2, show_last = len1, trackprice = true) plot(ema9, '22', color.yellow, 2) plot(ema55, '55', color.aqua, 2) plot(ema200, '200', color.maroon, 2) shortCondition = close[1] < highF and ema21 < ema55 if (shortCondition) strategy.entry("Short", strategy.short) shorttp = ta.crossover(close, ema200) and strategy.openprofit >= 0 if (shorttp) strategy.close('Short', 'Short TP', qty_percent = 100) shortclose2 = close[1] > L236 and not (shortCondition) if(shortclose2) strategy.close('Short', 'Short RM', qty_percent = 100)