Tren SuperTrend Mengikuti Strategi

Penulis:ChaoZhang, Tanggal: 2023-09-24 13:19:47
Tag:

Gambaran umum

Strategi ini menggunakan indikator SuperTrend untuk menentukan arah tren harga dan menghasilkan sinyal perdagangan, yang termasuk dalam kategori strategi trend berikut.

Logika Strategi

  1. Menghitung ATR dan rata-rata tertinggi tertinggi dan terendah terendah untuk menentukan band atas dan bawah SuperTrend berdasarkan pengganda.

  2. Tentukan apakah harga pecah di atas band atas atau di bawah band bawah untuk mengidentifikasi arah SuperTrend.

  3. Sinyal panjang ketika harga melintasi band bawah. Sinyal pendek ketika harga melintasi band atas.

  4. Dapat memilih untuk masuk ke bar berikutnya terbuka ketika sinyal dipicu, atau segera ketika harga mencapai band SuperTrend.

Keuntungan

  1. SuperTrend dengan jelas mengidentifikasi tren, mudah diprogram.

  2. Pilihan masuk yang fleksibel sesuai dengan preferensi pedagang yang berbeda.

  3. Dapat dengan cepat menangkap tren jangka menengah, cocok untuk mengikuti tren.

  4. Perdagangan yang sering memungkinkan ekspansi dan peningkatan.

Risiko

  1. SuperTrend tertinggal berpotensi kehilangan entri terbaik.

  2. Frekuensi perdagangan yang tinggi mengarah pada biaya slippage yang lebih besar.

  3. Tidak ada alat kontrol risiko seperti stop loss.

  4. Backtest hanya pada data Tesla 1 menit, sulit untuk membuktikan strategi validitas.

Kemungkinan Solusi:

  1. Sesuaikan parameter untuk mengurangi lag.

  2. Tambahkan kontrol slip untuk membatasi biaya.

  3. Menggabungkan stop loss untuk mengendalikan kerugian per perdagangan.

  4. Backtest lebih banyak produk dan kerangka waktu untuk ketahanan.

Arahan Optimasi

  1. Uji set parameter yang berbeda untuk mengurangi lag.

  2. Tambahkan filter untuk menghindari whipsaws.

  3. Mengoptimalkan manajemen uang untuk efisiensi yang lebih tinggi.

  4. Masukkan pembelajaran mesin untuk memprediksi arah SuperTrend.

  5. Tambahkan indikator lain untuk memverifikasi sinyal dan meningkatkan stabilitas.

Ringkasan

Strategi ini menggunakan SuperTrend untuk mengidentifikasi arah tren jangka menengah untuk sinyal perdagangan, khas dari strategi trend berikut. Kerangka kerja keseluruhan sederhana dan efektif, tetapi dapat ditingkatkan lebih lanjut di bidang seperti peluang masuk, manajemen risiko, pemilihan parameter dll. Dengan lebih banyak data historis di seluruh produk dan teknik terintegrasi seperti pembelajaran mesin, dapat ditingkatkan secara signifikan dalam stabilitas dan profitabilitas.


/*backtest
start: 2023-08-24 00:00:00
end: 2023-09-23 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("QuantNomad - SuperTrend - TSLA - 1m", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100)

// INPUTS //
st_mult   = input(3,   title = 'SuperTrend Multiplier', minval = 0, maxval = 100, step = 0.01)
st_period = input(120, title = 'SuperTrend Period',     minval = 1)

// CALCULATIONS //
up_lev = hl2 - (st_mult * atr(st_period))
dn_lev = hl2 + (st_mult * atr(st_period))

up_trend   = 0.0
up_trend   := close[1] > up_trend[1]   ? max(up_lev, up_trend[1])   : up_lev

down_trend = 0.0
down_trend := close[1] < down_trend[1] ? min(dn_lev, down_trend[1]) : dn_lev

// Calculate trend var
trend = 0
trend := close > down_trend[1] ? 1: close < up_trend[1] ? -1 : nz(trend[1], 1)

// Calculate SuperTrend Line
st_line = trend ==1 ? up_trend : down_trend

// Plotting
plot(st_line, color = trend == 1 ? color.green : color.red , style = plot.style_line, linewidth = 2, title = "SuperTrend")

plotshape(crossover( close, st_line), location = location.belowbar, color = color.green)
plotshape(crossunder(close, st_line), location = location.abovebar, color = color.red)

// Strategy with "when"
//strategy.entry("long",  true,  when = crossover( close, down_trend[1]))
//strategy.entry("short", false, when = crossunder(close, up_trend[1]))

// Strategy with stop orders
strategy.entry("long",  true,  stop = down_trend[1])
strategy.entry("short", false, stop = up_trend[1])

Lebih banyak