
Die Strategie ist ein fortgeschrittenes Trend-Tracking-System, basierend auf dem Fibonacci-Retracement-Prinzip. Sie identifiziert potenzielle Unterstützungs- und Widerstandsbereiche durch die dynamische Berechnung wichtiger Fibonacci-Retracement-Levels: [23.6%, 38.2%, 50%, 61.8%, 78.6%]. Das System verwendet ein 100-Zyklen-Rücklauffenster, um Höchst- und Tiefpunkte zu ermitteln, und berechnet auf dieser Grundlage die einzelnen Retracement-Levels.
Die Kernlogik der Strategie basiert auf der Theorie, dass Preise in den Hauptrends eine Umkehrung in der Nähe der kritischen Fibonacci-Retracement-Niveaus vornehmen.
Es handelt sich um eine systematisierte Handelsstrategie, die auf der Theorie der klassischen technischen Analyse basiert. Durch die programmatische Umsetzung wird sie objektiv und reproduzierbar gemacht. Die Kernvorteile der Strategie liegen in der Kombination der Fibonacci-Theorie mit einer strengen Risikokontrolle, die für die Anwendung in trending Märkten geeignet ist. Durch kontinuierliche Optimierung und Verbesserung wird die Strategie eine stabile Leistung in allen Arten von Marktumgebungen erhalten.
/*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")