
Strategi penutupan ATR berturut-turut adalah strategi perdagangan garis pendek berdasarkan purata gelombang sebenar (ATR). Strategi ini menetapkan dua garis penutupan ATR cepat dan ATR perlahan pada masa yang sama, menilai masuk dan keluar berdasarkan persilangan kedua-dua garis penutupan. Strategi ini mudah difahami, bertindak balas dengan cepat, sesuai untuk pasaran yang bergelombang tinggi.
Strategi ini menggunakan indikator ATR untuk menetapkan dua garis hentikan. Satu adalah garis ATR cepat, ATR kitaran pendek, kali kecil, dan bertindak balas dengan cepat; yang lain adalah garis ATR perlahan, ATR kitaran panjang, kali besar, berfungsi sebagai penapis.
Logik operasi khusus adalah: mengira garis ATR cepat dan garis ATR perlahan; jika harga garis cepat lebih tinggi daripada garis perlahan, maka berhenti dengan garis cepat, jika tidak, berhenti dengan garis perlahan. Warna Kline menunjukkan garis berhenti yang sedang digunakan, hijau dan biru menunjukkan berhenti dengan garis cepat, merah dan kuning menunjukkan berhenti dengan garis perlahan.
Strategi penutupan kerugian susulan ATR berganda mempunyai kelebihan berikut:
Strategi ini mempunyai beberapa risiko:
Risiko ini dapat dikurangkan dengan mengoptimumkan kitaran ATR, menyesuaikan penggandaan ATR, dan memfilterkan indikator lain.
Kaedah untuk mengoptimumkan lagi strategi penutupan kerugian ATR berganda termasuk:
Strategi berhenti kerugian ATR kedua secara keseluruhan mudah difahami dan dilaksanakan, terutama sesuai untuk senario yang berfluktuasi tinggi, untuk mengawal risiko dengan berkesan. Ruang pengoptimuman juga lebih besar, dan dapat ditingkatkan melalui penyesuaian parameter, penambahan penapis 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")