
Strategi ini adalah sistem pengesanan trend tinggi berdasarkan prinsip Fibonacci retracement. Ia mengenal pasti kawasan sokongan dan rintangan yang berpotensi dengan mengira secara dinamik tahap retracement Fibonacci yang penting: 23.6%, 38.2%, 50%, 61.8%, 78.6% . Sistem ini menggunakan jendela pengulangan 100 kitaran untuk menentukan titik tertinggi dan terendah, dan mengira setiap tahap retracement berdasarkan itu.
Logik teras strategi ini adalah berdasarkan teori bahawa harga akan berbalik dalam trend utama berhampiran tahap pengunduran Fibonacci yang kritikal. Secara khusus:
Ini adalah strategi perdagangan sistematik berdasarkan teori analisis teknikal klasik. Implementasi berprogrami menjadikannya objektif dan boleh diulang. Kelebihan utama strategi ini adalah menggabungkan teori Fibonacci dengan kawalan risiko yang ketat, sesuai untuk digunakan di pasaran yang sedang tren.
/*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")