SMC Market Structure with FVG and OB
- 지표
-
Rajesh Kumar Nait
안녕하세요, 저는 정보 기술 학사 학위를 가진 MQL 개발자 Rajesh입니다. 12년 이상의 프로그래밍 경험을 가지고 있으며, PHP 개발자에서 웹 개발을 전문으로 하는 전문가에서 전문 MQL5 프로그래머 및 암호화폐 트레이더로 전향했습니다. - 버전: 1.0
- 활성화: 8
이 지표는 고급 프랙탈(fractal) 로직, 구조 돌파(BOS) 및 성격 변화(CHOCH)를 기반으로 차트상의 스윙 포인트(swing points)를 표시하며, 제어 패널을 통해 10개 타임프레임의 현재 추세를 보여줍니다.
MC Market Structure는 MetaTrader 5용 분석 지표입니다. 차트의 가격 이력을 분석하여 시장이 새로운 고점이나 저점을 형성하는 지점, 구조가 돌파되는 지점, 그리고 방향이 전환되는 지점을 표시합니다. 모든 시각적 요소는 차트상에 직접 표시되며, 화면 모서리의 패널을 통해 현재 분석 상태를 한눈에 확인할 수 있습니다.
이 도구는 가격의 움직임을 시각화하여 사용자가 스스로 매매 결정을 내릴 수 있도록 돕습니다.
시장 분석 방식
시장은 상승 추세, 하락 추세, 그리고 횡보(수렴)의 세 가지 상태로 구분됩니다. 이 지표는 스윙 고점과 스윙 저점의 순서를 추적하여 현재 어떤 상태인지 판단합니다.
가격이 기존 추세 방향으로 '보호된 스윙 포인트(protected swing point)'를 넘어 마감되면, 해당 움직임은 구조 돌파로 간주되어 BOS로 표시됩니다. 반면, 기존 추세와 반대 방향으로 보호된 스윙 포인트를 넘어 마감되면 성격 변화로 간주되어 CHOCH로 표시됩니다. 이때 원래의 스윙 포인트에서 돌파를 일으킨 캔들까지 점선이 그려져 원인과 결과 사이의 거리를 시각적으로 확인할 수 있습니다.
캔들 꼬리에 의한 돌파(wick break)는 종가에 의한 돌파와 별도로 처리됩니다. 꼬리가 이전 고점을 넘어가더라도 캔들 몸통이 그 아래에 머무르면 돌파로 간주하지 않습니다. 만약 두 번째 꼬리가 첫 번째 꼬리보다 높게 올라가더라도 두 캔들의 몸통이 모두 기존 고점 아래에 있다면, 해당 수준은 새로운 고점으로 기록됩니다. 저점의 경우에도 동일한 로직이 적용됩니다.
고점과 저점을 정의하는 4가지 방식
고점과 저점의 정의는 입력 설정에서 변경할 수 있어, 사용자의 기존 매매 방식에 맞춰 분석 결과를 조정할 수 있습니다.
기본 모드(Default mode)는 스윙 포인트 설정 시 꼬리(wick) 수준을 사용하며, 돌파 확인을 위해 캔들 종가 마감을 요구합니다. 꼬리 돌파 모드(Wick break mode)는 꼬리가 해당 수준을 통과하는 것만으로도 유효한 돌파로 인정합니다. 종가 기준 모드(Close level mode)는 스윙 포인트를 종가 위치로 설정하며, 돌파 시에도 종가 마감을 요구합니다. 몸통 모드(Body mode)는 라인 차트와 유사하게 작동하여, 가장 높은 종가가 고점을 형성하고 가장 낮은 종가가 저점을 형성합니다.
차트에 표시되는 내용
스윙 포인트들은 색상이 적용된 지그재그(zigzag) 선으로 연결되며 HH, HL, LH, LL로 라벨이 표시됩니다. 또한 주요 전환점(turning points)은 별도로 표시됩니다. 구조 돌파(Break of Structure)와 성격 변화(Change of Character)는 해당 점선 레벨 옆에 표시됩니다. 성격 변화의 경우 주요(Major) 변화와 보조(Minor) 변화에 서로 다른 라벨을 사용하여, 큰 규모의 움직임과 작은 규모의 움직임을 쉽게 구분할 수 있습니다.
주요 구조 위에 내부 구조를 함께 표시할 수 있습니다. 내부 구조는 더 큰 가격 구간(leg) 내에서 형성되는 작은 고점과 저점의 흐름을 의미하며, 주요 구조 분석을 방해하지 않도록 은은한 색상으로 그려집니다.
오더 블록(Order Block)은 해당 움직임을 시작시킨 캔들을 기준으로 그려집니다. 유효한 상향 돌파가 발생하면, 지표는 해당 구간을 되짚어보며 가장 낮은 위치의 강세(bullish) 캔들을 수요 구간(demand zone)으로 설정합니다. 반대로 하향 돌파 시에는 가장 높은 위치의 약세(bearish) 캔들을 공급 구간(supply zone)으로 설정합니다. 가격이 아직 도달하지 않은 구간은 차트의 오른쪽 끝까지 연장되어 표시됩니다. 반면 가격이 이미 도달한 구간은 해당 캔들 위치에서 표시가 종료됩니다.
페어 밸류 갭(Fair Value Gap)도 동일한 규칙을 따릅니다. 갭은 가격이 처음 진입할 때까지 열린 상태로 오른쪽으로 연장되며, 가격이 진입하는 캔들에서 사각형 표시가 종료됩니다.
제어 패널
패널은 차트 좌측 상단에 위치하며, 실시간 차트 운용 중 클릭할 수 있는 버튼들로 구성되어 있습니다.
구조 및 내부 구조는 각각 표시하거나 숨길 수 있습니다. 오더 블록과 페어 밸류 갭 또한 별도의 버튼이 있으며, 각각 '모든 구간', '가격이 이미 채운(fill) 구간', '아직 열려 있는(open) 구간'의 세 가지 필터 옵션을 제공합니다. 실시간 모드를 끄면 현재 분석 상태를 고정할 수 있으며, 새로 고침 버튼을 통해 필요 시 재계산을 수행할 수 있습니다.
또한 패널은 심볼, 타임프레임, 현재 추세, 선택된 모드, 감지된 스윙 및 이벤트 수, 활성 상태인 오더 블록 및 갭의 개수, 마지막 구조 이벤트와 해당 가격, 그리고 마지막 계산 시각 등의 정보를 표시합니다.
멀티 타임프레임 추세
패널에는 M1, M3, M5, M15, M30, H1, H4, D1, W1, MN1 등 10가지 타임프레임이 나열됩니다. 각 타임프레임은 해당 기간의 추세 정보와 함께 별도의 상자에 표시됩니다. 계정 내 데이터 기록이 충분하지 않은 타임프레임은 잘못된 분석 결과를 보여주는 대신 '사용 불가(unavailable)'로 표시됩니다.
계산 및 성능
이 지표는 모든 틱(tick)마다 계산하는 것이 아니라 캔들(바)이 마감될 때 재계산을 수행합니다. 따라서 캔들이 형성되는 동안 분석 결과가 안정적으로 유지되며, 차트가 불필요하게 계속 다시 그려지는 일이 없습니다. 스캔 범위는 차트 위에서 드래그할 수 있는 수직선, 고정된 시작 날짜, 또는 현재 시점으로부터 거슬러 올라간 특정 개수의 바(bar)를 기준으로 설정됩니다. 수직선을 이동하면 새로운 지점을 기준으로 분석이 다시 계산되므로, 특정 세션이나 특정 가격 움직임을 분석할 때 유용합니다.
입력(Inputs)
구조(Structure) 설정에는 고점 및 저점 정의 모드와 이력 데이터의 깊이(history depth)가 포함됩니다.
스캔(Scan) 설정에는 범위 모드, 시작 시간, 수직선이 배치되지 않았을 때 사용할 바(bar)의 개수, 그리고 수직선이 시작 시간을 따라갈지 여부 등이 포함됩니다.
MC Market Structure는 MetaTrader 5용 분석 지표입니다. 차트의 가격 이력을 분석하여 시장이 새로운 고점이나 저점을 형성하는 지점, 구조가 돌파되는 지점, 그리고 방향이 전환되는 지점을 표시합니다. 모든 시각적 요소는 차트상에 직접 표시되며, 화면 모서리의 패널을 통해 현재 분석 상태를 한눈에 확인할 수 있습니다.
이 도구는 가격의 움직임을 시각화하여 사용자가 스스로 매매 결정을 내릴 수 있도록 돕습니다.
시장 분석 방식
시장은 상승 추세, 하락 추세, 그리고 횡보(수렴)의 세 가지 상태로 구분됩니다. 이 지표는 스윙 고점과 스윙 저점의 순서를 추적하여 현재 어떤 상태인지 판단합니다.
가격이 기존 추세 방향으로 '보호된 스윙 포인트(protected swing point)'를 넘어 마감되면, 해당 움직임은 구조 돌파로 간주되어 BOS로 표시됩니다. 반면, 기존 추세와 반대 방향으로 보호된 스윙 포인트를 넘어 마감되면 성격 변화로 간주되어 CHOCH로 표시됩니다. 이때 원래의 스윙 포인트에서 돌파를 일으킨 캔들까지 점선이 그려져 원인과 결과 사이의 거리를 시각적으로 확인할 수 있습니다.
캔들 꼬리에 의한 돌파(wick break)는 종가에 의한 돌파와 별도로 처리됩니다. 꼬리가 이전 고점을 넘어가더라도 캔들 몸통이 그 아래에 머무르면 돌파로 간주하지 않습니다. 만약 두 번째 꼬리가 첫 번째 꼬리보다 높게 올라가더라도 두 캔들의 몸통이 모두 기존 고점 아래에 있다면, 해당 수준은 새로운 고점으로 기록됩니다. 저점의 경우에도 동일한 로직이 적용됩니다.
고점과 저점을 정의하는 4가지 방식
고점과 저점의 정의는 입력 설정에서 변경할 수 있어, 사용자의 기존 매매 방식에 맞춰 분석 결과를 조정할 수 있습니다.
기본 모드(Default mode)는 스윙 포인트 설정 시 꼬리(wick) 수준을 사용하며, 돌파 확인을 위해 캔들 종가 마감을 요구합니다. 꼬리 돌파 모드(Wick break mode)는 꼬리가 해당 수준을 통과하는 것만으로도 유효한 돌파로 인정합니다. 종가 기준 모드(Close level mode)는 스윙 포인트를 종가 위치로 설정하며, 돌파 시에도 종가 마감을 요구합니다. 몸통 모드(Body mode)는 라인 차트와 유사하게 작동하여, 가장 높은 종가가 고점을 형성하고 가장 낮은 종가가 저점을 형성합니다.
차트에 표시되는 내용
스윙 포인트들은 색상이 적용된 지그재그(zigzag) 선으로 연결되며 HH, HL, LH, LL로 라벨이 표시됩니다. 또한 주요 전환점(turning points)은 별도로 표시됩니다. 구조 돌파(Break of Structure)와 성격 변화(Change of Character)는 해당 점선 레벨 옆에 표시됩니다. 성격 변화의 경우 주요(Major) 변화와 보조(Minor) 변화에 서로 다른 라벨을 사용하여, 큰 규모의 움직임과 작은 규모의 움직임을 쉽게 구분할 수 있습니다.
주요 구조 위에 내부 구조를 함께 표시할 수 있습니다. 내부 구조는 더 큰 가격 구간(leg) 내에서 형성되는 작은 고점과 저점의 흐름을 의미하며, 주요 구조 분석을 방해하지 않도록 은은한 색상으로 그려집니다.
오더 블록(Order Block)은 해당 움직임을 시작시킨 캔들을 기준으로 그려집니다. 유효한 상향 돌파가 발생하면, 지표는 해당 구간을 되짚어보며 가장 낮은 위치의 강세(bullish) 캔들을 수요 구간(demand zone)으로 설정합니다. 반대로 하향 돌파 시에는 가장 높은 위치의 약세(bearish) 캔들을 공급 구간(supply zone)으로 설정합니다. 가격이 아직 도달하지 않은 구간은 차트의 오른쪽 끝까지 연장되어 표시됩니다. 반면 가격이 이미 도달한 구간은 해당 캔들 위치에서 표시가 종료됩니다.
페어 밸류 갭(Fair Value Gap)도 동일한 규칙을 따릅니다. 갭은 가격이 처음 진입할 때까지 열린 상태로 오른쪽으로 연장되며, 가격이 진입하는 캔들에서 사각형 표시가 종료됩니다.
제어 패널
패널은 차트 좌측 상단에 위치하며, 실시간 차트 운용 중 클릭할 수 있는 버튼들로 구성되어 있습니다.
구조 및 내부 구조는 각각 표시하거나 숨길 수 있습니다. 오더 블록과 페어 밸류 갭 또한 별도의 버튼이 있으며, 각각 '모든 구간', '가격이 이미 채운(fill) 구간', '아직 열려 있는(open) 구간'의 세 가지 필터 옵션을 제공합니다. 실시간 모드를 끄면 현재 분석 상태를 고정할 수 있으며, 새로 고침 버튼을 통해 필요 시 재계산을 수행할 수 있습니다.
또한 패널은 심볼, 타임프레임, 현재 추세, 선택된 모드, 감지된 스윙 및 이벤트 수, 활성 상태인 오더 블록 및 갭의 개수, 마지막 구조 이벤트와 해당 가격, 그리고 마지막 계산 시각 등의 정보를 표시합니다.
멀티 타임프레임 추세
패널에는 M1, M3, M5, M15, M30, H1, H4, D1, W1, MN1 등 10가지 타임프레임이 나열됩니다. 각 타임프레임은 해당 기간의 추세 정보와 함께 별도의 상자에 표시됩니다. 계정 내 데이터 기록이 충분하지 않은 타임프레임은 잘못된 분석 결과를 보여주는 대신 '사용 불가(unavailable)'로 표시됩니다.
계산 및 성능
이 지표는 모든 틱(tick)마다 계산하는 것이 아니라 캔들(바)이 마감될 때 재계산을 수행합니다. 따라서 캔들이 형성되는 동안 분석 결과가 안정적으로 유지되며, 차트가 불필요하게 계속 다시 그려지는 일이 없습니다. 스캔 범위는 차트 위에서 드래그할 수 있는 수직선, 고정된 시작 날짜, 또는 현재 시점으로부터 거슬러 올라간 특정 개수의 바(bar)를 기준으로 설정됩니다. 수직선을 이동하면 새로운 지점을 기준으로 분석이 다시 계산되므로, 특정 세션이나 특정 가격 움직임을 분석할 때 유용합니다.
입력(Inputs)
구조(Structure) 설정에는 고점 및 저점 정의 모드와 이력 데이터의 깊이(history depth)가 포함됩니다.
스캔(Scan) 설정에는 범위 모드, 시작 시간, 수직선이 배치되지 않았을 때 사용할 바(bar)의 개수, 그리고 수직선이 시작 시간을 따라갈지 여부 등이 포함됩니다.

