Strategi Perdagangan Quant Berdasarkan Saluran SuperTrend

Penulis:ChaoZhang, Tanggal: 2024-02-05 13:57:28
Tag:

img

Gambaran umum

Strategi ini menghasilkan sinyal Entries dan Exits berdasarkan indikator saluran SuperTrend untuk mewujudkan perdagangan kuantitas otomatis. Indikator saluran SuperTrend dapat mengidentifikasi titik-titik breakout dan level support/resistance dengan jelas untuk menentukan arah tren. Strategi ini menggabungkan keuntungan dari indikator ini untuk melakukan perdagangan panjang dan pendek.

Prinsip Strategi

Strategi ini menggunakan ATR dan Donchian Channel untuk menghitung dua garis stop-loss untuk posisi panjang dan pendek. Secara khusus, ia menghitung nilai ATR menggunakan periode ATR dan parameter multiplier, kemudian menambahkan dan mengurangi dari rata-rata tertinggi tertinggi dan terendah terendah untuk mendapatkan garis stop-loss panjang dan pendek. Ketika harga penutupan melanggar di atas garis stop-loss panjang ke atas, sinyal panjang dihasilkan. Ketika harga penutupan melanggar di bawah garis stop-loss pendek ke bawah, sinyal pendek dipicu.

Setelah mengambil posisi panjang atau pendek, garis stop-loss diperbarui secara dinamis untuk mengunci keuntungan. Garis stop-loss baru tidak akan lebih rendah atau lebih tinggi dari yang sebelumnya, menghindari penetrasi stop-loss. Ketika tinggi atau rendah baru muncul antara garis stop-loss saat ini dan sebelumnya, garis stop-loss disesuaikan dengan harga terbaru.

Analisis Keuntungan

Keuntungan terbesar dari strategi ini adalah bahwa indikator saluran SuperTrend dapat dengan jelas mengidentifikasi arah tren dan level support/resistance utama.

Secara khusus, dua garis stop-loss dalam indikator saluran SuperTrend mewakili basis biaya posisi dan support/resistance terbaru. Mereka menawarkan panduan yang sangat jelas untuk entri dan keluar. Sementara itu, garis stop-loss diperbarui secara dinamis untuk mengunci keuntungan dan mencegah penetrasi stop-loss.

Secara umum, strategi ini masuk tepat waktu ketika tren ditentukan, mengendalikan risiko melalui stop-loss dinamis, menjadikannya strategi perdagangan kuantitatif yang relatif kuat.

Analisis Risiko

Risiko utama dari strategi ini terletak pada kemungkinan penetrasi stop-loss. Ketika harga berfluktuasi dengan ganas, garis stop-loss baru dapat menjadi lebih rendah atau lebih tinggi dari yang sebelumnya, menyebabkan penetrasi stop-loss dan peningkatan kerugian.

Selain itu, sinyal Entries yang dihasilkan oleh indikator saluran SuperTrend tidak bekerja dengan baik di pasar yang bervariasi, yang kadang-kadang menyebabkan perdagangan yang salah.

Arahan Optimasi

Strategi ini dapat dioptimalkan dalam aspek berikut:

  1. Mengoptimalkan periode ATR dan parameter pengganda untuk menemukan kombinasi terbaik melalui backtesting berbagai nilai dan menganalisis metrik seperti pengembalian dan rasio Sharpe.

  2. Tambahkan indikator lain untuk penyaringan sinyal untuk menghindari entri yang salah di pasar yang berkisar.

  3. Menggabungkan indikator volume untuk menyesuaikan posisi stop-loss. garis stop-loss dapat disesuaikan berdasarkan lonjakan volume untuk lebih mengunci keuntungan.

  4. Memperkenalkan model pembelajaran mesin untuk optimasi parameter adaptif. Teknik seperti RNN dan LSTM dapat dimanfaatkan untuk memprediksi nilai parameter optimal secara dinamis.

Kesimpulan

Strategi ini berasal dari indikator saluran SuperTrend dengan penilaian yang jelas tentang arah tren dan tingkat kemenangan yang relatif tinggi. Ini juga menerapkan stop-loss pelacakan ATR dinamis untuk mengendalikan kerugian perdagangan tunggal. Kinerja dapat ditingkatkan lebih lanjut melalui optimasi parameter, optimasi indikator dll. Secara umum, ini adalah strategi yang kuat yang cocok untuk perdagangan kuantitatif otomatis.


/*backtest
start: 2024-01-05 00:00:00
end: 2024-02-04 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//EU ESCREVI ISSO TUDO, PARA FICAR BEM CLARO

strategy("SuperTrend Strategy", overlay=true)


//AQUI OS INPUTS PARA A SUPERTREND
length = input(title="ATR Period", type=input.integer, defval=7)
mult = input(title="ATR Multiplier", type=input.float, step=0.1, defval=7)
showLabels = input(title="Show Buy/Sell Labels ?", type=input.bool, defval=true)

//AQUI O CALCULO DO ATR STOPS
atr = mult * atr(length)



//AQUI A TRANSFORMAÇÃO DO ATR STOPS EM SUPERTREND
//-
//A LÓGICA PARA LONGSTOP
longStop = hl2 - atr
longStopPrev = nz(longStop[1], longStop)
longStop := close[1] > longStopPrev ? max(longStop, longStopPrev) : longStop

//A LÓGICA PARA SELLSTOP
shortStop = hl2 + atr
shortStopPrev = nz(shortStop[1], shortStop)
shortStop := close[1] < shortStopPrev ? min(shortStop, shortStopPrev) : shortStop


//DIREÇÃO DO INDICADOR
dir = 1
dir := nz(dir[1], dir)
dir := dir == -1 and close > shortStopPrev ? 1 : 
   dir == 1 and close < longStopPrev ? -1 : dir


//DEFININDO AS CORES DAS LINHAS DA SUPERTREND
longColor = color.lime
shortColor = color.red


//PLOTANDO NO GRÁFICO A SUPERTREND E A ESTRATÉGIA
plot(dir == 1 ? longStop : na, title="Long Stop", style=plot.style_linebr, linewidth=3, color=longColor)
buySignal = dir == 1 and dir[1] == -1
plot(dir == 1 ? na : shortStop, title="Short Stop", style=plot.style_linebr, linewidth=3, color=shortColor)
sellSignal = dir == -1 and dir[1] == 1

//DEFININDO AS FUNÇÕES DE COMPRA E VENDA
strategy.entry("long", strategy.long, when = buySignal)
strategy.entry("short", strategy.short, when = sellSignal)




Lebih banyak