Strategi Trailing Stop Dual ATR adalah strategi perdagangan jangka pendek yang didasarkan pada indikator Average True Range (ATR). Strategi ini menetapkan dua garis stop loss, garis ATR cepat dan garis ATR lambat, pada saat yang sama, dan menentukan entri dan keluar berdasarkan persilangan kedua garis. Strategi ini sederhana, responsif, dan cocok untuk pasar volatilitas tinggi.
Inti dari strategi ini adalah menggunakan dua garis stop loss ATR. Yang satu adalah garis ATR cepat dengan periode pendek dan pengganda kecil untuk reaksi cepat. Yang lain adalah garis ATR lambat dengan periode yang lebih lama dan pengganda yang lebih besar untuk penyaringan. Ketika garis ATR cepat melintasi di atas garis ATR lambat, itu menghasilkan sinyal beli. Ketika garis ATR cepat melintasi di bawah garis ATR lambat, itu menghasilkan sinyal jual. Jadi strategi menggunakan persilangan dua garis ATR untuk menentukan masuk dan keluar, yang dapat secara efektif mengendalikan stop loss.
Logika spesifiknya adalah: hitung garis ATR cepat dan garis ATR lambat. Ketika harga di atas garis lambat, gunakan garis cepat untuk melacak stop loss. Jika tidak, gunakan garis lambat untuk melacak stop loss. Warna Kline mewakili garis stop loss saat ini. Hijau dan biru berarti menggunakan garis cepat. Merah dan kuning berarti menggunakan garis lambat. Keluar ketika harga pasar menyentuh garis stop loss.
Keuntungan dari strategi ini adalah:
Ada juga beberapa risiko:
Kita dapat mengurangi risiko dengan mengoptimalkan periode ATR, menyesuaikan pengganda ATR, menggabungkan indikator lain untuk penyaringan dll.
Arah optimasi adalah:
Strategi Dual ATR Trailing Stop mudah dipahami dan diimplementasikan, terutama cocok untuk skenario volatilitas tinggi, dan dapat secara efektif mengendalikan risiko.
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © ceyhun //@version=4 strategy("ATR Trailing Stop Strategy by ceyhun", overlay=true) /////////notes//////////////////////////////////////// // This is based on the ATR trailing stop indicator // // width addition of two levels of stops and // // different interpretation. // // This is a fast-reacting system and is better // // suited for higher volatility markets // ////////////////////////////////////////////////////// SC = input(close, "Source", input.source) // Fast Trail // AP1 = input(5, "Fast ATR period", input.integer) // ATR Period AF1 = input(0.5, "Fast ATR multiplier", input.float) // ATR Factor SL1 = AF1 * atr(AP1) // Stop Loss Trail1 = 0.0 Trail1 := iff(SC > nz(Trail1[1], 0) and SC[1] > nz(Trail1[1], 0), max(nz(Trail1[1], 0), SC - SL1), iff(SC < nz(Trail1[1], 0) and SC[1] < nz(Trail1[1], 0), min(nz(Trail1[1], 0), SC + SL1), iff(SC > nz(Trail1[1], 0), SC - SL1, SC + SL1))) // Slow Trail // AP2 = input(10, "Slow ATR perod", input.integer) // ATR Period AF2 = input(2, "Slow ATR multiplier", input.float) // ATR Factor SL2 = AF2 * atr(AP2) // Stop Loss Trail2 = 0.0 Trail2 := iff(SC > nz(Trail2[1], 0) and SC[1] > nz(Trail2[1], 0), max(nz(Trail2[1], 0), SC - SL2), iff(SC < nz(Trail2[1], 0) and SC[1] < nz(Trail2[1], 0), min(nz(Trail2[1], 0), SC + SL2), iff(SC > nz(Trail2[1], 0), SC - SL2, SC + SL2))) // Bar color for trade signal // Green = Trail1 > Trail2 and close > Trail2 and low > Trail2 Blue = Trail1 > Trail2 and close > Trail2 and low < Trail2 Red = Trail2 > Trail1 and close < Trail2 and high < Trail2 Yellow = Trail2 > Trail1 and close < Trail2 and high > Trail2 // Signals // Bull = barssince(Green) < barssince(Red) Bear = barssince(Red) < barssince(Green) Buy = crossover(Trail1, Trail2) Sell = crossunder(Trail1, Trail2) TS1 = plot(Trail1, "Fast Trail", style=plot.style_line,color=Trail1 > Trail2 ? color.blue : color.yellow, linewidth=2) TS2 = plot(Trail2, "Slow Trail", style=plot.style_line,color=Trail1 > Trail2 ? color.green : color.red, linewidth=2) fill(TS1, TS2, Bull ? color.green : color.red, transp=90) plotcolor = input(true, "Paint color on chart", input.bool) bcl = iff(plotcolor == 1, Blue ? color.blue : Green ? color.lime : Yellow ? color.yellow : Red ? color.red : color.white, na) barcolor(bcl) if Buy strategy.entry("Buy", strategy.long, comment="Buy") if Sell strategy.entry("Sell", strategy.short, comment="Sell")