개요
슈퍼 트렌드 전략은 평균 진폭(ATR)을 기반으로 계산된 추세 추종 전략입니다. 평균 진폭을 이용하여 손절선을 설정하고, 가격이 손절선을 돌파하는지 여부를 판단하여 추세 방향을 결정하며, 이를 통해 매매 신호를 생성합니다.
전략 원리
이 전략은 먼저 일정 기간 동안의 평균 진폭 ATR을 계산합니다. 그런 다음 ATR 값에 스케일 계수를 곱하여 장기 손절선과 단기 손절선을 계산합니다. 구체적인 계산 방법은 다음과 같습니다.
atr = mult * atr(length)
longStop = hl2 - atr
shortStop = hl2 + atr
여기서 length는 ATR 계산 기간, mult는 ATR의 스케일 계수입니다.
손절선을 계산한 후, 전략은 가격이 이전 봉의 손절선을 돌파하는지 지속적으로 판단하여 추세 방향을 결정합니다.
dir := dir == -1 and close > shortStopPrev ? 1 :
dir == 1 and close < longStopPrev ? -1 : dir
장기 손절선을 돌파하면 추세가 상승으로 전환되었다고 판단하고, 단기 손절선을 돌파하면 추세가 하락으로 전환되었다고 판단합니다.
추세 방향 변화에 따라 매수 및 매도 신호가 생성됩니다.
buySignal = dir == 1 and dir[1] == -1
sellSignal = dir == -1 and dir[1] == 1
마지막으로 매수 및 매도 신호가 발생할 때 해당 거래를 실행합니다.
전략 장점
-
평균 진폭을 사용하여 손절선을 계산하면 시장 노이즈를 효과적으로 필터링하고 비교적 신뢰할 수 있는 추세 신호를 포착할 수 있습니다.
-
전략 파라미터가 적어 이해하고 조작하기 쉽습니다. ATR 기간과 배수 계수는 다양한 시장 환경에 맞게 조정할 수 있습니다.
-
손절선 돌파를 이용한 추세 방향 변화 판단은 리스크를 효과적으로 관리하고 신속히 손절할 수 있도록 합니다.
-
롱 전용 또는 양방향 거래를 구성할 수 있어 다양한 거래 스타일을 충족시킵니다.
-
모든 시간 프레임에서 사용할 수 있으며 다양한 거래 상품에 적용 가능합니다.
전략 리스크
-
변동성이 큰 장세에서 ATR 값이 높아져 손절선이 너무 넓어질 수 있으며, 이로 인해 더 많은 허위 신호가 발생할 수 있습니다.
-
최적의 파라미터 조합을 결정하기 어렵습니다. ATR 기간과 배수는 시장 상황에 따라 최적화가 필요합니다.
-
거래 상품별 최적의 거래 기간을 결정할 수 없으며, 각 거래 상품에 대해 테스트가 필요합니다.
-
최적의 진입 시점을 결정할 수 없어 어느 정도의 지연이 발생합니다.
-
추세가 약할 때 포지션이 없는 상태(무포지션)에 있을 수 있는 리스크가 존재합니다.
-
손절선이 돌파될 위험이 있으므로 손절선을 적절히 완화해야 합니다.
전략 최적화 방향
-
변동성이 큰 장세에서 잘못된 신호를 피하기 위해 다른 지표(예: MACD, RSI 등)와 결합하여 필터링하는 것을 고려할 수 있습니다.
-
머신러닝이나 유전자 알고리즘을 사용하여 최적의 파라미터 조합을 찾을 수 있습니다.
-
각 상품에 대해 파라미터 최적화를 수행하여 최적의 ATR 기간과 배수 계수를 결정할 수 있습니다.
-
거래량 지표(예: 거래량)를 결합하여 진입 시점을 판단함으로써 너무 이른 진입을 피할 수 있습니다.
-
포지션이 없을 때에도 포지션을 유지할 수 있는 락(Lock) 전략을 고려할 수 있습니다.
-
손절 범위를 적절히 완화하고 추세 강도 지표를 결합하여 손절 위치를 최적화할 수 있습니다.
요약
슈퍼 트렌드 전략은 평균 진폭을 통해 동적 손절선을 계산하고 가격 돌파를 통해 추세 변화를 포착하는 비교적 신뢰할 수 있고 리스크가 관리 가능한 추세 추종 전략입니다. 이 전략은 간단하고 사용하기 쉬우며 다양한 거래 상품에 적용 가능하지만, 다양한 시장에서 좋은 성과를 얻으려면 파라미터와 전략 규칙을 최적화해야 합니다. 다른 기술 지표 및 전략과 결합하여 사용하면 더 나은 거래 성과를 얻을 수 있습니다. 전반적으로 슈퍼 트렌드 전략은 비교적 과학적인 개념에 기반하고 있어 트레이더가 추가로 연구하고 적용할 가치가 있습니다.
/*backtest
start: 2023-09-12 00:00:00
end: 2023-10-12 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
// strategy("SuperTrend Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, initial_capital=1000)
LongOnly = input(title="Long Only ?", type=input.bool, defval=true)- 1
