Strategi terobosan jalur ganda berdasarkan indikator RSI


Tanggal Pembuatan: 2024-01-08 10:28:26 Akhirnya memodifikasi: 2024-01-08 10:28:26
menyalin: 1 Jumlah klik: 634
1
fokus pada
1617
Pengikut

Strategi terobosan jalur ganda berdasarkan indikator RSI

Ringkasan

Strategi ini disebut strategi penembusan dua jalur berdasarkan indikator RSI. Strategi ini menggunakan kombinasi dua jalur indikator RSI untuk membuat keputusan, untuk mencapai tujuan membeli dan menjual dengan harga rendah. Strategi ini dianggap sebagai sinyal beli ketika indikator RSI berada di bawah jalur rendah yang ditetapkan (default 40) dan kemudian dikonfirmasi membeli jika RSI10 lebih rendah dari RSI14. Strategi ini juga dianggap sebagai sinyal jual ketika indikator RSI lebih tinggi dari jalur tinggi yang ditetapkan (default 70) dan kemudian dikonfirmasi menjual jika RSI10 lebih tinggi dari RSI14.

Prinsip Strategi

Logika inti dari strategi ini adalah menggunakan indikator RSI untuk membuat keputusan. RSI umumnya diatur untuk 14 siklus, yang mewakili kekuatan dan kelemahan saham selama hampir 14 hari. Strategi ini menambahkan RSI10 sebagai indikator penilaian tambahan.

Ketika RSI14 menembus 40 orbit, menganggap harga saham jatuh ke arah kelemahan, kemungkinan akan membentuk kesempatan untuk mendukung. Pada saat ini jika RSI10 lebih kecil dari RSI14, menunjukkan bahwa tren jangka pendek masih ke bawah, sinyal turun dapat dikonfirmasi lebih lanjut. Oleh karena itu, sinyal beli akan dihasilkan ketika RSI14 <= 40 dan RSI10 < RSI14 .

Ketika RSI 14 di atas 70 melintasi orbit, dianggap bahwa harga saham masuk ke daerah kuat jangka pendek, mungkin ada kesempatan untuk melakukan penyesuaian mundur. Pada saat ini jika RSI 10 lebih besar dari RSI 14, menunjukkan bahwa tren jangka pendek terus naik, sinyal bullish dapat dikonfirmasi lebih lanjut.

Dengan demikian, penilaian RSI14 dan RSI10 yang berkolaborasi membentuk logika inti dari strategi dual track.

Keunggulan Strategis

  1. Menggunakan kombinasi indikator RSI ganda untuk menangkap posisi jual beli dengan lebih akurat
  2. Menggunakan mekanisme mobile stop loss, dapat menghentikan kerugian tepat waktu, mengendalikan kerugian maksimum
  3. Mengatur mekanisme penarikan stop-loss, yang dapat keluar setelah mencapai target keuntungan, untuk menghindari laba kembali

Risiko Strategis

  1. Indeks RSI mudah menghasilkan sinyal palsu dan tidak dapat sepenuhnya menghindari kerugian
  2. Stop loss set terlalu dekat mungkin akan di-second out, set terlalu besar dan sulit untuk mengontrol risiko
  3. Jika ada tindakan yang tidak normal, seperti melompat dengan cepat, maka akan terjadi kerugian.

Untuk memanfaatkan sepenuhnya strategi ini, Anda dapat menyesuaikan parameter RSI dengan tepat, mengendalikan posisi stop loss dengan ketat, menghindari operasi yang terlalu intensif, dan mengejar profitabilitas yang stabil dan berkelanjutan.

Arah optimasi strategi

  1. Kombinasi dengan indikator lain, seperti KDJ, MACD, dan lain-lain, dapat dipertimbangkan untuk melakukan verifikasi multi-indikator
  2. Parameter RSI dapat diatur untuk varietas yang berbeda, sehingga parameter lebih dekat dengan karakteristik varietas
  3. Anda dapat mengatur stop loss secara dinamis dan menyesuaikan stop loss secara real-time berdasarkan indikator seperti ATR
  4. Parameter RSI dapat dioptimalkan secara otomatis melalui teknologi pembelajaran mesin

