RSI Strategi Perdagangan Pembalikan Purata

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

Strategi ini berdasarkan ciri-ciri pembalikan purata penunjuk RSI. RSI yang terlalu banyak dibeli dan terlalu banyak dijual cenderung untuk kembali, mewujudkan peluang perdagangan. Strategi ini mengenal pasti keadaan terlalu banyak dibeli / terlalu banyak dijual menggunakan RSI untuk menubuhkan kedudukan panjang / pendek dengan cara yang sistematik.

Logik Strategi:

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

  2. Apabila RSI melintasi garis overbought, pergi pendek.

  3. Apabila RSI melintasi garisan oversold, pergi panjang.

  4. Stop loss panjang adalah harga kemasukan * (1 - stop loss %).

  5. Jika harga mencapai stop loss, keluarkan kedudukan.

Kelebihan:

  1. Mengambil peluang pembalikan semasa penurunan trend menggunakan RSI.

  2. Perdagangan breakout membolehkan kemasukan tepat pada masanya pada pembalikan trend.

  3. Stop loss mengawal jumlah kerugian perdagangan tunggal.

Risiko:

  1. RSI cenderung memberi isyarat palsu.

  2. Stop loss yang terlalu ketat menyebabkan berhenti berlebihan.

  3. Masa entri yang tidak tepat boleh membawa kepada kedudukan yang terlalu besar.

Ringkasnya, strategi pembalikan rata-rata RSI memperdagangkan kelebihan RSI. Ia mengikuti trend dengan kerugian terkawal pada perdagangan tunggal. Tetapi kebolehpercayaan RSI rendah. Pelabur harus menggunakannya dengan berhati-hati dengan penunjuk pengesahan lain, berhenti yang dioptimumkan, dan mengharapkan pulangan 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 lanjut