이중 EMA 골든크로스 데드크로스 추적 전략
개요
본 전략은 빠른 EMA(빠른 지수이동평균)와 느린 EMA(느린 지수이동평균)를 계산하여 두 EMA의 크기 관계를 비교함으로써 이중 EMA 골든크로스와 데드크로스 매매 신호를 생성하는 추세 추종 전략입니다. 빠른 EMA가 느린 EMA를 상향 돌파하면 매수 신호가 발생하고, 빠른 EMA가 느린 EMA를 하향 돌파하면 매도 신호가 발생하여 간단한 추세 추종 전략을 구현합니다.
전략 원리
본 전략의 핵심 로직은 주로 다음 부분으로 구성됩니다:
-
빠른 EMA 및 느린 EMA 계산:
ta.ema()함수를 사용하여fastInput길이의 빠른 EMA와slowInput길이의 느린 EMA를 계산합니다. -
백테스트 기간 설정:
useDateFilter매개변수로 백테스트 시간 필터링 여부를 설정하고,backtestStartDate와backtestEndDate로 백테스트 시작 및 종료 시간을 설정합니다. -
매매 신호 생성:
ta.crossover()및ta.crossunder()함수를 사용하여 빠른 EMA와 느린 EMA의 크기 관계를 비교합니다. 빠른 EMA가 느린 EMA를 상향 돌파하면 매수 신호가 발생하고, 하향 돌파하면 매도 신호가 발생합니다. -
시간 범위 외 주문 처리: 백테스트 시간 범위 외에는 체결되지 않은 주문을 취소하고 모든 포지션을 청산합니다.
-
이동평균선 표시: 차트에 빠른 EMA와 느린 EMA의 이동평균선을 그립니다.
전략 장점
매우 간단한 추세 추종 전략으로 다음과 같은 장점이 있습니다:
-
전략 로직이 간단하여 이해 및 구현이 쉽습니다.
-
EMA가 가격 데이터를 평활화하여 잡음 거래를 줄일 수 있습니다.
-
EMA 주기 매개변수를 사용자 정의하여 다양한 시장 환경에 적응할 수 있습니다.
-
백테스트 시간 범위를 유연하게 설정하여 특정 기간을 대상으로 테스트할 수 있습니다.
-
진입 및 청산 조건을 최적화하고 다른 지표와 결합하여 사용할 수 있습니다.
위험 분석
이 전략에는 다음과 같은 위험이 존재하므로 주의해야 합니다:
-
이중 EMA 전략은 다소 거칠어 시장 변화에 유연하게 대응하기 어렵습니다.
-
잦은 거래 및 반복 거래의 위험이 있습니다.
-
EMA 매개변수를 부적절하게 설정하면 매매 신호가 잘못될 수 있습니다.
-
백테스트 시간 범위가 합리적이지 않으면 과적합이 발생할 수 있습니다.
-
피할 수 없는 하락 및 손실 위험이 있습니다.
매개변수 최적화, 적절한 변동성 필터링, 손절매 설정 등을 통해 위험을 통제할 수 있습니다.
최적화 방향
본 전략은 다음 측면에서 최적화할 수 있습니다:
-
EMA 주기 매개변수를 최적화하여 최적의 매개변수 조합을 선택합니다.
-
다른 지표 필터를 추가하여 불필요한 거래를 피합니다.
-
손절매 전략을 추가하여 단일 손실을 통제합니다.
-
추세, 변동성 등의 필터를 결합하여 거래 빈도를 줄입니다.
-
다양한 종목 및 계약을 테스트하여 최적의 전략 적용 대상을 찾습니다.
-
슬리피지, 수수료 등의 비용을 고려하여 보다 현실적인 백테스트를 수행합니다.
요약
본 전략은 전반적으로 매우 간단한 이중 EMA 골든크로스/데드크로스 전략으로, 로직이 명확하고 이해하기 쉬우며 빠른 EMA와 느린 EMA 비교를 통해 매매 신호를 생성합니다. 이 전략의 장점은 구현이 간단하다는 점이지만, 잦은 거래, 과최적화 가능성 등의 문제점도 있습니다. 향후 매개변수 최적화, 위험 관리 등의 개선을 통해 보다 견고하고 실용적인 전략으로 발전시킬 수 있습니다.
/*backtest
start: 2022-11-06 00:00:00
end: 2023-11-12 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("MollyETF_EMA_Crossover", overlay = true, initial_capital = 100000, default_qty_value=100, default_qty_type=strategy.percent_of_equity)
- 1

