
La stratégie est un système de suivi de tendance avancé basé sur le principe de Fibonacci retracement. Il identifie les zones de soutien et de résistance potentielles en calculant dynamiquement les niveaux de retracement Fibonacci importants: 23,6%, 38,2%, 50%, 61,8% et 78,6% . Le système utilise une fenêtre de rétroaction de 100 cycles pour déterminer les hauts et les bas et calculer les niveaux de retracement sur cette base.
La logique centrale de la stratégie est basée sur la théorie selon laquelle les prix se retournent dans les principales tendances à proximité des niveaux critiques de rétractation de Fibonacci.
Il s’agit d’une stratégie de négociation systématisée basée sur la théorie de l’analyse technique classique. La mise en œuvre programmatique lui confère une objectivité et une répétabilité. Le principal avantage de la stratégie réside dans la combinaison de la théorie de Fibonacci avec un contrôle strict des risques, adapté à une application dans les marchés tendanciels.
/*backtest
start: 2024-11-11 00:00:00
end: 2024-12-10 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Fibonacci Retracement Strategy", overlay=true)
// Inputs
lookback_period = input.int(100, title="Lookback Period")
level_1 = input.float(0.236, title="Fibonacci Level 1")
level_2 = input.float(0.382, title="Fibonacci Level 2")
level_3 = input.float(0.5, title="Fibonacci Level 3")
level_4 = input.float(0.618, title="Fibonacci Level 4")
level_5 = input.float(0.786, title="Fibonacci Level 5")
// Calculate highest high and lowest low over the lookback period
high_level = ta.highest(high, lookback_period)
low_level = ta.lowest(low, lookback_period)
// Calculate Fibonacci retracement levels
fib_236 = low_level + (high_level - low_level) * level_1
fib_382 = low_level + (high_level - low_level) * level_2
fib_50 = low_level + (high_level - low_level) * level_3
fib_618 = low_level + (high_level - low_level) * level_4
fib_786 = low_level + (high_level - low_level) * level_5
// Plot Fibonacci levels on the chart
plot(fib_236, color=color.green, title="Fib 23.6%")
plot(fib_382, color=color.blue, title="Fib 38.2%")
plot(fib_50, color=color.orange, title="Fib 50%")
plot(fib_618, color=color.red, title="Fib 61.8%")
plot(fib_786, color=color.purple, title="Fib 78.6%")
// Entry and Exit Conditions
buy_signal = ta.crossover(close, fib_618)
sell_signal = ta.crossunder(close, fib_382)
// Strategy Orders
if buy_signal
strategy.entry("Buy", strategy.long)
// Exit based on stop-loss and take-profit conditions
take_profit = high_level // Exit at the highest Fibonacci level (100%)
stop_loss = low_level // Exit at the lowest Fibonacci level (0%)
strategy.exit("Sell", from_entry="Buy", limit=take_profit, stop=stop_loss)
// Visualization of Signals
plotshape(series=buy_signal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=sell_signal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")