Sumber dimuat naik... memuat...

Strategi Masa Dinamik dan Pengurusan Posisi Berdasarkan Volatiliti

Penulis:ChaoZhang, Tarikh: 2024-12-12 15:19:18
Tag:ATR

img

Ringkasan

Strategi ini adalah sistem perdagangan masa dinamik berdasarkan turun naik, menggabungkan trend berikut dan ciri pengurusan risiko. Inti strategi menggunakan saluran turun naik untuk mengenal pasti perubahan trend pasaran sambil menggabungkan mekanisme pengurusan kedudukan dinamik berasaskan ATR untuk mencapai kawalan yang tepat terhadap risiko perdagangan. Strategi ini sangat sesuai untuk beroperasi dalam persekitaran pasaran yang sangat turun naik dan boleh menyesuaikan pegangan dengan turun naik pasaran.

Prinsip Strategi

Logik teras strategi ini berdasarkan komponen utama berikut:

  1. Pengiraan Saluran Volatiliti: Menggunakan penunjuk ATR (Average True Range) untuk mengukur turun naik pasaran dan membina saluran turun naik dinamik. Lebar saluran ditentukan oleh kedua-dua nilai ATR dan faktor pengganda, yang boleh diselaraskan secara fleksibel mengikut ciri pasaran.
  2. Mekanisme Penentuan Trend: Menentukan hala tuju trend melalui kedudukan relatif harga ke saluran turun naik.
  3. Sistem Pengurusan Posisi: Mengira secara dinamik saiz kedudukan berdasarkan modal awal dan risiko yang telah ditetapkan terlebih dahulu setiap perdagangan, digabungkan dengan jarak stop-loss masa nyata, memastikan pendedahan risiko yang konsisten untuk setiap perdagangan.
  4. Mekanisme Kawalan Risiko: Melaksanakan stop-loss dinamik berdasarkan saluran turun naik, secara automatik menutup kedudukan apabila harga mencapai tahap berhenti, dan memaksa penutupan kedudukan sebelum pasaran ditutup untuk mengelakkan risiko semalam.

Kelebihan Strategi

  1. Kebolehsesuaian yang kuat: Strategi secara automatik menyesuaikan parameter dagangan berdasarkan perubahan dalam turun naik pasaran, menyesuaikan diri dengan persekitaran pasaran yang berbeza.
  2. Risiko Terkawal: Memastikan pendedahan risiko untuk setiap perdagangan kekal dalam had yang telah ditetapkan melalui pengurusan kedudukan dinamik dan mekanisme stop-loss.
  3. Penangkapan Trend yang tepat: Menapis secara berkesan pecah palsu menggunakan saluran turun naik, meningkatkan ketepatan penilaian trend.
  4. Operasi Standard: Syarat kemasukan dan keluar yang jelas mengurangkan ketidakpastian daripada penilaian subjektif.
  5. Pengurusan Modal Saintifik: Menggabungkan pengurusan kedudukan berasaskan risiko, mengelakkan risiko berlebihan dari saiz kedudukan tetap.

Risiko Strategi

  1. Risiko pasaran berbelit-belit: Boleh menyebabkan perdagangan yang kerap dan kerugian kecil berturut-turut di pasaran yang berbeza.
  2. Kesan slippage: Boleh menghadapi risiko slippage yang ketara semasa tempoh turun naik yang tinggi, yang mempengaruhi prestasi strategi.
  3. Sensitiviti Parameter: Keberkesanan strategi sensitif kepada tempoh ATR dan pemilihan faktor pengganda, pemilihan parameter yang tidak betul boleh menjejaskan prestasi.
  4. Keperluan Modal: Pengurusan kedudukan dinamik mungkin memerlukan modal awal yang lebih besar untuk memastikan kawalan risiko yang berkesan.

