Supertrend dikombinasikan dengan strategi perdagangan kuantitatif RSI

Penulis:ChaoZhang, Tanggal: 2024-01-31 17:19:28
Tag:

img

Gambaran umum

Strategi ini disebut Dual-drive Strategy. Ide utamanya adalah untuk menggabungkan Supertrend dan RSI, yang merupakan dua indikator teknis yang kuat, untuk memberikan permainan penuh untuk keuntungan masing-masing dan mencapai kinerja perdagangan kuantitatif yang sangat baik.

Logika Strategi

Inti dari strategi ini menggunakan fungsi Perubahan untuk menentukan perubahan arah indikator Supertrend untuk menghasilkan sinyal perdagangan. Ini akan menghasilkan sinyal beli ketika Supertrend berubah dari atas ke bawah, dan akan menghasilkan sinyal jual ketika Supertrend berbalik dari bawah ke atas.

Pada saat yang sama, indikator RSI diperkenalkan untuk membantu menentukan kapan menutup posisi. Ketika RSI menembus garis overbought yang ditetapkan, posisi panjang akan ditutup; ketika RSI menembus garis oversold yang ditetapkan, posisi pendek akan ditutup. Dengan cara ini, RSI membantu menentukan titik stop loss yang wajar untuk mengunci keuntungan.

Analisis Keuntungan

Keuntungan utama dari strategi ini adalah:

  1. Supertrend baik dalam mengidentifikasi perubahan tren pasar untuk entri panjang dan pendek yang akurat.

  2. RSI unggul dalam menemukan titik balik yang terlalu tertekan untuk membantu mengambil keuntungan yang wajar dan menghentikan kerugian.

  3. Keduanya saling melengkapi dengan kekuatan gabungan untuk menangkap peluang yang lebih baik dan keuntungan yang lebih stabil.

  4. Logika strategi sederhana dan bersih untuk mudah dipahami dan dilacak bahkan untuk investor yang kurang berpengalaman.

  5. Implementasi yang kuat dengan pengurangan yang dapat dikontrol dan profitabilitas yang stabil.

Analisis Risiko

Meskipun memiliki manfaat tersebut, ada beberapa risiko dengan Dual-drive Strategy:

  1. Sinyal yang salah dapat terjadi dengan Supertrend dan RSI yang menyebabkan kerugian yang tidak perlu. Parameter dapat disetel atau indikator tambahan diperkenalkan untuk verifikasi.

  2. Perdagangan dua arah dengan risiko yang lebih tinggi membutuhkan aturan pengelolaan uang yang lebih ketat dan pengendalian risiko.

  3. Stop loss mungkin gagal dengan perubahan harga yang tidak normal menggunakan cadangan untuk mengendalikan risiko.

  4. Supertrend sensitif terhadap parameter yang membutuhkan penyesuaian untuk pasar yang berbeda.

Arahan Optimasi

Mengingat risiko, optimasi dapat dilakukan dalam aspek berikut:

  1. Menambahkan Volume, MACD untuk penyaringan sinyal tambahan dan entri yang lebih akurat.

  2. Menetapkan stop loss dinamis untuk bereaksi terhadap peristiwa risiko.

  3. Mengoptimalkan parameter Supertrend dan RSI untuk lebih sesuai dengan pasar yang berbeda.

  4. Memperkenalkan pembelajaran mesin untuk parameter dan pemilihan indikator.

  5. Menggunakan derivatif seperti futures dan opsi untuk lindung nilai risiko.

  6. Berbagai aturan ukuran posisi untuk membatasi kerugian dan penarikan.

Ringkasan

Strategi Dual-drive secara efektif menggabungkan Supertrend dan RSI untuk menangkap tren yang efisien dan mengambil keuntungan. Dibandingkan dengan strategi indikator tunggal, ia memberikan sinyal yang lebih dapat diandalkan, penarikan yang lebih kecil, dan kinerja perdagangan algoritma yang stabil. Optimasi lebih lanjut pada penyesuaian parameter, penyaringan sinyal dan manajemen risiko akan mengarah pada hasil yang lebih baik.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
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/
// © alorse

//@version=5
strategy("Supertrend + RSI Strategy [Alose]", overlay=true )

stGroup = 'Supertrend'
atrPeriod = input(10, "ATR Length", group=stGroup)
factor = input.float(3.0, "Factor", step = 0.01, group=stGroup)

[_, direction] = ta.supertrend(factor, atrPeriod)

// RSI
rsiGroup = 'RSI'
src = input(title='Source', defval=close, group=rsiGroup)
lenRSI = input.int(14, title='Length', minval=1, group=rsiGroup)
RSI = ta.rsi(src, lenRSI)

// Strategy Conditions
stratGroup = 'Strategy'
showLong = input.bool(true, title='Long entries', group=stratGroup)
showShort = input.bool(false, title='Short entries', group=stratGroup)
RSIoverbought = input.int(72, title='Exit Long', minval=1, group=stratGroup, tooltip='The trade will close when the RSI crosses up this point.')
RSIoversold = input.int(28, title='Exit Short', minval=1, group=stratGroup, tooltip='The trade will close when the RSI crosses below this point.')


entryLong = ta.change(direction) < 0
exitLong = RSI > RSIoverbought or ta.change(direction) > 0

entryShort = ta.change(direction) > 0
exitShort = RSI < RSIoversold or ta.change(direction) < 0

if showLong
    strategy.entry("Long", strategy.long, when=entryLong)
    strategy.close("Long", when=exitLong)

if showShort
    strategy.entry("Short", strategy.short, when=entryShort)
    strategy.close("Short", when=exitShort)


Lebih banyak