Supply Demand Zones Base Impulse ATR MT4
- 지표
- 버전: 1.1
공급 존과 수요 존을 손으로 표시할 때마다 결과가 조금씩 달라지지 않나요? 이 무료 MetaTrader 4 지표는 아래에 전부 적어 둔 하나의 고정된 규칙으로 존을 그리므로, 모든 존을 직접 확인할 수 있습니다.
기본 개념: 강한 캔들(몸통이 ATR의 X배 이상)이 바로 앞에 1~10개의 작은 캔들로 이루어진 "베이스"(base)를 남깁니다. 베이스 위에서 마감한 강한 양봉은 그 베이스를 수요 존으로, 베이스 아래에서 마감한 강한 음봉은 공급 존으로 만듭니다. 이 지표는 이러한 영역을 표시할 뿐입니다. 매수 또는 매도 신호를 제공하지 않고, 주문을 내지 않으며, 존이 있다고 해서 가격이 그곳에서 반응한다는 뜻은 아닙니다.
계산 방법
1. 캔들의 True Range = max(high, previous close) - min(low, previous close).
2. ATR = 강한 캔들 이전 N개 캔들의 True Range 단순 평균(강한 캔들 자체는 제외).
3. 강한 캔들 = |close - open|이 X x ATR 이상.
4. 베이스 = 강한 캔들 바로 앞에서 몸통이 Y x ATR 이하인 캔들이 연속된 구간으로, 최대 개수까지 거꾸로 셉니다. 바로 앞에 작은 캔들이 없으면 = 존 없음.
5. 경계 = 베이스 캔들의 고가와 저가, 또는 "Bodies only"(몸통만)를 선택한 경우 시가/종가만 사용.
6. 방향: 상단 위에서 마감한 강한 양봉 = 수요, 하단 아래에서 마감한 강한 음봉 = 공급.
7. 다음 캔들부터: 먼 쪽 경계를 넘는 종가(수요 존은 하단 아래, 공급 존은 상단 위)는 존을 돌파됨으로 표시합니다. 가까운 쪽 경계에 닿은 캔들은 접촉으로 세며, 방문당 한 번입니다(직전 캔들에서 존 밖에 있었어야 함).
모든 판단은 마감된 캔들로 합니다. 존이 생성된 후에는 가격 범위와 시작 시간이 고정되며, 상태(fresh 미접촉, touched N 접촉 N회, broken 돌파됨)만 바뀝니다.
기능
- "Demand fresh", "Supply touched 3", "Supply broken"과 같은 존 라벨, 그리고 두 가격, 베이스 크기, 베이스 시작 시간을 보여 주는 툴팁.
- 미접촉 존과 접촉 존의 색상을 따로 지정. 돌파된 존은 숨기거나 회색 윤곽선으로 표시(선택 가능).
- 두 존이 겹치면 오래된 존은 채우기를 유지하고 새로운 존은 윤곽선이 됩니다.
- 상위 시간 프레임 존: 차트보다 높은 시간 프레임 하나를 선택(기본값 꺼짐). 두꺼운 윤곽선으로 그려지며 시간 프레임이 라벨에 표시됩니다. 예: "D1 Demand touched 1".
- 가격이 바깥에서 미접촉 존으로 들어올 때 존마다 한 번 알림(기본값 꺼짐): 팝업, 소리 및/또는 푸시.
- 밝은 차트 배경과 어두운 차트 배경에 맞춘 라벨 색상 자동 선택. 영어 또는 일본어 텍스트.
주요 설정 (MT4 대화 상자에 표시되는 이름)
ATR period 14 | Strong bar X 1.5 | Base bar Y 0.5 (X보다 작게) | Base bars max 3 | Zone edges: wicks | Bars to scan 5000 | Unbroken zones per side 5 | Remove zones older than 1000 bars (0 = 삭제 안 함) | Broken zones: hide | Broken zones per side 3 | Extend right 10 bars | Labels on, size 8 | Colors: demand fresh, demand touched, supply fresh, supply touched, broken, label (None = 자동) | Higher timeframe: current (= 꺼짐) | HTF zones per side 3 | Alert on entering a fresh zone: off | Pop-up on, sound off, push off | Language: Auto
대화 상자에 표시된 범위를 벗어난 값이 있으면 지표가 로드되지 않습니다.
EA용 버퍼
숨겨진 버퍼 6개: 0 수요 상단, 1 수요 하단, 2 수요 접촉 횟수, 3 공급 상단, 4 공급 하단, 5 공급 접촉 횟수. 마감된 각 캔들에는 그 마감 시점의 방향별(수요·공급 각각) 가장 새로운 돌파되지 않은 존이 저장되며, shift 0은 shift 1을 반복합니다. 존 없음(또는 경과 한도보다 오래된 존) = EMPTY_VALUE. 차트 시간 프레임의 존만 저장되며, 상위 시간 프레임 존은 저장되지 않습니다.
iCustom에서는 26개 입력값을 대화 상자 순서대로 전달한 뒤 버퍼 번호와 shift를 전달합니다:
ATR 기간, X, Y, 최대 베이스 캔들 수, 존 경계 (0 꼬리 포함 / 1 몸통만), 스캔할 캔들 수, 방향별 돌파되지 않은 존 수, 경과 한도, 돌파된 존 (0 숨김 / 1 표시), 방향별 돌파된 존 수, 연장 캔들 수, 라벨 표시, 글꼴 크기, 색상 6개, 상위 시간 프레임, 방향별 상위 시간 프레임 존 수, 진입 시 알림, 팝업, 소리, 푸시, 언어 (0 자동 / 1 영어 / 2 일본어).
iCustom으로 호출하면 지표는 그리지 않고, 타이머를 사용하지 않으며, 알림도 발생시키지 않습니다. 버퍼만 채웁니다.
참고 및 한계
- 형성 중인 캔들이 진입한 존은 그 캔들이 마감될 때까지 "fresh"로 표시되며, 접촉은 마감 시점에 집계됩니다.
- 알림 자체는 마지막 마감 캔들의 존을 기준으로 틱마다 확인되므로 라벨이 바뀌기 전에 올 수 있습니다. 로드 후 첫 가격은 저장만 되고 알림은 발생하지 않습니다.
- 마지막 "Bars to scan"개 캔들만 계산합니다. MT4가 차트를 다시 로드하면(히스토리 추가, 재연결, 새 입력값) 스캔이 다시 시작되므로 가장 오래된 존은 다르게 나올 수 있습니다. 최근 존은 그대로입니다.
- 입력값이 다르거나 브로커의 가격이 다르면 존도 달라집니다. 조용한 횡보장에서는 작은 존이 많이 생길 수 있고, 강한 추세에서는 존이 빠르게 돌파되는 경우가 많습니다.
- 미접촉 상태와 접촉 횟수는 과거 기록이며 확률이 아닙니다.
- 같은 차트의 두 번째 사본은 윤곽선만 그리므로 첫 번째 사본의 채우기를 지우지 않습니다.
- 전략 테스터: 비주얼 모드에서는 존이 실시간 차트에서와 같이 그려지며, 테스터에서는 알림이 발생하지 않습니다. 상위 시간 프레임 존을 사용하면 테스터 저널에 터미널 자체의 "history cache" 메시지가 출력될 수 있으며, 이는 지표의 오류가 아닙니다. 매우 큰 표시 설정은 테스터를 느리게 합니다.
- 차트 오브젝트는 접두사 "SDZ#"를, 임시 전역 변수는 "SDZ_"를 사용합니다. 둘 다 지표를 제거할 때 정리됩니다. 차트 설정은 그대로 둡니다.
호환성 및 지원
- MetaTrader 4 전용(MT5 버전은 별도로 제공되며 역시 무료). 모든 심볼, 모든 시간 프레임. 템플릿에서도, 재시작 후에도 작동합니다.
- DLL 없음, 인터넷 연결 없음, 파일 없음.
- 설치, 설정 또는 버그에 관한 질문: MQL5 메시지를 보내 주세요. 시장 예측과 매매 조언은 지원 범위에 포함되지 않습니다.
- 이 지표는 차트 보조 도구입니다. 어떠한 거래 결과도 보장하지 않으며, 과거 차트의 움직임은 미래의 움직임을 보장하지 않습니다.
