Strategi ini, berdasarkan retracement Fibonacci dan purata bergerak, bertujuan untuk menangkap peluang retracement dalam trend pasaran. Ia menentukan tahap retracement Fibonacci dengan mengira tertinggi tertinggi dan terendah terendah dalam tempoh yang berbeza dan menggunakan purata bergerak untuk mengesahkan arah trend. Strategi ini hanya mempertimbangkan untuk memasuki kedudukan panjang apabila harga berada di atas purata bergerak jangka panjang dan jangka sederhana dan perdagangan apabila harga kembali ke tahap Fibonacci utama.
Prinsip utama strategi ini adalah untuk menggunakan tahap retracement Fibonacci dan purata bergerak untuk mengenal pasti titik masuk yang berpotensi. Pertama, purata bergerak mudah jangka panjang (200-periode) dan jangka sederhana (50-periode) (SMA) dikira untuk menentukan arah trend keseluruhan. Seterusnya, paras tertinggi dan terendah tertinggi untuk 21 tempoh, 50 tempoh, dan 9 tempoh dikira, dan paras retracement Fibonacci yang sepadan dikira berdasarkan harga ini. Tahap retracement 50% ditentukan dengan mengira purata titik tengah retracements untuk ketiga-tiga tempoh ini. Tahap retracement 78.6% dikira berdasarkan perbezaan antara purata tertinggi dan purata terendah purata tempoh ini.
Strategi hanya memasuki kedudukan panjang apabila semua syarat berikut dipenuhi: harga berada di atas purata bergerak 200 tempoh dan 50 tempoh, dan harga kurang daripada atau sama dengan tahap retracement 50%. Setelah dimasukkan, tahap mengambil keuntungan ditakrifkan sebagai harga masuk purata ditambah dengan hasil perkalian perbezaan antara harga masuk purata dan tahap retracement 78.6% dan nisbah risiko / ganjaran. Tahap stop loss ditakrifkan sebagai tahap retracement 78.6%. Strategi keluar dari kedudukan panjang apabila harga mencapai tahap mengambil keuntungan atau stop loss.
Pengesahan Trend: Strategi menggunakan purata bergerak jangka panjang dan sederhana untuk mengesahkan arah trend keseluruhan, membantu mengelakkan perdagangan di pasaran yang bertentangan dengan trend.
Tahap Retracement Dinamik: Dengan mengira paras tertinggi dan paras terendah tertinggi dalam tempoh yang berbeza (21-periode, 50-periode, dan 9-periode), strategi dapat menyesuaikan secara dinamik tahap retracement Fibonacci utama untuk menyesuaikan diri dengan keadaan pasaran yang berbeza.
Pengurusan Risiko: Strategi menggunakan nisbah risiko / ganjaran yang telah ditentukan untuk menentukan tahap mengambil keuntungan dan menghentikan kerugian, membantu menguruskan risiko perdagangan dan mengoptimumkan potensi pulangan.
Bantuan Visual: Strategi memetakan purata bergerak dan tahap retracement Fibonacci utama pada carta, menyediakan rujukan visual yang jelas untuk pedagang membuat keputusan perdagangan yang tepat.
Penutupan Penutupan: Dalam keadaan pasaran yang bergerak cepat, menunggu harga untuk kembali ke tahap Fibonacci utama boleh menyebabkan peluang kemasukan yang optimum terlewatkan.
Isyarat Palsu: Dalam sesetengah kes, harga mungkin secara ringkas melanggar tahap Fibonacci utama tetapi dengan cepat pulih, mengakibatkan isyarat perdagangan yang salah.
Pembalikan Trend: Strategi ini berfungsi dengan baik di pasaran yang sedang berubah. Jika trend berbalik, strategi ini mungkin mengalami kerugian.
Sensitiviti Parameter: Prestasi strategi sangat bergantung kepada parameter yang dipilih, seperti panjang purata bergerak dan tempoh retracement Fibonacci.
Pengoptimuman Parameter Dinamik: Melaksanakan mekanisme penyesuaian untuk menyesuaikan parameter strategi secara dinamik, seperti panjang purata bergerak dan tempoh retracement Fibonacci, untuk menyesuaikan diri dengan keadaan pasaran yang berubah.
Analisis Pelbagai Jangka Masa: Menggabungkan analisis dari pelbagai jangka masa untuk mendapatkan perspektif pasaran yang lebih komprehensif dan mengesahkan isyarat perdagangan.
Pengurusan Risiko yang Lebih Baik: Memperkenalkan teknik pengurusan risiko yang lebih maju, seperti ukuran kedudukan berdasarkan turun naik atau penangguhan stop loss, untuk melindungi modal dengan lebih baik dan menguruskan risiko perdagangan.
Gabungan penunjuk: Gabungkan penunjuk teknikal lain, seperti Indeks Kekuatan Relatif atau Osilator Stochastic, dengan purata bergerak dan tahap retracement Fibonacci yang sedia ada untuk meningkatkan ketepatan dan kebolehpercayaan isyarat perdagangan.
/*backtest start: 2023-06-11 00:00:00 end: 2024-06-16 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("50% Retracement Strategy", overlay=true) // Input Parameters len_200 = input.int(200, title="200-period Moving Average") len_50 = input.int(50, title="50-period Moving Average") len_21 = input.int(21, title="21-candle Retracement") len_9 = input.int(9, title="9-candle Retracement") risk_reward_ratio = input.float(2.0, title="Risk/Reward Ratio") // Moving Averages ma_200 = ta.sma(close, len_200) ma_50 = ta.sma(close, len_50) // Fibonacci Retracement Levels var float fib_50_level = na var float fib_786_level = na if (close > ma_200 and close > ma_50) // Calculate retracements for different periods retrace_21_high = ta.highest(high, len_21) retrace_21_low = ta.lowest(low, len_21) retrace_21_mid = (retrace_21_high + retrace_21_low) / 2 retrace_50_high = ta.highest(high, len_50) retrace_50_low = ta.lowest(low, len_50) retrace_50_mid = (retrace_50_high + retrace_50_low) / 2 retrace_9_high = ta.highest(high, len_9) retrace_9_low = ta.lowest(low, len_9) retrace_9_mid = (retrace_9_high + retrace_9_low) / 2 // Choose the retracement to use (you can adjust this logic) fib_50_level := (retrace_21_mid + retrace_50_mid + retrace_9_mid) / 3 fib_786_level := (retrace_21_high + retrace_50_high + retrace_9_high) / 3 - ((retrace_21_high + retrace_50_high + retrace_9_high - (retrace_21_low + retrace_50_low + retrace_9_low)) * 0.786) // Strategy Entry longCondition = close > ma_200 and close > ma_50 and close <= fib_50_level if (longCondition) strategy.entry("Long", strategy.long) // Strategy Exit takeProfitLevel = strategy.position_avg_price + (strategy.position_avg_price - fib_786_level) * risk_reward_ratio stopLossLevel = fib_786_level strategy.exit("Take Profit", "Long", limit=takeProfitLevel, stop=stopLossLevel) // Plotting plot(ma_200, color=color.blue, title="200-period MA") plot(ma_50, color=color.red, title="50-period MA") plot(fib_50_level, color=color.green, title="50% Retracement Level") plot(fib_786_level, color=color.orange, title="78.6% Retracement Level")