Strategi Pengesanan Semula Fibonacci RSI


Tarikh penciptaan: 2023-12-29 14:51:43 Akhirnya diubah suai: 2023-12-29 14:51:43
Salin: 2 Bilangan klik: 753
1
fokus pada
1621
Pengikut

Strategi Pengesanan Semula Fibonacci RSI

Gambaran keseluruhan

Strategi RSI Fibonacci Retracement adalah strategi trend-following dengan mengira RSI dan menetapkan tahap Fibonacci Retracement sebagai isyarat perdagangan, yang berlaku apabila berlaku pembalikan di kawasan overbought dan oversold.

Prinsip

Strategi ini adalah berasaskan pelaksanaan silang RSI dengan tahap Fibonacci. Pertama, nilai RSI dikira, dan kemudian tahap Fibonacci ditetapkan ((38.2%, 50%, 61.8%), menghasilkan isyarat beli apabila RSI melintasi tahap Fibonacci dan menghasilkan isyarat jual apabila ia melintasi.

RSI digunakan untuk menentukan sama ada pasaran telah membeli atau menjual terlalu banyak. RSI lebih besar daripada 70 adalah kawasan membeli yang lebih tinggi, dan kurang daripada 30 adalah kawasan jual yang lebih tinggi. Apabila RSI turun dari kawasan membeli yang lebih tinggi ke zon pengembalian Fibonacci, ia adalah isyarat pembalikan, melakukan lebih banyak; apabila RSI naik dari kawasan membeli yang lebih tinggi ke zon pengembalian Fibonacci, ia adalah isyarat pembalikan, melakukan kosong.

Fibonacci retracement zone digunakan sebagai rujukan utama dalam strategi ini untuk membentuk isyarat perdagangan dengan RSI. Dalam pasaran trend, pengendalian selepas penyesuaian sering menyentuh tahap penyesuaian Fibonacci, yang bersamaan dengan rintangan sokongan. Persaingan dengan RSI berfungsi sebagai isyarat perdagangan untuk menangkap peluang pembalikan.

Kelebihan

  1. Menggunakan RSI untuk menilai bentuk overbought dan oversold, dan Fibonacci retracement zone untuk menangkap peluang berbalik, untuk menyaring sebahagian daripada bunyi.

  2. Trend Tracker, yang boleh menangkap trend garis tengah dan panjang.

  3. Ia boleh disesuaikan dengan keadaan pasaran yang berbeza dengan menyesuaikan zon panggilan semula Fibonacci.

Risiko

  1. Kedudukan kosong yang berlebihan mungkin lebih lama dan memerlukan sokongan kewangan yang mencukupi.

  2. Kemunculan semula mungkin berlaku dalam proses penarikan balik, dan anda perlu menetapkan stop loss untuk mengawal risiko.

  3. Tetapan parameter yang tidak betul boleh menyebabkan perdagangan yang kerap atau tidak menangkap peluang yang cukup untuk berbalik.

Arah pengoptimuman

  1. Anda boleh mempertimbangkan untuk memfilter masa masuk dengan penunjuk lain. Sebagai contoh, MACD, Blink dan lain-lain untuk menentukan arah trend.

  2. Anda boleh mengoptimumkan parameter RSI dan seting Fibonacci.

  3. Anda boleh menetapkan stop loss dinamik untuk mengunci keuntungan.

ringkaskan

Strategi penyesuaian Fibonacci RSI secara keseluruhannya berfungsi sebagai strategi pemantauan trend, dengan kestabilan yang baik. Berbanding dengan strategi RSI tunggal, penambahan zon penyesuaian Fibonacci dapat menyaring perdagangan bising secara berkesan.

Kod sumber strategi
/*backtest
start: 2022-12-22 00:00:00
end: 2023-12-28 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// (c) ReduX_o, 2019. All rights reserved.
//
// How to trade:
// The indicator is more reliable in longer time frames
// Choose a fibonacci level as reference 
// Buy when the RSI line turns green
// Sell when the RSI line turns red



//@version=4
strategy("RSI Fibonacci Levels", overlay=false, initial_capital=2000, currency=currency.USD, commission_value=0.1, slippage=0, commission_type=strategy.commission.percent, pyramiding=0, default_qty_type=strategy.percent_of_equity, default_qty_value=100)


len = input(14, minval=1, title="Rsi Periods")
f1 = input(title="Fibonacci Level", defval="38.2", options=["38.2", "50", "61.8"])

// === BACKTEST RANGE ===
FromYear = input(defval=2010, title="From Year", minval=2010)
FromMonth = input(defval=1, title="From Month", minval=1)

ToYear = input(defval=2020, title="To Year", minval=2010)
ToMonth = input(defval=1, title="To Month", minval=1)


src = hl2
fi= (f1 == "38.2") ? 38.2 : (f1 == "50")? 50 : 61.8


up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - 100 / (1 + up / down)


//***************************************************
rcolor = rsi >= fi ? color.lime : color.red

plot(rsi, title="RSI", color=rcolor, transp=0)
band1 = hline(78.6, color=color.red, linestyle= hline.style_solid,  editable= false)
band0 = hline(23.6, color=color.lime, linestyle= hline.style_solid, editable= false)
band2 = hline(61.8, color=color.gray, editable= false)
band3 = hline(50, color=color.black, editable= false)
band4 = hline(38.2, color=color.gray, editable= false)
band5 = hline(fi, color=color.blue, linestyle= hline.style_solid, editable= false)

strategy.entry("LE", strategy.long, comment="L", when=rsi >= fi )
strategy.entry("SE", strategy.short, comment="S", when=rsi < fi )