
La stratégie est un système de trading de rupture de tendance basé sur le niveau de retracement de Fibonacci 0,7. Il détermine le niveau de Fibonacci 0,7 en calculant les prix les plus élevés et les plus bas sur une période de rétrospection spécifiée et génère un signal de trading lorsque le prix franchit ce niveau. La stratégie utilise un pourcentage fixe de take-profit et de stop-loss pour gérer le risque et utilise par défaut 5 % de la valeur totale du compte comme montant de transaction unique.
La logique fondamentale de la stratégie repose sur les éléments clés suivants :
La stratégie est basée sur la théorie classique de Fibonacci et combine les éléments fondamentaux de la rupture de tendance et de la gestion des risques. Bien qu’il existe certaines limitations, grâce à une optimisation raisonnable des paramètres et au filtrage du signal, on s’attend à ce que des performances stables soient maintenues dans divers environnements de marché. Le bon fonctionnement de la stratégie nécessite que les traders aient une compréhension approfondie des caractéristiques du marché et qu’ils effectuent les ajustements et optimisations appropriés en fonction des conditions réelles.
/*backtest
start: 2024-11-26 00:00:00
end: 2024-12-25 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Fibonacci 0.7 Strategy - 60% Win Rate", overlay=true)
// Input parameters
fibonacci_lookback = input.int(20, minval=1, title="Fibonacci Lookback Period")
take_profit_percent = input.float(1.8, title="Take Profit (%)")
stop_loss_percent = input.float(1.2, title="Stop Loss (%)")
// Calculating Fibonacci levels
var float high_level = na
var float low_level = na
if (ta.change(ta.highest(high, fibonacci_lookback)))
high_level := ta.highest(high, fibonacci_lookback)
if (ta.change(ta.lowest(low, fibonacci_lookback)))
low_level := ta.lowest(low, fibonacci_lookback)
fib_level_0_7 = high_level - ((high_level - low_level) * 0.7)
// Entry Conditions
buy_signal = close > fib_level_0_7 and close[1] <= fib_level_0_7
sell_signal = close < fib_level_0_7 and close[1] >= fib_level_0_7
// Risk management
long_take_profit = strategy.position_avg_price * (1 + take_profit_percent / 100)
long_stop_loss = strategy.position_avg_price * (1 - stop_loss_percent / 100)
short_take_profit = strategy.position_avg_price * (1 - take_profit_percent / 100)
short_stop_loss = strategy.position_avg_price * (1 + stop_loss_percent / 100)
// Execute trades
if (buy_signal)
strategy.entry("Buy", strategy.long)
if (sell_signal)
strategy.entry("Sell", strategy.short)
// Take Profit and Stop Loss
if (strategy.position_size > 0)
strategy.exit("Take Profit/Stop Loss", "Buy", stop=long_stop_loss, limit=long_take_profit)
if (strategy.position_size < 0)
strategy.exit("Take Profit/Stop Loss", "Sell", stop=short_stop_loss, limit=short_take_profit)
// Plot Fibonacci Level
plot(fib_level_0_7, color=color.blue, title="Fibonacci 0.7 Level")