2
Follow
502
Followers
개요
본 전략은 다중 시간 프레임 분석을 기반으로 한 거래 시스템으로, 주로 중심 가격 범위(CPR), 지수 이동 평균(EMA) 및 상대강도지수(RSI)를 활용하여 거래를 실행합니다. 이 전략은 일봉 CPR 수준, 주봉 시가 및 20기간 EMA를 사용하여 시장 추세와 주요 지지/저항 수준을 식별하고, 거래량 확인을 결합하여 거래를 체결합니다.
전략 원리
전략의 핵심은 가격과 CPR 수준 간의 관계를 분석하여 거래 기회를 찾는 것입니다. CPR은 피봇 포인트(Pivot), 하단 중심선(BC) 및 상단 중심선(TC)으로 구성됩니다. 가격이 TC를 돌파하고 시장이 상승 추세에 있을 때 매수 신호가 발생하며, 가격이 BC를 하향 돌파하고 시장이 하락 추세에 있을 때 매도 신호가 발생합니다. 시스템은 20기간 EMA를 추세 필터로 사용하며, 거래량이 20기간 이동 평균보다 높아야 돌파의 유효성을 확인합니다. 또한, 전략은 선택적으로 RSI 다이버전스를 추가 확인 지표로 사용할 수 있습니다.
전략 장점
- 다중 확인 메커니즘: 가격 움직임, 추세 방향 및 거래량의 세 가지 확인을 결합하여 거래 신호의 신뢰성을 높입니다.
- 동적 위험 관리: CPR 폭을 기반으로 동적 손절매를 설정하여 다양한 시장 환경에 적응합니다.
- 유연한 사용자 정의 옵션: CPR 기간, EMA 길이 및 RSI 다이버전스 확인 활성화/비활성화를 조정할 수 있습니다.
- 비대칭 수익 비율: 1.5:1의 수익-위험 비율을 적용하여 장기 수익성을 향상시킵니다.
- 다중 시간 프레임 분석: 일봉 및 주봉 데이터를 통합하여 보다 포괄적인 시장 관점을 제공합니다.
전략 위험
- 가짜 돌파 위험: 횡보 시장에서 가짜 돌파 신호가 발생할 수 있으므로 더 엄격한 거래량 필터 조건을 사용하는 것이 좋습니다.
- 추세 반전 위험: 추세 전환점에서 큰 폭의 손실이 발생할 수 있으며, 손절매 범위를 좁혀 위험을 통제할 수 있습니다.
- 매개변수 민감도: 전략 성과는 EMA 길이 및 거래량 임계값 등의 매개변수에 민감하므로 정기적인 최적화가 필요합니다.
- 시장 환경 의존성: 낮은 변동성 환경에서는 기대한 수익-위험 비율을 달성하기 어려울 수 있습니다.
- 실행 슬리피지: 급격한 시세 변동 시 큰 슬리피지가 발생하여 실제 거래 성과에 영향을 미칠 수 있습니다.
전략 최적화 방향
- 변동성 적응 메커니즘 도입: 시장 변동성에 따라 손절매 및 목표 이익을 동적으로 조정합니다.
- 시장 상태 분류 추가: 추세 및 횡보 시장을 세분화하여 각각 다른 거래 매개변수를 적용합니다.
- 거래량 필터 최적화: 단순 이동 평균 비교 대신 상대적 거래량 변화를 고려합니다.
- 청산 메커니즘 개선: 트레일링 스탑 및 부분 이익 실현 기능을 추가합니다.
- 시간 필터 추가: 시장 개장 및 마감 전후의 높은 변동성 기간 등 특정 시간대의 거래를 회피합니다.
요약
본 전략은 구조가 완전하고 논리가 명확한 추세 추종 전략으로, 여러 기술 지표를 조합하여 효과적으로 거래 위험을 통제합니다. 전략의 주요 장점은 유연한 매개변수 설정과 체계적인 위험 관리 메커니즘에 있지만, 트레이더는 시장 환경 변화를 주시하고 전략 매개변수를 적시에 조정해야 합니다. 제안된 최적화 방향을 통해 전략의 안정성과 수익성을 더욱 개선할 수 있을 것으로 기대됩니다.
Source
Pine
//@version=5
strategy("Ahmad Ali Khan CPR Strategy", overlay=true, margin_long=100, margin_short=100)
// ———— Inputs ————
use_daily_cpr = input.bool(true, "Use Daily CPR Levels")
ema_length = input.int(20, "EMA Trend Filter Length")
show_week_open = input.bool(true, "Show Weekly Open Price")
enable_divergence = input.bool(true, "Enable RSI Divergence Check")
// ———— Daily CPR Calculation ————
daily_high = request.security(syminfo.tickerid, "D", high[1], lookahead=barmerge.lookahead_on)
daily_low = request.security(syminfo.tickerid, "D", low[1], lookahead=barmerge.lookahead_on)Strategy parameters
Related strategies
Comment
All comments (0)
No data
- 1

