Strategi ini adalah sistem trend berikut yang maju berdasarkan prinsip retracement Fibonacci. Ia mengenal pasti zon sokongan dan rintangan yang berpotensi dengan secara dinamik mengira tahap retracement Fibonacci utama (23.6%, 38.2%, 50%, 61.8%, 78.6%). Sistem ini menggunakan tetingkap belakang 100 tempoh untuk menentukan titik tertinggi dan terendah, yang berfungsi sebagai asas untuk mengira tahap retracement. Strategi ini menggabungkan isyarat kemasukan yang tepat dan mekanisme pengurusan risiko, mencetuskan isyarat perdagangan pada pecah tahap Fibonacci utama.
Logik teras dibina berdasarkan teori bahawa harga cenderung berbalik berhampiran tahap retracement Fibonacci utama semasa trend utama.
Ini adalah strategi perdagangan sistematik yang dibina berdasarkan teori analisis teknikal klasik. Pelaksanaannya yang berprogram memberikan objektif dan kebolehulangannya. Kelebihan utamanya terletak pada menggabungkan teori Fibonacci dengan kawalan risiko yang ketat, sesuai untuk pasaran yang sedang berkembang. Melalui pengoptimuman dan peningkatan yang berterusan, strategi ini mempunyai potensi untuk mengekalkan prestasi yang stabil di pelbagai keadaan pasaran.
/*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")