Ini adalah strategi breakout yang memanfaatkan indikator ATR untuk menghasilkan sinyal perdagangan. Strategi ini menggunakan sistem rata-rata bergerak untuk menghasilkan sinyal masuk dan saluran ATR yang diperkuat berdasarkan rasio emas untuk membangun posisi panjang dan pendek.
Kode ini menghitung ATR selama periode harga penutupan, memperkuatnya dengan 1.618 sebagai band atas dan 2.618 sebagai band bawah. Dikombinasikan dengan EMA, ini membentuk sistem breakout saluran Bollinger.
Strategi ini mengintegrasikan penyaringan rata-rata bergerak, pelacakan saluran ATR dan metodologi rasio emas, yang dapat secara efektif mengikuti tren jangka menengah hingga panjang dengan stabilitas yang baik.
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("ATR Long Only Strategy lower band buy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100) len = input(52, type=input.integer, minval=1, title="Length") mul = input(1.618, type=input.float, minval=0, title="Length") mullow = input(2.618, type=input.float, minval=0, title="Length") price = sma(close, 1) average = ema(close, len) diff = atr(len) * mul difflow = atr(len) * mullow bull_level = average + diff bear_level = average - difflow bull_cross = crossunder(price, bear_level) bear_cross = crossunder(bull_level, price) FromMonth = input(defval = 8, title = "From Month", minval = 1, maxval = 12) FromDay = input(defval = 18, title = "From Day", minval = 1, maxval = 31) FromYear = input(defval = 2008, title = "From Year", minval = 2008) ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12) ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31) ToYear = input(defval = 2020, title = "To Year", minval = 2019) start = timestamp(FromYear, FromMonth, FromDay, 00, 00) finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) startTimeOk() => true if (startTimeOk()) strategy.entry("KOP", strategy.long, when=bull_cross) strategy.close("KOP", when=bear_cross) //strategy.entry("Sell", strategy.short, when=bear_cross) plot(price, title="price", color=color.black, transp=50, linewidth=2) a0 = plot(average, title="average", color=color.red, transp=50, linewidth=1) a1 = plot(bull_level, title="bull", color=color.green, transp=50, linewidth=1) a2 = plot(bear_level, title="bear", color=color.red, transp=50, linewidth=1) fill(a0, a1, color=color.green, transp=97) fill(a0, a2, color=color.red, transp=97)