
이 전략은 ATR 지수를 사용하여 거래 신호를 만드는 돌파구 전략이다. 이 전략은 평선 시스템을 사용하여 거래 신호를 생성하고, 금분할을 확대한 후 ATR 지수에 상하 채널을 구축하는 다중 공백 포지션을 구축한다. 추세에서 큰 이익을 얻을 수 있으며, 불안정한 상황에서 작은 안정적인 이익을 얻을 수 있다.
코드는 종결 가격의 ATR 주기 지표를 취하고, 1.618배를 상반도로 확대하고, 2.618배를 하반도로 확대하여, 평행선 e마와 결합하여 브린 통로 돌파 거래 시스템을 구축한다. 가격이 하반구에서 위로 돌파 할 때 더 많이하고, 가격이 상반구에서 하반구로 돌파 할 때 공백을 만들고, 트렌드 추적 수익을 얻는다.
이 전략은 일률적인 필터링, 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)