Strategi Mengikuti Trend ATR Dinamik Henti Kerugian Chande-Kroll

SMA ATR SPX
Tarikh penciptaan: 2024-06-14 15:15:43 Akhirnya diubah suai: 2024-06-14 15:15:43
Salin: 0 Bilangan klik: 736
1
fokus pada
1617
Pengikut

Strategi Mengikuti Trend ATR Dinamik Henti Kerugian Chande-Kroll

Gambaran keseluruhan

Strategi pelacakan trend Chande-Kroll Stop Loss Dynamic ATR adalah strategi perdagangan kuantitatif berdasarkan indikator Stop Loss Chande-Kroll dan purata bergerak sederhana (SMA). Strategi ini bertujuan untuk menangkap trend kenaikan pasaran, sambil menggunakan stop loss dinamik untuk menguruskan risiko.

Prinsip Strategi

Inti strategi ini adalah indikator hentian Chande-Kroll, yang menggunakan ATR untuk mengira tahap hentian dinamik. ATR mengukur turun naik pasaran, tahap hentian disesuaikan dengan ATR dan perkalian dinamik. Ini memastikan kedudukan hentian sesuai dengan keadaan pasaran semasa. Melakukan lebih: Mulakan lebih apabila harga penutupan menembusi corak bawah Chande-Kroll dan lebih tinggi daripada 21 kitaran SMA. Syarat kedudukan kosong: Apabila harga penutupan jatuh ke atas Chande-Kroll, kedudukan kosong.

Kelebihan Strategik

  1. Hentian dinamik: Indeks Hentian Chande-Kroll berdasarkan ATR mengira tahap Hentian dinamik, dapat menyesuaikan diri dengan keadaan pasaran yang berbeza, meningkatkan keberkesanan Hentian.
  2. Pengesanan Trend: 21 kitaran SMA berfungsi sebagai penapis trend, memastikan perdagangan mematuhi arah trend utama, mengurangkan risiko perdagangan berlawanan.
  3. Fleksibiliti parameter: parameter strategi seperti kitaran ATR, pengganda ATR, kitaran henti dan kitaran SMA boleh disesuaikan mengikut keutamaan pengguna untuk meningkatkan kebolehpasaran strategi.
  4. Pengurusan saiz kedudukan: saiz kedudukan disesuaikan secara dinamik mengikut kelipatan risiko dan keadaan pasaran semasa yang bergolak, mewujudkan pengurusan dinamik risiko.

Risiko Strategik

  1. Risiko pengoptimuman parameter: parameter strategi perlu dioptimumkan mengikut keadaan pasaran yang berbeza dan jenis perdagangan, dan tetapan parameter yang tidak sesuai boleh menyebabkan prestasi strategi yang buruk.
  2. Risiko pengiktirafan trend: Strategi ini mungkin menghasilkan isyarat yang salah dan menyebabkan kerugian semasa pasaran bergolak atau pada permulaan pembalikan trend.
  3. Titik tergelincir dan kos urus niaga: Dalam urus niaga sebenar, titik tergelincir dan kos urus niaga akan mempengaruhi pendapatan bersih strategi. Langkah-langkah pengurusan risiko merangkumi: Ujian semula strategi secara menyeluruh dan pengoptimuman parameter; mematuhi peraturan strategi dengan ketat dalam perdagangan sebenar, mengawal risiko setiap perdagangan; menilai prestasi strategi secara berkala dan membuat penyesuaian jika perlu.

Arah pengoptimuman strategi

  1. Perdagangan dua hala pelbagai ruang: Strategi pada masa ini hanya untuk membuat beberapa isyarat, yang boleh diperluaskan kepada perdagangan dua hala pelbagai ruang untuk menangkap peluang dalam keadaan pasaran yang berbeza.
  2. Pengoptimuman parameter dinamik: menggunakan pembelajaran mesin atau algoritma pengoptimuman untuk menyesuaikan parameter strategi dalam masa nyata mengikut keadaan pasaran, meningkatkan daya serap.
  3. Menggabungkan petunjuk teknikal lain: memperkenalkan petunjuk jenis trend atau getaran lain, membina strategi pelbagai faktor, meningkatkan kebolehpercayaan isyarat.
  4. Menambah indikator sentimen pasaran: menggabungkan indikator sentimen pasaran seperti VIX dan lain-lain untuk mengawal perdagangan semasa sentimen pasaran yang melampau dan meningkatkan keupayaan pengurusan risiko.

ringkaskan

Strategi Tracking Trend Chande-Kroll Stop Loss Dynamic ATR adalah strategi perdagangan kuantitatif yang berdasarkan kepada prinsip stop loss dan trend tracking. Dengan gabungan indikator stop loss Chande-Kroll dan penapis trend SMA, strategi ini dapat menguruskan risiko dengan berkesan sambil menangkap trend menaik. Fleksibiliti parameter strategi dan penyesuaian dinamik skala kedudukan meningkatkan lagi kebolehpasaran strategi. Walaupun terdapat risiko tertentu dalam strategi ini, strategi ini dijangka dapat mencapai keuntungan yang stabil dalam jangka panjang melalui langkah-langkah pengurusan risiko yang munasabah dan penambahbaikan pengoptimuman yang berterusan.

Kod sumber strategi
/*backtest
start: 2023-06-08 00:00:00
end: 2024-06-13 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Chande Kroll Stop Strategy", overlay=true, initial_capital = 1000, commission_type = strategy.commission.percent, commission_value = 0.01, slippage = 3)

// Chande Kroll Stop parameters
calcMode = input.string(title="Calculation Mode", defval="Exponential", options=["Linear", "Exponential"])
riskMultiplier = input(5, "Risk Multiplier")
atrPeriod = input(10, "ATR Period")
atrMultiplier = input(3, "ATR Multiplier")
stopLength = input(21, "Stop Length")
smaLength = input(21, "SMA Length")

// Calculate ATR
atr = ta.atr(atrPeriod)

// Calculate Chande Kroll Stop
highStop = ta.highest(high, stopLength) - atrMultiplier * atr
lowStop = ta.lowest(low, stopLength) + atrMultiplier * atr

sma21 = ta.sma(close, smaLength)

// Entry and Exit conditions
longCondition = ta.crossover(close, lowStop) and close > sma21
exitLongCondition = close < highStop

// Funktion zur Berechnung der Menge
calc_qty(mode, riskMultiplier) =>
    lowestClose = ta.lowest(close, 1560)
    if mode == "Exponential"
        qty = riskMultiplier / lowestClose * 1000 * strategy.equity / strategy.initial_capital
    else
        qty = riskMultiplier / lowestClose * 1000

// Berechnung der Menge basierend auf der Benutzerwahl
qty = calc_qty(calcMode, riskMultiplier)

// Execute strategy
if (longCondition)
    strategy.entry("Long", strategy.long, qty=qty)
    alert("Buy Signal", alert.freq_once_per_bar_close)

if (exitLongCondition)
    strategy.close("Long")
    alert("Sell Signal", alert.freq_once_per_bar_close)

// Plotting
plotshape(series=longCondition, location=location.belowbar, color=#0097a7, style=shape.triangleup, size=size.small, title="Buy Signal")
plotshape(series=ta.crossunder(close, highStop), location=location.abovebar, color=#ff195f, style=shape.triangledown, size=size.small, title="Sell Signal")
plot(sma21, color=color.gray)
plot(highStop, color=#0097a7)
plot(lowStop, color=#ff195f)