가장 높은/최저 센터 룩백 전략은 트렌드를 따르는 전략이다. 주요 아이디어는 과거 특정 기간 동안 가장 높은 가격과 가장 낮은 가격의 중간 가격을 벤치마크 가격으로 계산하고, 이 벤치마크 가격과 변동성을 기반으로 엔트리존과 엑시트존을 계산하는 것이다. 가격이 엔트리존에 들어갈 때, 긴; 가격이 엔트리존에 들어갈 때, 포지션을 닫는다.
이 전략은 주로 다음과 같은 단계를 통해 실행됩니다.
이 방법으로, 가격이 트렌드 상태에 들어갈 때 트렌드를 추적할 수 있습니다. 동시에, 위험은 변동성을 통해 제어 될 수 있습니다.
이 전략은 다음과 같은 장점을 가지고 있습니다.
이 전략은 또한 몇 가지 위험을 안고 있습니다.
이러한 위험을 통제하기 위해 최적화는 다음과 같은 측면에서 수행 될 수 있습니다.
이 전략은 또한 더 많은 최적화를 할 수 있습니다.
이러한 최적화를 통해 전략 안정성과 수익성이 더욱 향상될 것으로 예상할 수 있습니다.
가장 높은/최저 센터 룩백 전략은 트렌드를 따르는 전략으로 간단하고 실용적입니다. 가격 변화를 시간적으로 파악하고 트렌드를 추적하며 변동성을 통해 위험을 제어 할 수 있습니다. 전략은 구현하기가 쉽고 양적 거래 초보자가 배우고 연습하기에 적합합니다. 매개 변수와 규칙을 최적화함으로써 전략 성능을 더욱 향상시킬 수 있습니다. 일반적으로 이것은 권장되는 양적 전략입니다.
/*backtest start: 2023-11-27 00:00:00 end: 2023-12-27 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Highest/Lowest Center Lookback Strategy", overlay=true) lookback_length = input(200, type=input.integer, minval=1, title="Lookback Length") smoother_length = input(5, type=input.integer, minval=1, title="Smoother Length") atr_length = input(10, type=input.integer, minval=1, title="ATR Length") atr_multiplier = input(1.5, type=input.float, minval=0.5, title="ATR Multiplier") vola = atr(atr_length) * atr_multiplier price = sma(close, 3) l = ema(lowest(low, lookback_length), smoother_length) h = ema(highest(high, lookback_length), smoother_length) center = (h + l) * 0.5 upper = center + vola lower = center - vola trend = price > upper ? true : (price < lower ? false : na) bull_cross = crossover(price, upper) bear_cross = crossunder(price, lower) strategy.entry("Buy", strategy.long, when=bull_cross) strategy.close("Buy", when=bear_cross) plot(h, title="High", color=color.red, transp=75, linewidth=2) plot(l, title="Low", color=color.green, transp=75, linewidth=2) pc = plot(center, title="Center", color=color.black, transp=25, linewidth=2) pu = plot(upper, title="Upper", color=color.green, transp=75, linewidth=2) pl = plot(lower, title="Lower", color=color.red, transp=75, linewidth=2) fill(pu, pc, color=color.green, transp=85) fill(pl, pc, color=color.red, transp=85) bgcolor(trend == true ? color.green : (trend == false ? color.red : color.gray), transp=85)