Meringkaskan

Strategi ini didasarkan pada pola pikir dua jalur RSI untuk menilai dan memfilter sebagian dari sinyal kebisingan. Namun, tidak ada strategi indikator tunggal yang sempurna, indikator RSI mudah menyesatkan, dan harus diperhatikan dengan hati-hati. Strategi ini menambahkan mekanisme stop loss dan stop loss untuk mengendalikan risiko, yang sangat diperlukan.

Kode Sumber Strategi
/*backtest
start: 2023-12-31 00:00:00
end: 2024-01-07 00:00:00
period: 1m
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/
// © DojiEmoji

//@version=4
strategy("[KL] RSI 14 + 10 Strategy",overlay=true)

backtest_timeframe_start = input(defval = timestamp("01 Jan 2015 13:30 +0000"), title = "Backtest Start Time", type = input.time)
//backtest_timeframe_end = input(defval = timestamp("19 Mar 2021 19:30 +0000"), title = "Backtest End Time", type = input.time)
TARGET_PROFIT_MODE = input(false,title="Exit when Risk:Reward met")
REWARD_RATIO = input(3,title="Risk:[Reward] (i.e. 3) for exit")
// Trailing stop loss {
TSL_ON = input(true,title="Use trailing stop loss")
var entry_price = float(0)
ATR_multi_len = 26
ATR_multi = input(2, "ATR multiplier for stop loss")
ATR_buffer = atr(ATR_multi_len) * ATR_multi
plotchar(ATR_buffer, "ATR Buffer", "", location = location.top)
risk_reward_buffer = (atr(ATR_multi_len) * ATR_multi) * REWARD_RATIO
take_profit_long = low > entry_price + risk_reward_buffer
take_profit_short = low < entry_price - risk_reward_buffer
var bar_count = 0 //number of bars since entry 
var trailing_SL_buffer = float(0)
var stop_loss_price = float(0)
stop_loss_price := max(stop_loss_price, close - trailing_SL_buffer)
// plot TSL line
trail_profit_line_color = color.green
showLine = strategy.position_size == 0
if showLine
    trail_profit_line_color := color.black
    stop_loss_price := close - trailing_SL_buffer
plot(stop_loss_price,color=trail_profit_line_color)
// }
// RSI
RSI_LOW = input(40,title="RSI entry")
RSI_HIGH = input(70,title="RSI exit")
rsi14 = rsi(close, 14)
rsi10 = rsi(close, 10)

if true// and time <= backtest_timeframe_end
    buy_condition = rsi14 <= RSI_LOW and rsi10 < rsi14
    exit_condition = rsi14 >= RSI_HIGH and rsi10 > rsi14
    //ENTRY:
    if strategy.position_size == 0 and buy_condition
        entry_price := close
        trailing_SL_buffer := ATR_buffer
        stop_loss_price := close - ATR_buffer
        strategy.entry("Long",strategy.long, comment="buy")
        bar_count := 0
    else if strategy.position_size > 0
        bar_count := bar_count + 1

    //EXIT: 
    // Case (A) hits trailing stop
    if TSL_ON and strategy.position_size > 0 and close <= stop_loss_price
        if close > entry_price
            strategy.close("Long", comment="take profit [trailing]")
            stop_loss_price := 0
        else if close <= entry_price and bar_count
            strategy.close("Long", comment="stop loss")
            stop_loss_price := 0
        bar_count := 0
    // Case (B) take targeted profit relative to risk 
    if strategy.position_size > 0 and TARGET_PROFIT_MODE
        if take_profit_long
            strategy.close("Long", comment="take profits [risk:reward]")
            stop_loss_price := 0
        bar_count := 0
    // Case (C)
    if strategy.position_size > 0 and exit_condition
        if take_profit_long
            strategy.close("Long", comment="exit[rsi]")
            stop_loss_price := 0
        bar_count := 0