Cette stratégie calcule les prix les plus élevés et les plus bas de chaque jour, combinés avec les niveaux de retracement de Fibonacci, pour trouver des opportunités de trading de percée au cours de la journée de négociation en cours.
La logique de base de cette stratégie est la suivante:
Enregistrer le prix le plus élevé du jourLe prix le plus élevé et le prix le plus bas du jourLe prix le plus bas de la journée sur le marché ouvert chaque jour.
Calculer deux niveaux de rétraction de Fibonacci de 0,236 et 0,786:
fib236High = dayLow + 0,236 * (jourHigh - jourLow)
fib786High = dayLow + 0,786 * (jourHigh - jourLow)
Si le prix de clôture dépasse la journéeHigh à la hausse, un signal d'achat est généré; si le prix de clôture dépasse la journéeLow à la baisse, un signal de vente est généré.
Prenez les stratégies haussières ou baissières correspondantes selon les signaux d'achat et de vente.
Cette stratégie combine ingénieusement le prix le plus élevé, le prix le plus bas et les niveaux de Fibonacci pour trouver des opportunités de trading lorsque des percées se produisent pendant la journée.
Les principaux avantages de cette stratégie sont les suivants:
Une fréquence de négociation intradienne élevée pour capter les percées de prix pendant les sessions de négociation de midi.
Avec un certain soutien des indicateurs techniques du retracement de Fibonacci, il ne s'agit pas simplement de poursuivre de nouveaux sommets ou de nouveaux creux.
L'utilisation des prix les plus élevés et les plus bas comme niveaux de référence a une certaine force de soutien.
La logique de négociation est simple et claire, facile à comprendre et à mettre en œuvre, adaptée au trading quantitatif.
L'affichage du prix le plus élevé, du prix le plus bas et des niveaux de Fibonacci est configurable pour l'analyse visuelle.
Cette stratégie comporte également certains risques:
Les opérations intrajournalières fréquentes peuvent augmenter les coûts de transaction et les risques de glissement.
Les percées intrajournalières peuvent être de fausses percées, avec le risque de se tromper sur les signaux haussiers ou baissiers.
Il n'y a pas de logique de stop loss, avec le risque d'augmentation des pertes.
Il est purement technique sans combiner l'analyse fondamentale.
Les contre-mesures:
Ajuster la taille de la position de manière appropriée pour réduire l'impact sur les coûts.
Combinez plus d'indicateurs techniques pour filtrer les faux signaux de rupture.
Augmenter les stratégies de stop loss pour contrôler les pertes uniques.
Combiner l'analyse des données fondamentales afin d'éviter les répercussions d'inversions de marché.
Les principales orientations d'optimisation de cette stratégie:
Améliorer la combinaison de plusieurs indicateurs techniques pour améliorer la fiabilité du signal.
Ajouter des stratégies automatiques de stop loss pour contrôler les pertes.
Optimiser les paramètres de stratégie d'achat et de vente, ajuster la gestion des positions.
Basé sur des facteurs de fréquence élevée, combiner la volatilité, le rapport de volume et d'autres signaux de filtrage.
Utilisez des méthodes d'apprentissage automatique pour trouver de meilleures combinaisons de paramètres.
Mettre en place un mécanisme de sortie dynamique, plutôt qu'un simple croisement des prix les plus élevés ou les plus bas.
Cette stratégie de Fibonacci est relativement simple, profitant en capturant les percées à court terme des niveaux de prix. Il y a une grande marge d'optimisation de la stratégie dans des domaines tels que l'optimisation des indicateurs, la gestion des pertes de stop, l'ajustement des paramètres pour en faire une stratégie intraday à haute fréquence rentable et stable.
/*backtest start: 2024-01-09 00:00:00 end: 2024-01-16 00:00:00 period: 10m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Day High/Low Fibonacci Levels Strategy", shorttitle="DHL Fibonacci", overlay=true) // Calculate the day's high and low var float dayHigh = na var float dayLow = na if change(time("D")) dayHigh := high dayLow := low // Define input for plotting lines showLines = input(true, title="Show Day High/Low Lines") showFibLevels = input(true, title="Show Fibonacci Levels") // Plot the day's high and low as lines plot(showLines ? dayHigh : na, color=color.green, style=plot.style_line, linewidth=1, title="Day High") plot(showLines ? dayLow : na, color=color.red, style=plot.style_line, linewidth=1, title="Day Low") // Calculate buy and sell conditions buyCondition = crossover(close, dayHigh) sellCondition = crossunder(close, dayLow) // Plot buy and sell signals plotshape(buyCondition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, title="Buy Signal") plotshape(sellCondition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small, title="Sell Signal") // Calculate Fibonacci levels for the day's high and low fib236High = dayLow + (0.236 * (dayHigh - dayLow)) fib786High = dayLow + (0.786 * (dayHigh - dayLow)) // Plot Fibonacci levels plot(showFibLevels ? fib236High : na, color=color.blue, style=plot.style_line, linewidth=1, title="Fib 0.236 Day High") plot(showFibLevels ? fib786High : na, color=color.purple, style=plot.style_line, linewidth=1, title="Fib 0.786 Day High") // Strategy strategy.entry("Buy", strategy.long, when=buyCondition) strategy.close("Buy", when=sellCondition)