Supply Demand Zones Base Impulse ATR
- 지표
- 버전: 1.1
Supply & Demand Zones는 하나의 고정되고 완전히 공개된 규칙으로 MetaTrader 5 차트에 공급 존과 수요 존을 표시합니다: 강한 봉(몸통이 ATR의 X배 이상)이 그 앞에 몸통이 작은 봉들로 이루어진 짧은 "베이스"(base)를 남기는 경우입니다. 강한 봉이 양봉이고 베이스 위에서 마감하면 그 베이스는 수요 존이 되고, 강한 봉이 음봉이고 베이스 아래에서 마감하면 공급 존이 됩니다. 각 존에는 상태가 표시됩니다: 미접촉(fresh), 접촉(횟수 포함), 돌파됨(broken).
이 지표는 이러한 존을 손으로 그리면서 매번 같은 방식으로 그려지기를 원하는 트레이더를 위한 것입니다. 표시 전용 도구입니다: 매수 또는 매도 신호를 제공하지 않으며 주문을 내지 않습니다. 존은 과거 봉에서 얻은 가격 영역이며, 가격이 그곳에서 멈추거나 방향을 바꾼다는 예측이 아닙니다.
기능
- 위 규칙에 따른 수요 존과 공급 존으로, 마감된 봉만으로 판단합니다. 존이 한 번 생성되면 상단, 하단, 시작 위치는 움직이지 않습니다.
- 각 존의 라벨: "Demand fresh"(수요 존 미접촉), "Supply touched 2"(공급 존 2회 접촉), "Demand broken"(수요 존 돌파됨). 존 위에 마우스를 올리면 가격, 베이스 봉 수, 첫 베이스 봉의 시간을 볼 수 있습니다.
- 상태별 색상: 미접촉, 접촉, 돌파됨(회색 윤곽선). 돌파된 존은 기본적으로 숨겨지며 표시하도록 설정할 수 있습니다.
- 돌파되지 않은 존은 현재 봉 오른쪽으로 몇 개 봉만큼 연장됩니다. 돌파된 존은 그 존을 돌파한 봉에서 끝납니다.
- 겹치는 존: 오래된 존은 채워서 그리고 새로운 존은 윤곽선으로 그려 색상을 알아보기 쉽게 유지합니다.
- 선택 가능한 상위 시간 프레임 하나(기본값 꺼짐). 그 존들은 같은 규칙을 사용하며, 더 두꺼운 윤곽선으로 그려지고 라벨에 시간 프레임이 표시됩니다. 예: "H4 Supply fresh".
- 선택 가능한 알림 하나(기본값 꺼짐): 가격이 바깥에서 미접촉 존으로 진입할 때. 팝업, 소리, 푸시 알림.
- 라벨 색상은 차트 배경에 자동으로 맞춰집니다(또는 한 가지 색상 선택). 차트 텍스트와 알림은 영어 또는 일본어(Auto는 터미널 언어를 따름).
- EA용 숨겨진 버퍼 6개(아래 참조).
계산 방법
- 봉의 True Range = (고가, 이전 종가) 중 높은 값 - (저가, 이전 종가) 중 낮은 값.
- ATR = 강한 봉 이전 N개 봉의 True Range 단순 평균(강한 봉 자체는 포함하지 않음).
- 강한 봉: 몸통의 절댓값 |close - open| >= X x ATR.
- 베이스: 강한 봉 바로 앞 봉부터 거꾸로 세어, 몸통이 <= Y x ATR인 봉이 연속되는 구간(최대 개수까지). 강한 봉 바로 앞 봉이 충분히 작지 않으면 존이 만들어지지 않습니다.
- 존 상단과 하단 = 베이스 봉들의 최고 고가와 최저 저가("Bodies only"(몸통만)를 선택한 경우 시가/종가의 최고값과 최저값).
- 수요: 강한 봉이 양봉이고 존 상단 위에서 마감. 공급: 강한 봉이 음봉이고 존 하단 아래에서 마감.
- 상태는 강한 봉 다음 봉부터 판단합니다: 수요 존은 봉이 하단 아래에서 마감하면 돌파됨, 봉의 저가가 상단에 닿으면 접촉입니다. 공급 존은 봉이 상단 위에서 마감하면 돌파됨, 봉의 고가가 하단에 닿으면 접촉입니다.
- 접촉 횟수 = 이전 봉이 존 밖에 있던 상태에서 존에 진입한 봉의 수. "Fresh"(미접촉) = 아직 접촉 없음.
- "Bars to scan"(스캔할 봉 수) 범위 안의 봉만 사용합니다. "Remove zones older than N bars"(N개 봉보다 오래된 존 삭제)보다 오래된 존은 삭제됩니다.
주요 설정
- 존 규칙: ATR 기간(14), 강한 봉의 X(1.5), 베이스 봉의 Y(0.5, X보다 작아야 함), 최대 베이스 봉 수(3, 1-10), 존 경계(꼬리 포함 또는 몸통만), 스캔할 봉 수(5000, 300-100000).
- 표시: 방향별(수요·공급 각각) 표시할 돌파되지 않은 존 수(5), N개 봉보다 오래된 존 삭제(1000, 0 = 삭제 안 함), 돌파된 존(숨김 또는 회색 윤곽선으로 표시), 방향별 표시할 돌파된 존 수(3), 오른쪽 연장(10개 봉), 라벨 켜기/끄기, 글꼴 크기(8), 존 색상 5가지, 라벨 색상(None = 자동).
- 상위 시간 프레임 존: 시간 프레임(current = 꺼짐), 방향별 표시할 존 수(3).
- 알림: 미접촉 존 진입(꺼짐), 팝업, 소리, 푸시, 언어.
입력값이 범위를 벗어나면 지표가 로드되지 않으며 그 이유를 Experts 로그에 기록합니다.
EA 및 iCustom 사용자용
- 버퍼: 0 = 수요 존 상단, 1 = 수요 존 하단, 2 = 수요 존 접촉 횟수, 3 = 공급 존 상단, 4 = 공급 존 하단, 5 = 공급 존 접촉 횟수. 각 봉에는 그 봉의 마감 시점에 알려진 방향별 가장 새로운 돌파되지 않은 존이 저장됩니다. 형성 중인 봉은 마지막 마감 봉의 값을 반복합니다. 존이 없을 때(또는 가장 새로운 존이 "Remove zones older than N bars"보다 오래되었을 때)는 EMPTY_VALUE입니다.
- 버퍼에는 차트 시간 프레임의 존만 들어갑니다. 상위 시간 프레임 존은 버퍼에 들어가지 않습니다.
- iCustom 파라미터: 지표 이름 뒤에 입력 그룹용 빈 문자열 4개를 포함하여 30개 값을 다음 순서로 전달합니다:
"", ATR 기간, X, Y, 최대 베이스 봉 수, 존 경계 (0 꼬리 포함, 1 몸통만), 스캔할 봉 수,
"", 방향별 돌파되지 않은 존 수, N개 봉보다 오래된 존 삭제, 돌파된 존 (0 숨김, 1 표시), 방향별 돌파된 존 수, 연장 봉 수, 라벨 표시, 글꼴 크기, 수요 미접촉 색상, 수요 접촉 색상, 공급 미접촉 색상, 공급 접촉 색상, 돌파 색상, 라벨 색상,
"", 상위 시간 프레임, 방향별 상위 시간 프레임 존 수,
"", 진입 시 알림, 팝업, 소리, 푸시, 언어 (0 자동, 1 영어, 2 일본어).
- iCustom으로 호출하면 버퍼만 채웁니다: 아무것도 그리지 않으며 알림도 발생하지 않습니다.
- EA나 스크립트가 ChartIndicatorAdd()로 차트에 추가하면 MetaTrader 5가 할 수 있는 일을 제한합니다: 해당 프로그램이 핸들을 계속 보유하는 동안 그려진 존이 차트에 남을 수 있으며, 프로그램이 실행 중인 차트가 아닌 다른 차트에서는 존이 그려지지 않습니다(버퍼는 계속 작동합니다).
참고 및 한계
- 존은 봉이 마감될 때만 생성됩니다. 형성 중인 봉은 존을 만들거나 상태를 바꾸지 않습니다. 존에 진입한 봉이 마감될 때까지 라벨은 "fresh"로 유지됩니다.
- 알림은 매 틱마다 마지막 마감 봉 시점의 존을 기준으로 확인되므로, 라벨이 아직 "fresh"인 상태에서 알림이 올 수 있습니다. 각 존은 한 번만 알림을 보냅니다. 로드 직후 첫 가격은 기록만 됩니다.
- 다시 로드한 후(새 히스토리, 재연결, "Bars to scan" 변경) 계산은 범위 내 첫 봉부터 다시 시작되므로, 차트의 가장 오래된 부분 근처의 존은 달라질 수 있습니다. 최근 존은 영향을 받지 않습니다.
- 결과는 입력값과 브로커의 가격 데이터에 따라 달라집니다: 다른 값이나 다른 브로커에서는 다른 존이 나올 수 있습니다.
- 횡보하는 조용한 시장에서는 작은 존이 많이 나타날 수 있고, 강한 추세에서는 많은 존이 형성 직후 돌파됩니다. 접촉 횟수와 미접촉 상태는 과거만을 설명하며 어떤 결과의 확률도 아닙니다.
- 같은 차트에 두 번째 이후로 추가한 사본은 윤곽선만 그리므로, 그 존들이 첫 번째 사본의 채우기를 지우지 않습니다.
- 전략 테스터의 비주얼 모드에서는 존이 차트에서와 같이 그려집니다. 테스터에서는 알림이 발생하지 않습니다.
- 상위 시간 프레임을 설정하면 테스터 로그에 "history cache" 줄이 표시됩니다. 이는 터미널이 해당 시간 프레임을 로드할 때 기록하는 것이며 지표의 오류가 아닙니다.
- 큰 표시 설정(예: 방향별 존 50개, 돌파된 존 표시, M1에서 100000개 봉)은 테스터 실행을 눈에 띄게 느리게 합니다. 기본 설정은 가볍습니다.
- 이름이 "SDZ#"로 시작하는 오브젝트는 이 지표에 속하며 지표와 함께 삭제됩니다. "SDZ_"로 시작하는 임시 전역 변수는 사본들을 서로 구분하는 데 사용됩니다. 차트 설정은 변경하지 않습니다.
호환성 및 지원
- MetaTrader 5, 모든 심볼과 시간 프레임. MT4 버전은 별도의 무료 제품입니다.
- 한 차트에 여러 사본 사용 가능(예: 서로 다른 X/Y 값). 템플릿에서도, 터미널 재시작 후에도 작동합니다.
- DLL 사용 없음, 인터넷 접속 없음, 파일 기록 없음.
- 설치, 설정, 버그 신고에 대한 지원은 MQL5 메시지로 제공합니다. 시장 방향이나 개별 거래에 관한 질문에는 답변할 수 없습니다.
- 차트 분석 전용입니다. 거래를 하지 않으며 어떠한 거래 결과도 보장하지 않습니다. 과거 차트는 미래 결과를 보장하지 않습니다.
