
Strategi ATR Double Trailing Stop adalah strategi perdagangan short-line yang didasarkan pada indikator rata-rata real bandwidth ((ATR)). Strategi ini menetapkan dua garis stop cepat dan lambat ATR sekaligus, menilai masuk dan keluar berdasarkan persimpangan dua garis stop. Strategi ini sederhana dan mudah dipahami, merespons dengan cepat, dan cocok untuk pasar yang berfluktuasi tinggi.
Strategi ini terutama menggunakan indikator ATR untuk mengatur dua garis stop loss. Salah satunya adalah garis ATR cepat, ATR siklus pendek, kali kecil, cepat bereaksi; yang lain adalah garis ATR lambat, ATR siklus panjang, kali besar, berperan sebagai filter.
Logika operasi spesifiknya adalah: menghitung garis ATR cepat dan garis ATR lambat; jika harga garis cepat lebih tinggi dari garis lambat, stop loss diikuti dengan garis cepat, jika tidak, stop loss diikuti dengan garis lambat. Warna Kline menunjukkan stop loss yang saat ini digunakan, hijau dan biru menunjukkan stop loss dengan garis cepat, merah dan kuning menunjukkan stop loss dengan garis lambat.
Strategi stop loss ATR ganda memiliki keuntungan sebagai berikut:
Strategi ini juga memiliki beberapa risiko:
Risiko ini dapat dikurangi dengan mengoptimalkan siklus ATR, menyesuaikan ATR, dan memfilterkan indikator lainnya.
Strategi penghentian kerugian yang diikuti oleh ATR ganda dapat dioptimalkan lebih lanjut dengan:
Dual ATR tail stop loss strategi secara keseluruhan mudah dipahami dan diterapkan, sangat cocok untuk skenario dengan volatilitas tinggi, dapat melakukan kontrol risiko secara efektif. Ruang optimasi juga besar, dapat ditingkatkan dengan cara penyesuaian parameter, menambahkan filter, dan lain-lain.
/*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")