Strategi Penghentian Dinamik ATR Trend Following adalah strategi perdagangan kuantitatif berdasarkan penunjuk berhenti Chande-Kroll dan Purata Bergerak Sederhana (SMA). Strategi ini bertujuan untuk menangkap trend pasaran menaik sambil menguruskan risiko menggunakan tahap stop-loss dinamik. Penunjuk berhenti Chande-Kroll secara dinamik menyesuaikan tahap stop-loss berdasarkan Julat Benar Purata (ATR) untuk menyesuaikan diri dengan keadaan turun naik pasaran yang berbeza. SMA 21 tempoh digunakan sebagai penapis trend untuk memastikan perdagangan dibuat ke arah trend utama.
Inti strategi ini adalah penunjuk berhenti Chande-Kroll, yang menggunakan ATR untuk mengira tahap stop-loss dinamik. ATR mengukur turun naik pasaran, dan tahap stop-loss diselaraskan secara dinamik berdasarkan ATR dan pengganda. Ini memastikan bahawa kedudukan stop-loss menyesuaikan diri dengan keadaan pasaran semasa. Di samping itu, SMA 21 tempoh bertindak sebagai penapis trend, dan isyarat panjang hanya dicetuskan apabila harga penutupan di atas SMA. Ini membantu mengelakkan perdagangan semasa pasaran beruang. Keadaan kemasukan panjang: Apabila harga penutupan melanggar band bawah Chande-Kroll dan berada di atas SMA 21 tempoh, kedudukan panjang dimulakan. Keadaan keluar: Apabila harga penutupan jatuh di bawah jalur atas Chande-Kroll, kedudukan ditutup.
Strategi Penghentian Dinamik Chande-Kroll adalah strategi perdagangan kuantitatif berdasarkan prinsip penghentian rugi dinamik dan prinsip mengikuti trend. Dengan menggabungkan penunjuk berhenti Chande-Kroll dan penapis trend SMA, strategi ini dapat menangkap trend menaik sambil menguruskan risiko dengan berkesan. Fleksibiliti parameter strategi dan ukuran kedudukan dinamik meningkatkan lagi kemampuan penyesuaian strategi. Walaupun strategi ini mempunyai risiko tertentu, dengan langkah pengurusan risiko yang munasabah dan pengoptimuman dan penambahbaikan berterusan, strategi ini berpotensi untuk mencapai pulangan yang stabil dalam jangka panjang.
/*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)