Strategi Perdagangan Regresi Rata-rata Pergerakan RSI


Tanggal Pembuatan: 2023-09-12 14:37:28 Akhirnya memodifikasi: 2023-09-12 14:37:28
menyalin: 0 Jumlah klik: 703
1
fokus pada
1617
Pengikut

Strategi ini didasarkan pada indikator RSI yang didesain dengan fitur pengembalian rata-rata. Pada saat RSI overbought dan oversold, pengembalian akan terjadi dan peluang perdagangan akan terbentuk. Strategi ini menggunakan indikator RSI untuk menilai keadaan overbought dan oversold, menggunakan metode pengembalian rata-rata untuk membangun posisi terbuka, untuk tujuan perdagangan sistematis.

Prinsip-prinsip Strategi:

  1. Perhitungan nilai RSI, pengaturan garis overbought dan oversold, parameter khas adalah overbought 60 dan oversold 30.

  2. Ketika RSI turun dari atas ke bawah dan melampaui garis beli, lakukan operasi jual dan buat posisi pendek.

  3. Ketika RSI melampaui batas jual dari bawah ke atas, lakukan pembelian untuk membangun posisi over.

  4. Garis stop loss untuk posisi ganda adalah harga masuk kali (((perbandingan stop loss 1), garis stop loss untuk posisi pendek adalah harga masuk kali (((perbandingan stop loss 1+)) [2].

  5. Ketika harga melewati batas stop loss, maka stop loss exit akan dilakukan.

Keuntungan dari strategi ini adalah:

  1. Menggunakan karakteristik kemunduran RSI, peluang perdagangan yang ditimbulkan oleh perubahan tren dapat ditangkap secara acak.

  2. Menggunakan metode breakout positioning, Anda dapat menangkap perubahan tren tepat waktu.

  3. Tetapkan Stop Loss Line untuk mengontrol kerugian tunggal.

Risiko dari strategi ini meliputi:

  1. Indikator RSI memiliki probabilitas yang lebih besar untuk mengirimkan sinyal palsu, yang harus digabungkan dengan indikator lain untuk konfirmasi.

  2. Stop loss yang dekat dengan entry point sering kali terhenti, dan harus dilengkapkan sesuai dengan batasan stop loss.

  3. Pemilihan waktu yang tidak tepat untuk kembali ke perdagangan dapat menyebabkan jangka waktu yang terlalu lama.

Secara umum, strategi RSI linear regression adalah strategi untuk perdagangan dengan menangkap peluang untuk kembali dari indikator RSI. Strategi ini dapat dilakukan secara berurutan dan secara efektif mengendalikan kerugian tunggal. Namun, indikator RSI memiliki keandalan yang rendah, investor perlu berhati-hati dalam menggunakannya, dan membantu dengan indikator teknis lainnya untuk mengkonfirmasi dan mengoptimalkan mekanisme stop loss untuk mendapatkan keuntungan yang stabil dalam jangka panjang.

Kode Sumber Strategi
/*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")