RSI Mean Reverssion Trading Strategy (Strategi Perdagangan RSI Rata-rata Reversi)

Penulis:ChaoZhang, Tanggal: 2023-09-12 14:37:28
Tag:

Strategi ini didasarkan pada karakteristik reversi rata-rata dari indikator RSI. RSI overbought dan oversold cenderung untuk kembali, menciptakan peluang perdagangan. Strategi ini mengidentifikasi keadaan overbought / oversold menggunakan RSI untuk membangun posisi panjang / pendek dengan cara yang sistematis.

Logika Strategi:

  1. Menghitung nilai RSI dan menetapkan ambang overbought dan oversold, biasanya 60 dan 30.

  2. Ketika RSI melintasi garis overbought, pergi pendek.

  3. Ketika RSI melintasi garis oversold, pergi panjang.

  4. Stop loss panjang adalah harga masuk * (1 - stop loss %). stop loss pendek adalah harga masuk * (1 + stop loss %).

  5. Jika harga mencapai stop loss, keluar dari posisi.

Keuntungan:

  1. Menangkap peluang pembalikan selama penurunan tren menggunakan RSI.

  2. Perdagangan breakout memungkinkan masuk tepat waktu pada pembalikan tren.

  3. Stop loss mengontrol jumlah kerugian perdagangan tunggal.

Risiko:

  1. RSI cenderung memberikan sinyal palsu.

  2. Stop loss yang terlalu ketat menyebabkan stop yang berlebihan.

  3. Waktu entri yang buruk dapat menyebabkan posisi yang terlalu besar.

Secara singkat, strategi reversi rata-rata RSI memperdagangkan kelebihan RSI. Ini mengikuti tren dengan kerugian terkontrol pada perdagangan tunggal. Tetapi keandalan RSI rendah. Investor harus menggunakannya dengan hati-hati dengan indikator konfirmasi lainnya, berhenti yang dioptimalkan, dan mengharapkan pengembalian jangka panjang yang sederhana.


/*backtest
start: 2022-09-05 00:00:00
end: 2023-09-11 00:00:00
period: 1d
basePeriod: 1h
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/
// © relevantLeader16058

//@version=4
strategy(shorttitle='RSI Bot Strategy',title='Quadency Mean Reversion Bot Strategy', overlay=true, initial_capital = 100, process_orders_on_close=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, commission_type=strategy.commission.percent, commission_value=0.08)

//Backtest dates
start = input(defval = timestamp("08 Mar 2021 00:00 -0600"), title = "Start Time", type = input.time)
finish = input(defval = timestamp("9 Mar 2021 23:59 -0600"), title = "Start Time", type = input.time)
window()  => true       // create function "within window of time"

// Complete Control over RSI inputs and source price calculations
lengthRSI = input(14, minval=1)
source = input(title="Source", type=input.source, defval=close)
strat = input(title="Strategy", defval="Long/Short", options=["Long Only", "Long/Short", "Short Only"])
strat_val = strat == "Long Only" ? 1 : strat == "Long/Short" ? 0 : -1
stoploss = input(5.00, "Stop Loss %")
oversold= input(30)
overbought= input(60)

// Standard RSI Calculation
RSI = rsi(close, lengthRSI)
stLossLong=(1-(stoploss*.01))
stLossShort=(1+(stoploss*.01))

//Long and Short Strategy Logic
GoLong = crossunder(RSI, oversold) and window()
GoShort = crossover(RSI, overbought) and window()

// Strategy Entry and Exit
if (GoLong)
    if strat_val > -1
        strategy.entry("LONG", strategy.long)
    if strat_val < 1
        strategy.close("SHORT")
    

if (GoShort)
    if strat_val > -1
        strategy.close("LONG")
    if strat_val < 1
        strategy.entry("SHORT", strategy.short)


LongStopLoss = barssince(GoLong)<barssince(GoShort) and crossunder(low, valuewhen(GoLong, close, 0)*stLossLong)

ShortStopLoss = barssince(GoLong)>barssince(GoShort) and crossover(high, valuewhen(GoShort, close, 0)*stLossShort)

if (ShortStopLoss)
    strategy.close("SHORT")
    
if (LongStopLoss)
    strategy.close("LONG")






Lebih banyak