수급 영역과 EMA 슬라이딩 스탑로스 기반 트레이딩 전략
개요
본 전략은 수급 영역, 지수이동평균(EMA) 및 평균진폭범위(ATR) 지수형 이동 손절매를 활용하여 거래 신호를 판단합니다. 사용자는 EMA 매개변수 설정과 매수/매도 신호 표시 여부를 조정할 수 있습니다. 전략은 HH(더 높은 고점), LL(더 낮은 저점), LH(더 낮은 고점), HL(더 높은 저점)과 같은 수급 영역을 표시합니다. 세 번째 캔들이 신호를 확인한 후 거래 명령을 발행합니다. 이 스크립트는 백테스팅에 적합합니다.
전략 원리
지표 계산
EMA 지수이동평균:
- EMA는 일정 기간(기본값 200)의 종가를 기준으로 계산됩니다.
- EMA 공식: \(EMA = (Price_t \times \alpha) + (EMA_{t-1} \times (1-\alpha))\), 여기서 \(\alpha = \frac{2}{length+1}\)입니다.
ATR 평균진폭범위:
- ATR은 시장 변동성을 측정하는 지표로, 가격의 실제 변동 범위를 기준으로 계산됩니다.
- 실제 변동 범위는 다음 세 값 중 최댓값입니다:
- 현재 고가 - 현재 저가
- 현재 고가 - 이전 종가의 절댓값
- 현재 저가 - 이전 종가의 절댓값
- ATR의 일반적인 계산 기간은 14입니다.
이러한 계산은 EMA 추세 판단과 시장 변동성을 기반으로 한 ATR 이동 손절매 설정에 사용됩니다. 본 전략은 종가, EMA 및 ATR 값 간의 관계를 기반으로 매수/매도 신호를 제공하는 것을 목표로 합니다.
수급 영역 판단
전략에서는 추세 분석에 자주 사용되는 다양한 가격 행동 패턴을 식별하기 위해 "HH"(더 높은 고점), "LL"(더 낮은 저점), "HL"(더 높은 저점) 및 "LH"(더 낮은 고점)와 같은 용어를 사용합니다:
-
더 높은 고점(HH): 현재 가격의 최고점이 이전 최고점보다 높음, 잠재적인 상승 모멘텀을 나타냅니다.
-
더 낮은 저점(LL): 현재 가격의 최저점이 이전 최저점보다 낮음, 잠재적인 하락 모멘텀을 나타냅니다.
-
더 높은 저점(HL): 현재 가격의 최저점이 이전 최저점보다 높음, 잠재적인 상승 추세 지속을 나타냅니다.
-
더 낮은 고점(LH): 현재 가격의 최고점이 이전 최고점보다 낮음, 잠재적인 하락 추세 지속을 나타냅니다.
이러한 패턴은 다른 기술적 지표와 함께 사용하여 잠재적인 추세 반전 또는 지속을 파악할 수 있습니다. 본 전략은 이러한 패턴을 활용하여 진입 또는 청산 시점을 식별합니다.
진입 및 손절매(Exit)
진입 신호: 세 번째 캔들의 종가가 전일 고가/저가보다 높거나/낮을 때 매수/매도 신호가 발생합니다.
손절매 방식: ATR 값의 일정 배수(기본값 2배)를 후행 손절매 지점으로 사용합니다.
전략의 장점
- 추세, 반전, 변동성 등 여러 요소를 결합하여 시장을 종합적으로 판단하고 가짜 돌파를 방지합니다.
- 수급 영역을 활용하여 주요 지지 및 저항을 파악합니다.
- ATR 손절매 시스템이 시장 변동성을 동적으로 추적합니다.
- EMA 및 ATR 매개변수를 사용자 정의할 수 있습니다.
- 간단한 진입 규칙으로 쉽게 구현할 수 있습니다.
위험 및 최적화
- 오판 위험이 있으므로 EMA 기간을 적절히 최적화해야 합니다.
- ATR 배수가 너무 크면 추세 추종 시 위험이 있습니다.
- 다른 요소를 결합하여 진입 신호를 필터링하는 것을 고려할 수 있습니다.
- 수급 영역을 보조 지표로 사용하고 추세 추격을 주 전략으로 시도할 수 있습니다.
요약
본 전략은 추세, 반전, 변동성 등 다양한 기술적 지표와 가격 형태를 종합적으로 활용하여 백테스트에서 좋은 성과를 보입니다. 그러나 실전 시장은 복잡하고 변동이 심하므로 최적화와 적절한 진입 신호 필터링이 여전히 필요합니다. 이 전략은 기본 전략으로, 이를 기반으로 확장하여 다른 요소나 모델과 결합할 수 있습니다.
/*backtest
start: 2023-12-18 00:00:00
end: 2024-01-17 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Supply and Demand Zones with EMA and Trailing Stop", shorttitle="SD Zones", overlay=true)
showBuySignals = input(true, title="Show Buy Signals", group="Signals")- 1

