Sumber daya yang dimuat... Pemuatan...

Multi-Indicator Trend Crossing Strategy: Bull Market Support Band Trading System (Sistem Perdagangan Band Dukungan Bursa)

Penulis:ChaoZhang, Tanggal: 2024-12-27 14:35:53
Tag:SMABMSBEMA

img

Gambaran umum

Strategi ini adalah sistem perdagangan trend-mengikuti berdasarkan Bull Market Support Band. Ini terutama menggunakan sinyal crossover antara 20-minggu Simple Moving Average (SMA) dan 21-minggu Exponential Moving Average (EMA) untuk menentukan arah tren pasar dan membuat keputusan perdagangan. Strategi ini menghasilkan sinyal panjang ketika rata-rata bergerak melintasi ke atas dan keluar ketika mereka melintasi ke bawah, bertujuan untuk menangkap peluang tren jangka menengah hingga panjang.

Prinsip Strategi

Logika inti dari strategi ini adalah untuk memantau posisi relatif SMA 20 minggu dan EMA 21 minggu untuk menilai tren pasar. Ketika rata-rata jangka pendek (20 minggu SMA) melanggar di atas rata-rata jangka panjang (21-minggu EMA), itu menunjukkan potensi uptrend, memicu entri posisi panjang. Ketika rata-rata jangka pendek jatuh di bawah rata-rata jangka panjang, itu menandakan potensi akhir dari uptrend, memicu penutupan posisi. Strategi ini menggunakan manajemen posisi saham, dengan komisi perdagangan 0,1% dan slippage 3 basis point.

Keuntungan Strategi

  1. Tren yang kuat mengikuti: Menggunakan jangka waktu mingguan bergerak rata-rata crossovers untuk menyaring kebisingan pasar jangka pendek dan menangkap peluang tren jangka menengah hingga panjang
  2. Pengendalian risiko yang wajar: Menggunakan rata-rata bergerak dinamis sebagai referensi stop-loss untuk keluar pasar yang tepat waktu
  3. Pengaturan parameter ilmiah: parameter 20 minggu dan 21 minggu memastikan stabilitas sinyal tanpa keterlambatan yang berlebihan
  4. Logika eksekusi yang jelas: Sinyal masuk dan keluar eksplisit, menghilangkan penilaian subjektif
  5. Manajemen modal yang fleksibel: Mendukung ukuran posisi berdasarkan ekuitas akun, memungkinkan penyesuaian posisi yang dinamis

Risiko Strategi

  1. Tidak efektif di pasar yang berkisar: Perpindahan yang sering terjadi selama pasar samping dapat menyebabkan pecah palsu dan kerugian berturut-turut
  2. Dampak slippage yang signifikan: Perdagangan jangka waktu mingguan mungkin menghadapi slippage yang substansial dalam perdagangan nyata
  3. Penundaan waktu masuk: Sinyal crossover rata-rata bergerak secara inheren tertinggal, berpotensi kehilangan titik masuk yang optimal
  4. Pengendalian penarikan yang tidak memadai: Bergantung hanya pada crossover rata-rata bergerak untuk stop loss dapat menyebabkan penarikan besar
  5. Kebutuhan modal yang tinggi: Perdagangan jangka waktu mingguan membutuhkan modal yang besar dan ketahanan psikologis

Arahan Optimasi

  1. Tambahkan indikator penyaringan: Masukkan RSI, MACD, dll untuk mengkonfirmasi tren dan meningkatkan keandalan sinyal
  2. Mengoptimalkan mekanisme stop loss: Melaksanakan stop loss dinamis menggunakan indikator ATR untuk meningkatkan pengendalian risiko
  3. Meningkatkan manajemen posisi: Mengatur secara dinamis ukuran posisi berdasarkan volatilitas pasar
  4. Menambahkan penyaringan tren: Memperkenalkan penilaian tren jangka panjang untuk perdagangan hanya dalam arah tren utama
  5. Meningkatkan pelaksanaan perdagangan: Mengoptimalkan aturan perdagangan untuk mengurangi dampak slip dan meningkatkan stabilitas strategi

Ringkasan

Strategi trading bull market support band adalah sistem mengikuti tren berdasarkan teori analisis teknis klasik. Strategi ini menangkap peluang tren jangka menengah hingga panjang melalui crossover rata-rata bergerak jangka waktu mingguan, menampilkan logika yang jelas dan risiko yang dapat dikendalikan. Namun, strategi ini berkinerja buruk di berbagai pasar dan menunjukkan beberapa keterlambatan. Melalui penambahan indikator tambahan, pengoptimalan stop-loss, dan manajemen modal yang lebih baik, strategi ini memiliki ruang yang signifikan untuk optimasi.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-25 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0
// © zkdev

//@version=6
strategy(title='Demo GPT - Bull Market Support Band', 
     overlay=true, 
     default_qty_type=strategy.percent_of_equity, 
     default_qty_value=100, 
     commission_type=strategy.commission.percent, 
     commission_value=0.1, 
     slippage=3)

// -------------------------------------------------------------------------
// Compile-time timestamp constants for default date range
// (2018-01-01 00:00:00 UTC -> 1514764800000
//  2069-12-31 23:59:59 UTC -> 3155759999000)
// -------------------------------------------------------------------------
const int defaultFromDate = 1514764800000
const int defaultToDate   = 3155759999000

// -------------------------------------------------------------------------
// Inputs: date range
// -------------------------------------------------------------------------
fromDate = input(title='Start Date', defval=defaultFromDate)
toDate   = input(title='End Date',   defval=defaultToDate)

// -------------------------------------------------------------------------
// Indicator settings & calculations
// -------------------------------------------------------------------------
smaLength = 20
emaLength = 21

source = close
sma    = ta.sma(source, smaLength)
ema    = ta.ema(source, emaLength)

// -------------------------------------------------------------------------
// Fetch weekly SMA & EMA
// -------------------------------------------------------------------------
outSma = request.security(syminfo.tickerid, 'W', sma, gaps=barmerge.gaps_on, lookahead=barmerge.lookahead_off)
outEma = request.security(syminfo.tickerid, 'W', ema, gaps=barmerge.gaps_on, lookahead=barmerge.lookahead_off)

// -------------------------------------------------------------------------
// Plot visuals (20w SMA, 21w EMA, fill in between)
// -------------------------------------------------------------------------
smaPlot = plot(outSma, color=color.new(color.red,   0), title='20w SMA')
emaPlot = plot(outEma, color=color.new(color.green, 0), title='21w EMA')
fill(smaPlot, emaPlot, color=color.new(color.orange, 75), fillgaps=true)

// -------------------------------------------------------------------------
// We evaluate crossover/crossunder on *every bar* and store the result
// -------------------------------------------------------------------------
crossUp   = ta.crossover(outSma, outEma)
crossDown = ta.crossunder(outSma, outEma)

// -------------------------------------------------------------------------
// Trade logic: only operate within chosen date range
// Buy when outSma crosses above outEma; Sell (close) when outSma crosses below outEma
// -------------------------------------------------------------------------
inDateRange = true

if inDateRange
    // If we have a crossUp event on this bar, buy (go Long)
    if crossUp
        strategy.entry('Long', strategy.long)

    // If we have a crossDown event on this bar, sell (close Long)
    if crossDown
        strategy.close('Long')


Berkaitan

Lebih banyak