Fibonacci Retracement Reversal Strategi

Penulis:ChaoZhang, Tanggal: 2023-12-07 15:15:26
Tag:

img

Gambaran umum

Fibonacci Retracement Reversal adalah strategi perdagangan kuantitatif yang didasarkan pada tingkat retracement Fibonacci dan indikator Relative Strength Index (RSI). Strategi ini menggabungkan teori saluran Fibonacci dan indikator overbought/oversold untuk melakukan perdagangan reversal terhadap tren utama untuk mendapatkan keuntungan dalam siklus jangka pendek.

Logika Strategi

Strategi ini pertama-tama menghitung dua zona harga penting berdasarkan tingkat Fibonacci 0,618 - titik tertinggi 0,618 kali dan titik terendah 0,618 kali.

Selain itu, strategi ini juga menggunakan indikator RSI untuk menentukan kondisi overbought/oversold. RSI di bawah 30 menunjukkan status oversold sementara RSI di atas 70 menunjukkan kondisi overbought. Ini juga menyiratkan potensi pembalikan harga.

Menggabungkan kedua kondisi, sinyal beli dipicu ketika: close break di atas titik rendah 0,618 kali dan RSI di bawah 30; sinyal jual dipicu ketika: close break di bawah titik tinggi 0,618 kali dan RSI di atas 70.

Setelah sinyal beli, strategi akan panjang pada harga pasar. Setelah sinyal jual, itu akan pendek pada harga pasar. Juga, mengambil keuntungan dan stop loss tingkat diatur sehingga posisi akan ditutup ketika harga bergerak menguntungkan dengan persentase tertentu (ambil keuntungan) atau bergerak merugikan dengan persentase tertentu (stop loss).

Keuntungan

Strategi ini menggabungkan skenario tren dan pembalikan, dengan mempertimbangkan tren utama sambil mengambil keuntungan dari retracement jangka pendek.

  1. Tingkat Fibonacci memiliki atribut support/resistance yang melekat, berfungsi sebagai indikator zona harga yang efektif.
  2. Status RSI overbought/oversold menunjukkan potensi titik balik.
  3. Sinyal panjang/pendek jelas, menangkap peluang pembalikan.
  4. Mengambil risiko profit/stop loss control.

Risiko

Ada beberapa risiko yang harus diketahui:

  1. Kerugian dapat terjadi jika tidak ada pembalikan tren besar terjadi meskipun bouncing jangka pendek. analisis jangka waktu yang lebih besar dapat membantu menghindari ini.
  2. Stop loss dapat dipicu sebelum pembalikan terjadi.
  3. Kembali dapat bertahan untuk waktu yang lama, membutuhkan dukungan modal yang cukup.

Optimalisasi

Strategi dapat dioptimalkan lebih lanjut dengan:

  1. Mengumpulkan lebih banyak data historis untuk menguji dan menyesuaikan parameter kunci seperti kisaran zona Fibonacci dan garis overbought / oversold RSI untuk lebih sesuai dengan pasar nyata.

  2. Masukkan lebih banyak indikator untuk menghasilkan sinyal yang lebih kuat, seperti pola lilin, perubahan volume dll.

  3. Sesuaikan parameter atau aturan sesuai dengan karakteristik instrumen perdagangan yang berbeda.

  4. Tambahkan mekanisme stop loss dinamis untuk mengikuti harga secara real time.

Kesimpulan

Fibonacci Retracement Reversal strategi menyeimbangkan skenario tren dan pembalikan untuk keuntungan dalam jangka pendek sambil mengendalikan risiko. Optimasi lebih lanjut dapat menyebabkan pengembalian yang lebih besar.


/*backtest
start: 2023-11-06 00:00:00
end: 2023-12-06 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("FBS Trade", overlay=true)

// Fibonacci seviyeleri
fibonacciLevels = input(0.618, title="Fibonacci Düzeltme Seviyesi")

// RSI ayarları
rsiLength = input(14, title="RSI Periyodu")
overboughtLevel = input(70, title="RSI Satış Sinyali Seviyesi")
oversoldLevel = input(30, title="RSI Alış Sinyali Seviyesi")

// Take Profit ve Stop Loss yüzdesi
takeProfitPercent = input(1, title="Take Profit Yüzdesi") / 100
stopLossPercent = input(1, title="Stop Loss Yüzdesi") / 100

// Fibonacci seviyelerini hesapla
highFibo = high * (1 + fibonacciLevels)
lowFibo = low * (1 - fibonacciLevels)

// RSI hesaplama
rsiValue = ta.rsi(close, rsiLength)

// Alış ve satış koşulları
buyCondition = close > lowFibo and rsiValue < 30
sellCondition = close < highFibo and rsiValue > overboughtLevel

// Take Profit ve Stop Loss seviyeleri
takeProfitLong = strategy.position_avg_price * (1 + takeProfitPercent)
stopLossLong = strategy.position_avg_price * (1 - stopLossPercent)

takeProfitShort = strategy.position_avg_price * (1 - takeProfitPercent)
stopLossShort = strategy.position_avg_price * (1 + stopLossPercent)

// Alış ve satış işlemleri
if (buyCondition)
    strategy.entry("Buy", strategy.long)
if (sellCondition)
    strategy.entry("Sell", strategy.short)

// Take Profit ve Stop Loss seviyeleri
if (strategy.position_size > 0)
    strategy.exit("Take Profit/Close Buy", from_entry="Buy", limit=takeProfitLong, stop=stopLossLong)
if (strategy.position_size < 0)
    strategy.exit("Take Profit/Close Sell", from_entry="Sell", limit=takeProfitShort, stop=stopLossShort)

// Sadece mumları ve buy/sell işlemlerini göster
plot(close, color=color.black, title="Close")

// Destek ve direnç bölgeleri
supportLevel = input(27, title="Fibonacci Destek Seviyesi")
resistanceLevel = input(200, title="Direnç Seviyesi")

hline(supportLevel, "Fibonacci Destek Seviyesi", color=color.green)
hline(resistanceLevel, "Direnç Seviyesi", color=color.red)

// Trend çizgileri
var line trendLine = na
if (ta.crossover(close, highFibo))
    trendLine := line.new(bar_index[1], highFibo[1], bar_index, highFibo, color=color.green, width=2)
if (ta.crossunder(close, lowFibo))
    trendLine := line.new(bar_index[1], lowFibo[1], bar_index, lowFibo, color=color.red, width=2)

// RSI ve Fibo'yu grafiğe çizme
hline(overboughtLevel, "RSI Satış Sinyali", color=color.red, linestyle=hline.style_dashed)
hline(oversoldLevel, "RSI Alış Sinyali", color=color.green, linestyle=hline.style_dashed)
plot(rsiValue, color=color.purple, title="RSI")

// 15 dakikalıkta 3 mumda bir alarm
is15MinBar = ta.change(time('15'), 1)
if (is15MinBar % 3 == 0)
    alert("15 dakikalıkta 3 mum geçti.")


Lebih banyak