Strategi perdagangan pembalikan jangka pendek berdasarkan penunjuk RSI


Tarikh penciptaan: 2023-11-01 16:15:30 Akhirnya diubah suai: 2023-11-01 16:15:30
Salin: 0 Bilangan klik: 745
1
fokus pada
1617
Pengikut

Strategi perdagangan pembalikan jangka pendek berdasarkan penunjuk RSI

Gambaran keseluruhan

Strategi ini menggunakan indikator RSI untuk mengenal pasti trend dan keadaan overbought dan oversold, digabungkan dengan garis rata-rata EMA untuk menilai arah trend semasa, apabila arah trend selaras dengan isyarat RSI, buka posisi terbalik, untuk mencapai perdagangan terbalik garis pendek.

Prinsip Strategi

  1. Menggunakan indikator EMA untuk menentukan arah trend semasa. Apabila harga lebih tinggi daripada garis purata EMA, ia ditakrifkan sebagai trend naik; apabila harga lebih rendah daripada garis purata EMA, ia ditakrifkan sebagai trend menurun.

  2. Menggunakan RSI untuk menilai overbought dan oversold. RSI lebih tinggi daripada 60 adalah kawasan overbought dan lebih rendah daripada 40 adalah kawasan oversold.

  3. Apabila trend naik dan RSI di bawah 40, isyarat beli dikeluarkan; apabila trend menurun dan RSI di atas 60, isyarat jual dikeluarkan.

  4. Apabila mengeluarkan isyarat beli dan jual, masing-masing menetapkan harga berhenti dan berhenti. Harga berhenti dikira mengikut peratusan harga bukaan; harga berhenti dikira mengikut peratusan harga bukaan.

  5. Apabila kedudukan lebih besar daripada 0, atur pesanan berhenti; apabila kedudukan kurang dari 0, atur pesanan berhenti.

Analisis kelebihan

  1. Strategi untuk menggunakan EMA dan RSI dengan bijak untuk mengenal pasti trend dan overbought dan oversold untuk mengelakkan dagangan berlawanan arah.

  2. Strategi ini menggunakan cara bertukar-tukar dalam talian pendek untuk mengambil peluang keuntungan dalam talian pendek.

  3. Strategi untuk menetapkan titik hentian untuk membantu mengunci keuntungan dan mengawal risiko.

  4. Strategi perdagangan logiknya jelas dan ringkas, mudah difahami pelaksanaan, sesuai untuk pelajar pemula.

  5. Strategi boleh dioptimumkan dengan menyesuaikan kitaran EMA, parameter RSI dan lain-lain untuk menyesuaikan diri dengan pelbagai jenis dan persekitaran perdagangan.

Analisis risiko

  1. Risiko kegagalan pembalikan. Pembalikan garis pendek mungkin gagal, menyebabkan kerugian.

  2. Trend tidak jelas risiko. Dalam keadaan yang bergolak, EMA sukar untuk menentukan arah trend yang jelas, dan mungkin menghasilkan isyarat yang salah.

  3. Stop loss berisiko dicetuskan. Stop loss set terlalu dekat dan mungkin dicetuskan secara tidak sengaja.

  4. Risiko overoptimisasi. Terlalu optimasi untuk data sejarah, mungkin tidak sesuai untuk persekitaran cakera.

  5. Frekuensi dagangan yang terlalu tinggi berisiko. Frekuensi dagangan yang terlalu pendek boleh menyebabkan kos dagangan yang tinggi.

Arah pengoptimuman

  1. Mengoptimumkan parameter EMA dan RSI, mencari kombinasi parameter terbaik. Parameter terbaik boleh diperoleh dengan melalui pengukuran semula.

  2. Menambah syarat penapisan untuk mengelakkan isyarat yang salah dalam keadaan gegaran. Sebagai contoh, menambah syarat jumlah pesanan.

  3. Mengoptimumkan nisbah stop loss, mencari nisbah yang optimum untuk mengunci keuntungan. Nisbah stop loss tidak boleh terlalu besar, boleh dikurangkan dengan sewajarnya.

  4. Tambah strategi pengurusan kedudukan, seperti kedudukan tetap, Martingale dan lain-lain, untuk mengawal kerugian tunggal.

  5. Gabungan dengan penunjuk lain, seperti MACD, KD, dan lain-lain, meningkatkan ketepatan isyarat. Atau dioptimumkan untuk model pelbagai faktor.

  6. Ujian semula berdasarkan data dalaman, terus mengoptimumkan parameter untuk menyesuaikan strategi dengan keadaan terkini.

ringkaskan

Strategi ini berdasarkan EMA dan RSI mendesain satu set strategi perdagangan pembalikan garis pendek, menggunakan penghakiman trend dan logik perdagangan yang mengenal pasti overbought dan oversold, dan pada masa yang sama menetapkan risiko kawalan hentian dan hentian ketika garis pendek mendapat keuntungan. Kelebihan strategi ini adalah mudah digunakan, logiknya jelas, dan hasil pengukuran yang lebih baik dapat diperoleh melalui pengoptimuman parameter.

Kod sumber strategi
/*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")