
Эта стратегия является прорывной стратегией построения торговых сигналов с использованием ATR. Эта стратегия использует равнолинейную систему для создания торговых сигналов и создания свободных позиций по ATR, увеличенных золотым разделением. Она позволяет получить значительную прибыль в тренде и небольшую стабильную прибыль в условиях шока.
В коде используется ATR-циклический индикатор, который используется для поиска цены на закрытие, и увеличивается в 1,618 раза в качестве верхней полосы, увеличивается в 2,618 раза в качестве нижней полосы, в сочетании с равнолинейной эмой, чтобы построить систему торговли с прорывом Буринского канала. Когда цена прорывается вверх от нижней полосы, она делает больше, когда цена прорывается вниз от верхней полосы, чтобы получить прибыль от отслеживания тенденции.
Эта стратегия применяет единоличную фильтрацию, отслеживание каналов ATR и принцип разделения золота. Способность эффективно отслеживать средние и длинные тенденции, имеет хорошую стабильность.
/*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)