일목균형표 기반 트레이딩 전략
개요
이 전략은 일봉 이치모쿠 구름대 지표를 기반으로 간단한 추세 추종 거래를 구현합니다. 전략은 전환선, 기준선, 선행스팬1, 선행스팬2를 계산하고 현재 종가의 위치를 결합하여 매수 및 매도 신호를 생성합니다. 종가가 구름대 위에 있을 때 상승 추세로 간주하여 매수 신호가 발생하고, 종가가 구름대 아래에 있을 때 하락 추세로 간주하여 매도 신호가 발생합니다.
전략 원리
이 전략은 주로 다음 공식을 기반으로 이치모쿠 구름대의 다섯 가지 지표선을 계산합니다:
-
전환선: 최근 9일간의 최고가와 최저가의 평균값
-
기준선: 최근 26일간의 최고가와 최저가의 평균값
-
선행스팬1: 전환선과 기준선의 평균값
-
선행스팬2: 최근 52일간의 최고가와 최저가의 평균값
-
후행스팬: 종가를 26일 후행하여 표시
종가가 구름대보다 높으면 상승 추세로 간주하여 매수 신호가 발생하고, 종가가 구름대보다 낮으면 하락 추세로 간주하여 매도 신호가 발생합니다.
구체적으로 전략은 다음 단계를 통해 구현됩니다:
-
전환선, 기준선, 선행스팬1, 선행스팬2 계산
-
종가의 후행스팬 라인을 그려 26일 후행
-
종가가 구름대(선행스팬1과 선행스팬2) 위에 있는지 판단, 맞다면 매수 신호 발생
-
종가가 구름대(선행스팬1과 선행스팬2) 아래에 있는지 판단, 맞다면 매도 신호 발생
-
매수 및 매도 신호 발생 시 전략 설정에 따라 진입
장점 분석
이 전략은 주로 다음과 같은 장점이 있습니다:
-
구름대 지표를 사용하여 추세를 효과적으로 식별하고 추세 방향에 따라 신호를 생성하여 횡보장에서 불필요한 진입과 청산을 방지
-
계산 파라미터가 최적화되어 있어 일봉 거래에 비교적 적합
-
선행스팬1과 선행스팬2의 조합을 판단 기준으로 사용하여 충격적인 변동으로 인한 가짜 신호를 일부 걸러낼 수 있음
-
후행스팬의 지연 설계를 결합하여 구름대 돌파 후 즉시 되돌림되는 위험을 줄임
-
전략 로직이 단순 명료하여 이해하고 구현하기 쉬움
-
다른 지표와 결합할 필요 없이 완전한 추세 추종 거래 시스템을 구현
위험 분석
이 전략에는 다음과 같은 몇 가지 위험도 존재합니다:
-
특정 시장 상황에서 구름대가 무용지물이 되어 잘못된 신호를 생성할 수 있음
-
구름대의 파라미터가 시장 환경 변화에 적응하지 못하면 시스템 효과가 약화됨
-
후행스팬의 고정된 지연 설정으로 인해 일부 기회를 놓칠 수 있음
-
두 개의 선행스팬 조합 판단이 있지만 메기 효과(시장 교란)로 인한 위험을 완전히 피할 수는 없음
-
일정한 시간 지연이 존재하여 빠른 반전을 적시에 포착하지 못함
-
시장의 장기 추세와 중단기 조정을 구분하지 못하여 손실이 발생할 수 있음
최적화 방향
이 전략은 다음과 같은 몇 가지 측면에서 최적화할 수 있습니다:
-
전환선, 기준선 등의 파라미터를 최적화하여 다양한 시장 환경에 더 잘 부합하도록 조정
-
추세 판단 지표를 추가하여 추세 방향과 강도를 확인
-
손절 및 익절 전략을 설정하여 개별 손실과 이익을 통제
-
거래량을 결합하여 큰 거래량으로 구름대를 돌파할 때만 진입
-
시장 단계에 따라 다른 파라미터 조합 사용
-
머신러닝 알고리즘을 추가하여 파라미터를 자동으로 최적화
-
고정 지연을 동적 지연으로 변경하는 것을 고려
결론
전반적으로 이 이치모쿠 구름대 전략은 간단한 추세 판단 규칙을 통해 기본적인 추세 추종 거래를 구현합니다. 일부 개선 여지가 있지만 핵심 아이디어가 명확하고 신뢰할 수 있으며 파라미터 최적화가 충분하므로 퀀트 거래의 기초 전략으로 사용할 수 있습니다. 구름대 파라미터를 더욱 최적화하고 필터 지표와 리스크 관리 모듈을 추가하면 이 전략은 매우 실용적인 퀀트 거래 시스템이 될 수 있습니다.
/*backtest
start: 2023-09-30 00:00:00
end: 2023-10-07 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title="Ichimoku Cloud", shorttitle="Ichimoku", overlay=true, commission_type=strategy.commission.percent,commission_value=0.075, initial_capital = 1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
conversionPeriods = input(9, minval=1, title="Conversion Line Periods"),- 1
