RSI Strategi Perdagangan Pembalikan Purata

Penulis:ChaoZhang, Tarikh: 2023-11-01 16:15:30
Tag:

img

Ringkasan

Strategi ini menggunakan penunjuk RSI untuk mengenal pasti trend dan keadaan overbought / oversold. Digabungkan dengan EMA untuk menentukan arah trend semasa, ia membuka kedudukan terbalik apabila arah trend konsisten dengan isyarat RSI untuk melaksanakan perdagangan pembalikan purata.

Logika Strategi

  1. Gunakan penunjuk EMA untuk menentukan arah trend semasa. Di atas EMA menentukan aliran menaik manakala di bawah EMA menentukan aliran menurun.

  2. Gunakan penunjuk RSI untuk mengenal pasti keadaan overbought / oversold. RSI di atas 60 adalah zon overbought dan di bawah 40 adalah zon oversold.

  3. Apabila uptrend dan RSI di bawah 40, isyarat beli dipicu. Apabila downtrend dan RSI di atas 60, isyarat jual dipicu.

  4. Apabila isyarat beli/jual dicetuskan, mengambil keuntungan dan harga henti rugi ditetapkan berdasarkan peratusan tertentu daripada harga masuk.

  5. Apabila saiz kedudukan lebih besar daripada 0, pesanan mengambil keuntungan diletakkan. Apabila saiz kedudukan kurang daripada 0, pesanan stop loss diletakkan.

Analisis Kelebihan

  1. Strategi ini menggabungkan EMA dan RSI dengan munasabah untuk mengenal pasti trend dan keadaan overbought/oversold, mengelakkan perdagangan terhadap trend.

  2. Pendekatan pembalikan purata menangkap putaran jangka pendek untuk keuntungan.

  3. Ambil keuntungan dan titik stop loss membantu mengunci keuntungan dan mengawal risiko.

  4. Logik yang mudah dan jelas, mudah difahami dan dilaksanakan, sesuai untuk pemula.

  5. Parameter seperti tempoh EMA dan RSI boleh dioptimumkan untuk produk dan persekitaran pasaran yang berbeza.

Analisis Risiko

  1. Risiko pembalikan gagal. Pembalikan jangka pendek mungkin gagal, mengakibatkan kerugian.

  2. Risiko trend yang tidak jelas EMA mungkin gagal mengenal pasti trend yang jelas di pasaran yang berbeza, menghasilkan isyarat yang salah.

  3. Risiko yang mencetuskan stop loss. Stop loss yang ditetapkan terlalu dekat boleh mencetuskan secara tidak dijangka.

  4. Risiko yang berlebihan. Pengoptimuman yang berlebihan pada data sejarah mungkin tidak berlaku untuk perdagangan langsung.

  5. Risiko kekerapan dagangan yang tinggi. Dagangan yang terlalu kerap menimbulkan kos transaksi yang besar.

Peningkatan

  1. Mengoptimumkan parameter EMA dan RSI untuk mencari kombinasi terbaik melalui backtesting.

  2. Tambah penapis untuk mengelakkan isyarat yang salah dalam pasaran pelbagai.

  3. Mengoptimumkan mengambil keuntungan / stop loss nisbah untuk mengunci keuntungan. Stop loss tidak boleh terlalu luas.

  4. Tambah peraturan saiz kedudukan seperti pecahan tetap untuk mengawal kerugian perdagangan tunggal.

  5. Menggabungkan penunjuk lain seperti MACD, KD untuk meningkatkan ketepatan isyarat atau menggunakan model multivariat.

  6. Backtest pada data langsung dan terus-menerus mengoptimumkan untuk keadaan pasaran terkini.

Kesimpulan

Strategi ini melaksanakan pendekatan pembalikan purata jangka pendek berdasarkan EMA dan RSI, dengan logik yang jelas untuk mengenal pasti trend dan pengesanan overbought / oversold. Ia menetapkan mengambil keuntungan dan menghentikan kerugian untuk mengawal risiko sambil mendapat keuntungan dari putaran jangka pendek. Kesederhanaan dan kejelasan adalah kelebihan. Pengoptimuman lanjut dapat menghasilkan hasil backtest yang baik. Tetapi risiko seperti pembalikan gagal dan pasaran berkisar harus diperhatikan untuk perdagangan langsung. Secara keseluruhan ia menyediakan idea perdagangan jangka pendek yang mudah dan praktikal untuk pemula belajar.


/*backtest
start: 2023-10-24 00:00:00
end: 2023-10-31 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Sarahann999
//@version=5
strategy("RSI Strategy", shorttitle="RSI", overlay= false)

//Inputs
long_entry = input(true, title='Long Entry')
short_entry = input(true, title='Short Entry')
emaSettings = input(100, 'EMA Length')
ema = ta.ema(close,emaSettings)
rsi = ta.rsi(close,14)

//Conditions
uptrend = close > ema
downtrend = close < ema
OB = rsi > 60
OS = rsi < 40
buySignal = uptrend and OS and strategy.position_size == 0
sellSignal = downtrend and OB and strategy.position_size == 0

//Calculate Take Profit Percentage
longProfitPerc = input.float(title="Long Take Profit", group='Take Profit Percentage',
     minval=0.0, step=0.1, defval=1) / 100
shortProfitPerc = input.float(title="Short Take Profit",
     minval=0.0, step=0.1, defval=1) / 100

// Figure out take profit price 1
longExitPrice  = strategy.position_avg_price * (1 + longProfitPerc)
shortExitPrice = strategy.position_avg_price * (1 - shortProfitPerc)

// Make inputs that set the stop %  1
longStopPerc = input.float(title="Long Stop Loss", group='Stop Percentage',
     minval=0.0, step=0.1, defval=1.5) / 100
shortStopPerc = input.float(title="Short Stop Loss",
     minval=0.0, step=0.1, defval=1.5) / 100

// Figure Out Stop Price
longStopPrice  = strategy.position_avg_price * (1 - longStopPerc)
shortStopPrice = strategy.position_avg_price * (1 + shortStopPerc)

// Submit entry orders
if buySignal and long_entry
    strategy.entry(id="Long", direction=strategy.long, alert_message="Enter Long")
    
if sellSignal and short_entry
    strategy.entry(id="Short", direction=strategy.short, alert_message="Enter Short")
    
//Submit exit orders based on take profit price
if (strategy.position_size > 0)
    strategy.exit(id="Long TP/SL", limit=longExitPrice, stop=longStopPrice, alert_message="Long Exit 1 at {{close}}")
if (strategy.position_size < 0)
    strategy.exit(id="Short TP/SL", limit=shortExitPrice, stop=shortStopPrice, alert_message="Short Exit 1 at {{close}}")
    
//note: for custom alert messages to read, "{{strategy.order.alert_message}}" must be placed into the alert dialogue box when the alert is set.

plot(rsi, color= color.gray)
hline(40, "RSI Lower Band")
hline(60, "RSI Upper Band")

Lebih lanjut