Anchored Volume Delta with Adaptive Bands MT4
- 지표
-
Narayanan Mohanan Mohanan Krishnan
MT5/MQL5용 Expert Advisor, 사용자 정의 지표 및 백테스트·검증 도구를 개발합니다. 저는 깔끔하고 문서화가 잘 되어 있으며 리페인트가 없는(No Repaint) 코드에 집중합니다. 확정된 캔들 기반 로직, 검증된 버퍼(Buffer), 올바른 핸들(Handle) 및 메모리 관리와 같은 엔지니어링 원칙이 신뢰할 수 있는 도구와 불안정한 도구를 구분한다고 생각합니다. - 버전: 1.0
이 지표는 누적 거래량 델타(CVD) — 각 봉의 거래량에 그 봉이 어느 방향으로 마감했는지에 따른 부호를 붙여 누적한 합계 — 를 적응형 표준편차 밴드 안에 그립니다. 가격만으로는 답할 수 없는 질문에 답합니다. 이 움직임은 참여가 뒷받침하고 있는가, 아니면 그저 표류하고 있는가?
누적 합계는 여러분이 고르는 기준점에서 다시 시작합니다 — 일간, 주간, 월간. 따라서 읽히는 값은 차트 기록의 시작점이 아니라 언제나 현재 세션, 이번 주, 이번 달을 기준으로 합니다. 바로 이 하나의 설정이 같은 지표를 외환 1분봉 차트에서도, 지수 일봉 차트에서도 쓸모 있게 만들며, 여러분의 기록이 우연히 시작된 지점부터 계속 불어나기만 하는 단순한 누적 거래량 선과 이 지표를 구분 짓습니다.
작동 방식
각 봉은 자신의 거래량을 누적 합계에 더합니다. 직전 종가보다 높게 마감하면 더하고, 낮게 마감하면 빼며, 같게 마감하면 합계를 바꾸지 않습니다.
그런 다음 이 누적 계열에 대해 20기간의 중심선과 그 표준편차를 계산하고, 상단과 하단 밴드를 표준편차의 지정된 배수 위치에 놓습니다. 밴드가 계열 자체의 변동성으로 만들어지기 때문에, 참여가 거칠어지면 넓어지고 잠잠해지면 좁아집니다 — 종목마다 다시 맞춰야 하는 고정 임계값이 없습니다.
누적 합계가 기준점 경계에 이르면 0으로 초기화되고 다시 시작합니다. 차트에서는 선이 깔끔하게 다시 시작되는 모습으로 나타나며, 밴드는 새 구간을 중심으로 다시 형성됩니다.
밴드가 보여주는 것
밴드 밖으로의 움직임은 해당 종목의 최근 움직임에 비추어 거래량 흐름이 통계적으로 이례적인 상태가 되었음을 뜻합니다. 안으로 돌아오면 정상화되었다는 뜻입니다. 어느 쪽도 행동하라는 신호가 아닙니다 — 참여가 자기 자신의 최근 범위에 대해 지금 어디에 있는지를 서술할 뿐입니다.
트레이더들이 이 표시에서 흔히 얻는 세 가지 해석이 있습니다.
밴드 접촉. CVD 선이 상단 밴드에 닿으면 매수 흐름이 최근 범위에 비해 늘어난 상태임을 나타내고, 하단 밴드는 매도 흐름에 대해 같은 것을 나타냅니다. 스크린숏에서는 이 지점들을 상단 밴드는 빨간색, 하단 밴드는 초록색으로 표시했습니다. 늘어난 상태 다음에 무엇이 오는지는 정해져 있지 않습니다 — 흐름이 정상으로 돌아올 수도 있고, 밴드가 주변으로 벌어지는 가운데 계속 뻗어나갈 수도 있습니다.
확인. 가격이 새로운 고점이나 저점을 만들고 CVD 선도 함께 만듭니다. 참여가 가격과 같이 가고 있습니다.
다이버전스. 가격은 새로운 저점을 만드는데 CVD 선은 더 높은 저점을 만들거나, 고점에서 그 반대가 됩니다. 가격은 움직였지만 그 뒤의 거래량 흐름은 따라오지 않았습니다. 이는 예측이 아니라 맥락입니다 — 다이버전스는 양방향으로 해소되며, 예상보다 훨씬 오래 이어질 수 있습니다.
입력 파라미터
- 사용 거래량 — 틱 거래량(기본값)
- 기준 주기 — 연속, 일간(기본값), 주간, 월간
- 밴드 기간 — 20
- 밴드 편차 — 2.0
기준점이 의미를 가지려면 차트 주기보다 커야 합니다. 일봉 차트에서 일간 기준점을 쓰면 봉마다 초기화됩니다. 그런 경우 지표는 연속 계열로 전환하고, 그 이유를 전문가 로그에 적으며, 실제로 사용 중인 기준점을 짧은 이름에 표시합니다 — 그래서 이름표에 보이는 것은 언제나 실제로 동작하고 있는 설정입니다.
버퍼
- 버퍼 0 — CVD 선
- 버퍼 1 — 상단 밴드
- 버퍼 2 — 중심선
- 버퍼 3 — 하단 밴드
네 개 모두 전문가 어드바이저나 다른 지표에서 iCustom() 으로 읽을 수 있습니다. MQL4 버퍼는 시계열로 색인되므로 시프트 1이 마지막으로 완전히 마감된 봉입니다. 더 이상 바뀌지 않을 값을 얻으려면 이것을 읽으십시오.
double cvd = iCustom(NULL, 0, "NaaMo\\CVDBands", 0, 1); double upper = iCustom(NULL, 0, "NaaMo\\CVDBands", 1, 1); double basis = iCustom(NULL, 0, "NaaMo\\CVDBands", 2, 1); double lower = iCustom(NULL, 0, "NaaMo\\CVDBands", 3, 1);
버퍼 인덱스는 MetaTrader 5 버전과 정확히 일치합니다. 버퍼 2를 대상으로 작성한 코드는 어느 플랫폼에서든 중심선을 받습니다.
이 지표는 자체적으로 완결되어 있습니다. 다른 지표를 전혀 호출하지 않으므로 작동을 위해 그 밖에 필요한 것이 없습니다.
여러 종목에서
스크린숏은 다섯 개 종목과 여러 기준점 설정에서의 모습을 보여줍니다. 표시가 있는 곳에서 빨간색은 상단 밴드 접촉, 초록색은 하단 밴드 접촉을 뜻합니다.
- EURUSD 1시간봉, 월간 기준점 — 기본값인 일간보다 긴 누적이며, 양쪽 극단에서 밴드 접촉을 표시했습니다.
- 달러 인덱스 15분봉, 일간 기준점 — 데이터 창을 열어 한 봉에 대한 네 개 버퍼를 이름과 함께 보여줍니다.
- US30 일봉 — 대체 동작의 실제 사례입니다. 일간 기준점은 봉마다 초기화되므로 지표가 연속 계열로 전환했고 이름표에 Continuous 를 표시합니다.
- XAUUSD 5분봉, 일간 기준점 — 매도 흐름이 선을 하단 밴드 밖으로 끌고 나가 가격이 계속 내려가는 동안 그곳에 머무른 장중 구간입니다.
- GBPUSD 1분봉, 일간 기준점 — 가장 짧은 주기로, 기준점 초기화가 잦고 밴드도 빠르게 다시 형성됩니다.
- BTCUSD 15분봉 — 모든 설정을 보여주는 파라미터 창입니다.
계산 동작
값은 완료된 데이터로만 계산됩니다. 봉이 마감되면 그 값은 확정값이며 바뀌지 않습니다. 형성 중인 봉만 새 틱이 들어올 때마다 갱신되고, 그 봉이 마감될 때 고정됩니다. 이 지표는 미래 데이터를 사용하지 않으며 마감된 봉을 다시 그리지 않습니다.
누적 계열은 결정론적으로 재구성되므로, 같은 차트와 같은 설정이면 지표를 언제 붙였는지, 이력을 어떻게 불러왔는지와 무관하게 항상 같은 값이 나옵니다.
참고 사항
- 별도의 지표 창, 4개의 선, 4개의 버퍼입니다.
- 밴드가 그려지기 시작하려면 약 20개 봉의 이력이 필요합니다.
- 틱 거래량은 실제 거래량의 근사치입니다. MetaTrader 4 에서는 실거래량을 쓸 수 없으며, 이를 선택하면 지표는 조용히 다른 값으로 대체하지 않고 메시지와 함께 중단합니다.
- 외부 의존성이 없습니다. 누적 계열, 중심선, 표준편차 밴드 모두 지표 내부에서 계산됩니다. 다른 지표를 호출하지 않는 단일 파일이므로 함께 설치할 것이 없고, 지표 폴더 상태에도 의존하지 않습니다.
- MetaTrader 5 버전도 공개되어 있으며 버퍼 인덱스가 동일합니다.
이 지표는 기술적 분석과 시장 상황 선별을 위한 도구입니다. 트레이딩 시스템이 아니며, 매매 신호를 생성하지 않고, 투자 자문을 제공하지 않으며, 자동으로 포지션을 열거나 관리하지도 않습니다. 수익성에 관한 어떠한 주장도 하지 않습니다.
무료로 내려받아 사용하실 수 있습니다. 유용하셨다면 평가를 남겨주시면 다른 트레이더가 찾는 데 도움이 됩니다.
| 이 개발자의 다른 도구 저는 MetaTrader 지표와 전문가 어드바이저를 개발하며, 깔끔하고 문서화된 리페인트 없는 코드를 중시합니다. 마감봉 기반 로직, 검증된 버퍼, 그리고 다른 지표에 대한 의존성이 없다는 점입니다. 계산 방식이나 버퍼, 또는 직접 만드신 EA에서의 활용에 대해 궁금한 점이 있으신가요? 개인 메시지를 보내주시면 기꺼이 답변드리겠습니다. |
MetaTrader 개발자 Narayanan Mohanan이 개발하고 유지 관리합니다.
이 페이지의 번역에서 오류를 발견하시면 알려주시기 바랍니다. 확인 후 수정하겠습니다.
