Supertrend digabungkan dengan RSI Strategi Dagangan Kuantitatif

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

img

Ringkasan

Strategi ini dinamakan Dual-drive Strategy. Idea utamanya adalah untuk menggabungkan Supertrend dan RSI, yang merupakan dua penunjuk teknikal yang kuat, untuk memainkan sepenuhnya kelebihan masing-masing dan mencapai prestasi perdagangan kuantitatif yang sangat baik.

Logika Strategi

Inti strategi menggunakan fungsi Perubahan untuk menentukan perubahan arah penunjuk Supertrend untuk menjana isyarat perdagangan. Ia akan menjana isyarat beli apabila Supertrend berubah dari atas ke bawah, dan ia akan menjana isyarat jual apabila Supertrend bertukar dari bawah ke atas.

Pada masa yang sama, penunjuk RSI diperkenalkan untuk membantu menentukan bila untuk menutup kedudukan. Apabila RSI menembusi garisan overbought yang ditetapkan, kedudukan panjang akan ditutup; apabila RSI menembusi garisan oversold yang ditetapkan, kedudukan pendek akan ditutup. Dengan cara ini, RSI membantu menentukan titik stop loss yang munasabah untuk mengunci keuntungan.

Analisis Kelebihan

Kelebihan utama strategi ini ialah:

  1. Supertrend adalah baik dalam mengenal pasti perubahan trend pasaran untuk entri panjang dan pendek yang tepat.

  2. RSI cemerlang dalam mencari titik perubahan yang berlebihan untuk membantu mengambil keuntungan yang munasabah dan menghentikan kerugian.

  3. Kedua-duanya saling melengkapi satu sama lain dengan kekuatan gabungan untuk menangkap peluang yang lebih baik dan keuntungan yang lebih mantap.

  4. Logik strategi adalah mudah dan bersih untuk mudah difahami dan dijejaki walaupun untuk pelabur yang kurang berpengalaman.

  5. Pelaksanaan yang kukuh dengan pengambilan yang boleh dikawal dan keuntungan yang stabil.

Analisis Risiko

Walaupun mempunyai kelebihan itu, terdapat beberapa risiko dengan Dual-drive Strategy:

  1. Isyarat yang salah mungkin berlaku dengan Supertrend dan RSI yang membawa kepada kerugian yang tidak perlu. Parameter boleh disesuaikan atau penunjuk tambahan diperkenalkan untuk pengesahan.

  2. Perdagangan dua hala dengan risiko yang lebih tinggi memerlukan peraturan pengurusan wang yang lebih ketat dan kawalan risiko.

  3. Stop loss mungkin gagal dengan turun naik harga yang tidak normal menggunakan sandaran untuk mengawal risiko.

  4. Supertrend sensitif kepada parameter yang memerlukan penyesuaian untuk pasaran yang berbeza.

Arahan pengoptimuman

Memandangkan risiko, pengoptimuman boleh dibuat dalam aspek berikut:

  1. Menambah Volume, MACD untuk penapisan isyarat tambahan dan kemasukan yang lebih tepat.

  2. Menetapkan stop loss dinamik untuk bertindak balas terhadap peristiwa risiko.

  3. Mengoptimumkan parameter Supertrend dan RSI untuk lebih sesuai dengan pasaran yang berbeza.

  4. Memperkenalkan pembelajaran mesin untuk parameter dan pemilihan penunjuk.

  5. Menggunakan derivatif seperti niaga hadapan dan opsyen untuk lindung nilai risiko.

  6. Peraturan saiz kedudukan yang berbeza untuk mengehadkan kerugian dan pengeluaran.

Ringkasan

Strategi Dual-drive secara berkesan menggabungkan Supertrend dan RSI untuk menangkap trend yang cekap dan mengambil keuntungan. Berbanding dengan strategi penunjuk tunggal, ia memberikan isyarat yang lebih boleh dipercayai, penarikan yang lebih kecil, dan prestasi perdagangan algoritma yang stabil. Pengoptimuman lanjut pada penyesuaian parameter, penapisan isyarat dan pengurusan risiko akan membawa kepada 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 lanjut