Arahan Pengoptimuman Strategi

  1. Penapisan Lingkungan Pasaran: Tambah penunjuk kekuatan trend untuk menghentikan perdagangan di pasaran yang berbeza, mengurangkan kerugian dalam keadaan bergelombang.
  2. Analisis pelbagai jangka masa: Sertakan penilaian trend jangka masa yang lebih lama untuk meningkatkan ketepatan arah perdagangan.
  3. Pengoptimuman pengambilan keuntungan: Reka bentuk keadaan pengambilan keuntungan dinamik berdasarkan turun naik untuk meningkatkan penangkapan keuntungan.
  4. Peningkatan Masa Masuk: Tambah corak harga atau penunjuk momentum sebagai penunjuk tambahan untuk meningkatkan ketepatan masa masuk.
  5. Kawalan Penarikan: Tambah mekanisme kawalan risiko dinamik berdasarkan ekuiti akaun untuk mengurangkan saiz kedudukan atau menghentikan perdagangan semasa kerugian berturut-turut.

Ringkasan

Ini adalah sistem perdagangan lengkap yang menggabungkan turun naik, mengikuti trend, dan pengurusan risiko. Strategi ini menangkap perubahan trend melalui saluran turun naik sambil menggunakan kaedah pengurusan modal saintifik untuk mengawal risiko. Walaupun prestasi mungkin kurang optimum di pasaran yang berbeza, melalui pengoptimuman parameter yang betul dan mekanisme penapisan tambahan, ia dapat beroperasi dengan stabil di kebanyakan persekitaran pasaran. Keuntungan utama strategi terletak pada kemampuan penyesuaiannya dan kawalan risiko, menjadikannya sesuai sebagai rangka kerja asas untuk pengembangan dan pengoptimuman strategi jangka menengah hingga panjang.


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

//@version=5
strategy("BNF FUT 5 min Volatility Strategy", overlay=true)

// Inputs
length = input.int(20, "Length", minval=2)
src = input.source(close, "Source")
factor = input.float(2.0, "Multiplier", minval=0.25, step=0.25)
initial_capital = input.float(100000, "Initial Capital ($)")
risk_per_trade = input.float(1.0, "Risk per Trade (%)", minval=0.1, maxval=10.0)

// Volatility Stop Function
volStop(src, atrlen, atrfactor) =>
    if not na(src)
        var max = src
        var min = src
        var uptrend = true
        var float stop = na
        atrM = nz(ta.atr(atrlen) * atrfactor, ta.tr)
        max := math.max(max, src)
        min := math.min(min, src)
        stop := nz(uptrend ? math.max(stop, max - atrM) : math.min(stop, min + atrM), src)
        uptrend := src - stop >= 0.0
        if uptrend != nz(uptrend[1], true)
            max := src
            min := src
            stop := uptrend ? max - atrM : min + atrM
        [stop, uptrend]

// Calculate Volatility Stop
[vStop, uptrend] = volStop(src, length, factor)

// Plot Volatility Stop
plot(vStop, "Volatility Stop", style=plot.style_cross, color=uptrend ? #009688 : #F44336)

// Risk Management and Position Sizing
atr = ta.atr(length)
stop_distance = math.abs(close - vStop) // Distance to stop level
position_size = (initial_capital * (risk_per_trade / 100)) / stop_distance // Position size based on risk per trade
position_size := math.max(position_size, 1) // Ensure minimum size of 1

// Strategy Logic
if not na(vStop)
    if uptrend and not uptrend[1] // Transition to uptrend
        strategy.close("Short")
        strategy.entry("Long", strategy.long, qty=position_size)
    if not uptrend and uptrend[1] // Transition to downtrend
        strategy.close("Long")
        strategy.entry("Short", strategy.short, qty=position_size)

// Exit on Stop Hit
if strategy.position_size > 0 and low < vStop // Exit long if stop hit
    strategy.close("Long", comment="Stop Hit")
if strategy.position_size < 0 and high > vStop // Exit short if stop hit
    strategy.close("Short", comment="Stop Hit")
if (hour == 15 and minute == 15)
    strategy.close_all()

Berkaitan

Lebih lanjut