
Cette stratégie est basée sur le principe du retrait de Fibonacci. Elle consiste à acheter ou à vendre lorsque le prix est en hausse ou en baisse et approche de la position critique de retrait de Fibonacci.
La stratégie commence par calculer les plus hauts et les plus bas des 50 derniers jours pour obtenir les hauts et les bas des prix. Puis, en fonction des trois niveaux clés de Fibonacci, 0,236, 0,382 et 0,618, calculer la position de retrait correspondante. Faire plus lorsque le prix augmente et approche le niveau de 0,618 (le point de séparation de l’or); Placer plus lorsque le prix baisse et approche le niveau de 0,236.
Cette stratégie est basée sur la théorie de la rétrocession de Fibonacci. Un nombre quelconque de la série de Fibonacci est égal à la proportion des deux premiers nombres, et cette proportion est proche de 0,618. La théorie de la rétrocession de Fibonacci considère qu’il y a une forte probabilité d’un renversement lorsque le prix se rapproche du niveau de 0,382 ou de 0,618 après une chute.
Il s’agit d’une stratégie de négociation de travers plutôt typique. Son plus grand avantage est de pouvoir déterminer à l’avance les points clés d’un renversement de prix et d’entrer de manière appropriée avant qu’une reprise ne se produise. De plus, la théorie de Fibonacci est largement utilisée dans l’analyse technique, ce qui donne à cette stratégie une certaine base académique.
Le principal risque de cette stratégie est de continuer à fonctionner après que le prix a franchi la position de rétractation de Fibonacci, ce qui entraîne un risque d’augmentation des pertes. De plus, aucune stratégie de négociation basée sur le jugement d’expérience ne peut éviter complètement les pertes causées par un mauvais jugement.
Pour contrôler le risque, il est possible de définir des positions de stop loss et de stop loss et de retrait lorsque les pertes atteignent un certain niveau. Il est également possible d’ajuster la position de retrait de Fibonacci en fonction de la situation du marché, ce qui rend le signal de négociation plus fiable.
Cette stratégie peut être optimisée dans les domaines suivants:
La dynamique des retraits Fibonacci, qui permet de définir des paramètres différents pour les différentes phases du marché, rendant les transactions plus flexibles;
Le filtrage est effectué en combinaison avec d’autres indicateurs, tels que le jugement sur l’augmentation du volume de transactions, l’utilisation de la ligne de parité, etc., pour rendre le signal plus fiable.
Optimiser les stratégies d’arrêt des pertes afin de mieux maîtriser les risques, par exemple en traçant les pertes et en bloquant les pertes;
Tester des cycles de données plus longs pour vérifier la stabilité de la stratégie; ajuster le temps de détention pour maximiser les gains.
Cette stratégie, basée sur la théorie de Fibonacci, détermine le point de retournement des prix et appartient à la stratégie de négociation typique du type traversant. Avec une certaine base d’analyse technique, il est possible de saisir les opportunités de retournement des prix à l’avance. Mais il existe également un risque de perte de probabilité.
/*backtest
start: 2023-10-21 00:00:00
end: 2023-11-20 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("斐波那契回撤交易策略", overlay=true, initial_capital=10000)
// 参数
length = input(50, title="斐波那契周期长度")
fib1 = input(0.236, title="斐波那契水平1")
fib2 = input(0.382, title="斐波那契水平2")
fib3 = input(0.618, title="斐波那契水平3")
// 计算斐波那契水平
highLevel = ta.highest(high, length)
lowLevel = ta.lowest(low, length)
range1 = highLevel - lowLevel
fibLevel1 = highLevel - range1 * fib1
fibLevel2 = highLevel - range1 * fib2
fibLevel3 = highLevel - range1 * fib3
// 条件
longCondition = ta.crossover(close, fibLevel3)
shortCondition = ta.crossunder(close, fibLevel1)
// 下单
strategy.entry("Buy", strategy.long, when=longCondition)
strategy.close("Buy", when=shortCondition)
// 图表标记
plot(fibLevel1, title="Fib 0.236", color=color.red)
plot(fibLevel2, title="Fib 0.382", color=color.orange)
plot(fibLevel3, title="Fib 0.618", color=color.green)