Strategi Perdagangan Breakout RSI Alpha

Penulis:ChaoZhang, Tanggal: 2023-10-07 15:45:07
Tag:

Gambaran umum

Alpha RSI breakout trading strategy adalah strategi trading breakout yang didasarkan pada indikator RSI. Strategi ini menggunakan indikator RSI untuk mengidentifikasi kondisi overbought dan oversold dan dikombinasikan dengan moving average untuk menentukan arah tren.

Logika Strategi

Strategi ini terutama didasarkan pada logika berikut:

  1. Ketika RSI melebihi ambang overbought (default 70), aset dianggap overbought dan perdagangan short dibuka.

  2. Ketika RSI melintasi di bawah ambang oversold (default 30), aset dianggap oversold dan perdagangan panjang dibuka.

  3. Rata-rata bergerak SMA digunakan untuk menentukan tren utama. Perdagangan hanya dilakukan ketika tren setuju dengan sinyal RSI.

Secara khusus, strategi ini mencakup:

  1. Input untuk periode SMA (default 200), periode RSI (default 14), level entry RSI (default 34), level stop loss (default 30), level take profit (default 50).

  2. Perhitungan nilai SMA dan RSI.

  3. Posisi panjang dimasukkan ketika RSI melintasi di atas level entry dan close berada di atas SMA.

  4. Setelah membuka long, stop loss diperbarui ke posisi terendah dari close sebelumnya.

  5. Posisi panjang ditutup ketika: a) RSI turun di bawah stop loss; b) RSI mencapai take profit; c) Close turun di bawah stop loss.

  6. Hanya perdagangan panjang, tidak pendek.

Strategi ini mengidentifikasi titik pembalikan dengan tingkat overbought/oversold RSI dan memasuki saat-saat kontra-trend yang tepat setelah konfirmasi arah tren utama.

Analisis Keuntungan

Dibandingkan dengan strategi rata-rata bergerak sederhana, strategi ini memiliki keuntungan berikut:

  1. RSI lebih baik dalam mengidentifikasi titik pembalikan melalui tingkat overbought/oversold.

  2. Perdagangan dilakukan hanya ketika tren sesuai dengan sinyal RSI, mengurangi sinyal palsu.

  3. Mekanisme stop loss dan take profit secara aktif mengelola risiko dan pengembalian.

  4. Stop trailing mengunci lebih banyak keuntungan karena harga bergerak menguntungkan.

  5. Aturan sederhana dan jelas, mudah dipahami bagi pemula.

Analisis Risiko

Strategi ini juga memiliki beberapa risiko yang perlu dicatat:

  1. RSI masih bisa memberikan sinyal palsu. Filter lain seperti volume dapat ditambahkan.

  2. Parameter entri tetap, stop loss, take profit mungkin tidak sesuai dengan semua aset dan kondisi pasar.

  3. Biaya perdagangan tidak dipertimbangkan, spread dan komisi mempengaruhi keuntungan.

  4. Meninggalkan kesempatan untuk menyingkat, bisa menambahkan aturan singkat.

  5. Pertimbangkan aturan manajemen modal yang tepat, misalnya risiko maksimum per perdagangan.

Arah Peningkatan

Beberapa cara strategi dapat ditingkatkan:

  1. Tambahkan filter lain seperti volume anomali.

  2. Dinamis mengoptimalkan parameter melalui metode pembelajaran mesin.

  3. Tambahkan aturan shorting untuk menangkap downtrends.

  4. Pertimbangkan biaya perdagangan, mengoptimalkan parameter dengan spesifik aset.

  5. Tambahkan modul manajemen modal, misalnya batas risiko per perdagangan.

  6. Optimasi backtest untuk kombinasi parameter untuk efisiensi yang lebih baik.

Ringkasan

Strategi RSI Breakout menggabungkan strategi tren dan pembalikan. Ini mengidentifikasi pembalikan sambil mengendalikan risiko. Meskipun dapat ditingkatkan untuk pasar yang kompleks, ini menyediakan model referensi sederhana untuk pembelajaran strategi kuantum. Dengan optimasi yang tepat, ini bisa menjadi strategi mekanis yang menguntungkan.


/*backtest
start: 2022-09-30 00:00:00
end: 2023-10-06 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/
// © abdllhatn

//@version=5
// strategy("Alpha RSI Breakout Strategy", overlay=true, initial_capital=10000, default_qty_value=100)

// Inputs
sma_length = input(200, title="SMA Length")
rsi_length = input(14, title="RSI Length")
rsi_entry = input(34, title="RSI Entry Level")
rsi_stop_loss = input(30, title="RSI Stop Loss Level")
rsi_take_profit = input(50, title="RSI Take Profit Level")

// Indicators
sma_value = ta.sma(close, sma_length)
rsi_value = ta.rsi(close, rsi_length)

var bool trailing_stop_activate = false
var float trailingStop = na
var float lastClose = na

// Conditions
longCondition = ta.crossover(rsi_value, rsi_entry) and close > sma_value
if (longCondition)
    strategy.entry("Buy", strategy.long)
    trailingStop := na
    lastClose := na
    trailing_stop_activate := false

if (strategy.position_size > 0)
    if (na(lastClose) or close < lastClose)
        lastClose := close
        trailingStop := close
    if (rsi_value >= rsi_take_profit)
        trailing_stop_activate := true

if (trailing_stop_activate and not na(trailingStop) and close < trailingStop)
    strategy.close("Buy")

if (rsi_value <= rsi_stop_loss)
    strategy.close("Buy")

if (not trailing_stop_activate and rsi_value >= rsi_take_profit)
    strategy.close("Buy")

if (trailing_stop_activate and rsi_value >= rsi_take_profit)
    strategy.close("Buy")

// Plot
plot(sma_value, color=color.red, linewidth=2)
plot(rsi_value, color=color.blue, linewidth=2)



Lebih banyak