SMC Market Structure Toolkit MT5
- 지표
-
Svitlana Zhyliaieva
✅ AlgoLab 소개
AlgoLab은 MetaTrader 4와 MetaTrader 5용 도구를 만드는 MQL 개발자와 트레이더로 이루어진 독립 팀입니다. 깔끔한 차트, 명확한 로직, 일상에서의 실용성에 초점을 맞춰 인디케이터와 엑스퍼트 어드바이저(EA)를 제작합니다.
✅ 제작 제품 - 버전: 1.0
- 활성화: 10
SMC Market Structure Toolkit는 MetaTrader 5용 Smart Money (ICT / SMC) 툴킷을 하나의 인디케이터에 담았습니다. Smart Money 트레이더처럼 시장을 읽습니다. 먼저 구조, 그다음 유동성, 그리고 가격이 반응할 수 있는 영역입니다. 이 모든 것을 짧은 라벨, 선택 가능한 화살표, 선택 가능한 알림과 함께 차트 위에 직접 그려 줍니다.
주요 기능
- 구조를 동시에 두 가지 방식으로 구축 - Internal과 Swing의 BOS / CHoCH. 각각 고유한 시간대, 스윙 강도, 색상을 가집니다.
- 모든 모듈이 고유한 시간대를 가집니다. 차트와는 독립적이어서, M5에서 거래하면서 H1에서 유동성을, M15에서 존을 구축할 수 있습니다.
- 깔끔하게 시작합니다. 기본값으로는 Internal 구조만 켜져 있습니다. 다른 모든 모듈은 스위치 하나로 켤 수 있어, 우리 차트가 아닌 여러분의 차트를 만들게 됩니다.
- 화살표는 어디서나 선택 사항입니다. 끄면 결과(돌파, 스윕, 테이크)가 선 위의 라벨로 옮겨 갑니다. 정보는 사라지지 않고 차트는 깔끔하게 유지됩니다.
- 라벨의 시간과 수명(선택): 레벨이나 존이 언제 형성되었고 얼마나 오래 유지되었는지. 컴팩트 라벨은 한 번의 클릭으로 이를 숨깁니다.
- 차트 패널과 알림 내장: D1 / H4 / H1 추세, 가까운 유동성, 미접촉 존, 최신 이벤트. 그리고 조용한 시간대와 분당 제한이 있는 Alert / Push / 이메일.
- 모든 심볼, 모든 시간대에서 작동합니다. 거래를 하지 않으며 DLL이나 웹 요청을 사용하지 않습니다.
1. 시장 구조 - 동시에 두 가지 방식으로 구축
구조 모듈은 인디케이터의 핵심입니다. BOS(추세 방향의 돌파: 지속)와 CHoCH(추세에 반하는 돌파: 반전)를 표시하며, 이를 한 차트에서 서로 독립적인 두 가지 방식, 즉 Internal 구조와 Swing 구조로 수행합니다. 각각 고유한 시간대, 스윙 강도, 스위치, 색상을 가지므로 단기 흐름과 큰 그림을 나란히 보면서 한눈에 구별할 수 있습니다.
1.1 구조 설정
- 스윙 확인 방법 - Conservative: 스윙은 양쪽으로 N개의 캔들이 지난 뒤에야 확정됩니다(더 정확하지만 조금 늦음). Sliding: 이후 N개의 캔들 중 어느 것도 해당 지점을 넘지 않으면 즉시 확정됩니다(더 빠르고 더 민감함).
- 스윙 강도와 히스토리 - 스윙을 확정하는 캔들 수와, 시작 시 분석하는 과거 캔들 수.
- 캔들 몸통이 레벨 바깥에서 마감할 때만 돌파로 인정합니다. 뚫고 나갔다가 돌아온 꼬리는 돌파가 아니라 유동성 탈취로 처리되므로 잘못된 BOS 신호를 걸러내는 데 도움이 됩니다.
- 일관된 하나의 추세 상태. 해당 이벤트 유형을 차트에서 숨겨 두었더라도 모든 돌파는 추세를 갱신하므로 라벨은 같은 추세 상태를 따릅니다.
1.2 Internal 구조 (방식 1)
- 마스터 스위치(기본값 켜짐 - 인디케이터는 Internal 구조만 표시된 깔끔한 상태로 시작합니다).
- 고유한 시간대, 차트와 독립: 예를 들어 M5를 보면서 M15에서 Internal 구조를 구축할 수 있습니다.
- 네 개의 개별 스위치: 상승 BOS, 상승 CHoCH, 하락 BOS, 하락 CHoCH.
- 화살표는 선택 사항입니다. 켜면 하나의 화살표가 돌파 캔들을, 다른 색의 두 번째 화살표가 진입 캔들을 표시합니다. 끄면 라벨이 달린 깔끔한 선이 됩니다.
- BOS와 CHoCH에 각각 별도의 알림.
1.3 Swing 구조 (방식 2)
- Internal과 나란히, 그리고 독립적으로 작동합니다: 고유한 마스터 스위치, 시간대, 스윙 강도(기본값 50, Internal은 5), 이벤트 스위치, 화살표 옵션.
- 고유한 색상 쌍(기본값은 파랑과 마젠타)을 사용하므로 두 구조가 혼동되지 않습니다.
- Swing BOS와 Swing CHoCH 전용 알림.
1.4 색상 - Internal 구조의 상승·하락 색상과 진입 화살표 색상. Swing 색상은 전용 블록에서 설정합니다.
1.5 HH / HL / LH / LL
- 시장의 스윙 포인트를 표시합니다: Higher High, Higher Low, Lower High, Lower Low.
- 그룹 전체에 대해 고유한 시간대와 스윙 강도(값이 클수록 포인트가 적고 깔끔합니다).
- 필요한 포인트만 표시: 네 가지를 각각 켜고 끌 수 있으며, 색상은 상승 포인트와 하락 포인트 두 가지입니다. 기본값은 꺼짐.
1.6 IDM - Inducement
- Inducement는 임펄스 안에서 처음 나타나는 유효한 되돌림으로, 이른 트레이더들의 스톱이 모이는 작은 레벨입니다. 가격이 이를 가져가면 관심 영역 앞의 유동성이 수집된 것입니다.
- Internal IDM과 Swing IDM은 별개이며, 각각 전용 스위치가 있습니다.
- IDM의 시간대는 직접 선택합니다. 기본값은 "As structure": IDM은 자신의 구조가 가진 임펄스로부터 그 구조의 시간대에서 구축됩니다. 또는 M1부터 MN1까지의 다른 시간대(고유한 스윙 강도 포함)를 선택하면, 구조와 무관하게 그곳에서 IDM이 구축됩니다.
- 레벨은 캔들이 그 바깥에서 마감할 때까지 차트에 남아 있으며, 마감하면 테이크된 것으로 표시됩니다. 선 위의 라벨은 레벨이 언제 형성되었고 얼마나 오래 유지되었는지 보여 줍니다.
- 화살표는 선택 사항입니다. 끄면 모든 정보가 선 위의 라벨에 남습니다.
- 활성 IDM 레벨 수 제한(Internal과 Swing은 별도로 계산), 두 가지 색상(상승·하락 임펄스용), IDM이 테이크될 때의 알림. 기본값은 꺼짐.
라벨. 선택 사항인 라벨의 시간은 각 선이나 존이 언제 형성되었고 얼마나 오래 유지되었는지 보여 줍니다. 컴팩트 라벨은 시간과 수명을 숨겨 복잡한 차트를 깔끔하게 유지합니다. 모든 모듈에서 동일하게 작동합니다.
2. 유동성 - 스톱이 있는 곳
Smart Money의 논리는 유동성에서 시작합니다. 많은 스톱 주문이 놓여 있고, 가격이 움직이기 전에 가져가기를 좋아하는 가격대입니다. 각 유동성 모듈은 개별적으로 켤 수 있으며 고유한 시간대를 가집니다.
2.1 EQH / EQL - Equal Highs / Equal Lows
- 거의 같은 가격에 있는 두 스윙 포인트(전형적인 유동성 풀)를 찾아 선과 라벨로 연결합니다.
- "같음"은 ATR의 비율로 직접 정의합니다. 값이 작을수록 더 엄격합니다.
- 고유한 시간대와 스윙 강도(보통 메인 구조보다 작음). 두 번째 포인트에 선택 사항인 화살표와 시간 라벨.
- 라벨 시간이 켜져 있으면: 두 포인트가 각각 언제 형성되었는지와 그 간격.
2.2 BSL / SSL - 모든 스윙의 유동성
- 모든 스윙 고점은 매수 측 유동성(BSL)을, 모든 스윙 저점은 매도 측 유동성(SSL)을 가집니다. 같은 가격인 것만이 아닙니다.
- 두 가지 모드. Full history: 모든 스윙이 차트에 남습니다. Live levels: 현재 기간(일, 주, 월 또는 연. 사용하는 시간대에 맞춰 직접 선택)만 의미가 있습니다. 새 레벨은 아직 테이크되지 않은 이전 레벨을 무효화하며(방향별 또는 전체), 무효화된 레벨은 회색이 되고 X 표시가 붙습니다. 기간이 끝나면 오래된 것은 사라지고, 선택에 따라 처리된 것도 사라집니다.
- 가격이 레벨을 가져갈 때 모듈이 어떻게 가져갔는지 알려 줍니다: SWEEP(가격이 레벨을 뚫지만 캔들은 되돌아와 마감 - 탈취, 반전을 예상) 또는 BOS(캔들이 바깥에서 마감 - 진짜 돌파).
- 모든 결과에는 그것이 일어난 세션(아시아, 유럽, 미국)도 표시됩니다.
- 고유한 시간대, 스윙 강도, 활성 레벨 수 제한, BSL과 SSL의 색상, 선택 사항인 Vol / ATR 확인(2.9 참조).
2.3 PDH / PDL / PWH / PWL / PMH / PML
- 전일, 전주, 전월의 고가와 저가를 라벨이 있는 레벨로 그립니다. 각 쌍에는 전용 스위치와 색상이 있습니다.
- 월은 브로커의 서버 달력을 따릅니다. 가격이 레벨을 스윕하거나 돌파할 때 알림.
2.4 TL - Trendline Liquidity
- 스윙 포인트를 지나는 추세선. 상승 추세선의 아래에는 매수자의 스톱(SSL 유형)이, 하락 추세선의 위에는 매도자의 스톱(BSL 유형)이 있습니다.
- 고유한 시간대와 스윙 강도, 방향별 활성 선 수 제한, 별도의 색상.
- 캔들이 선을 돌파하면 결과가 캔들 위(선택 사항인 화살표) 또는 선 위의 라벨에 표시됩니다. 선택 사항인 Vol / ATR 확인.
2.5 SH / ST - Stop Hunt / Turtle Soup
- 극값의 실패한 돌파: 가격이 최근 N개 캔들의 고점 또는 저점(최소 M개 캔들 이전에 형성된 극값)을 꼬리로 넘어선 뒤, 캔들이 다시 안쪽에서 마감합니다.
- N, M, 꼬리의 최소 초과 폭(ATR의 비율)을 설정합니다. 상승·하락 신호는 따로, 각자의 색상과 시간대로 표시할 수 있습니다.
2.6 - 2.8 세션 박스: 아시아와 유럽, 미국 시간대
- 세션이 진행되는 동안 고가와 저가를 따라가다가 세션이 끝나면 고정되는 박스입니다. 세션 시간은 브로커 서버 시간으로 직접 입력합니다(서머타임 자동 변환 없음). 따라서 어떤 브로커에도 맞출 수 있습니다.
- 세션의 극값은 유동성입니다. 가격이 박스의 위쪽 또는 아래쪽을 가져가면, 해당 경계에 대한 SWEEP 또는 BOS 결과가 일어난 세션과 함께 표시됩니다.
- 시작 시 선택한 일수만큼의 과거를 그립니다. 화살표는 선택 사항입니다. 끄면 결과가 박스 경계 바로 옆의 별도 라벨에 표시됩니다.
- 미국 세션에는 박스가 없습니다. 그 시간대는 모든 유동성 이벤트 라벨에서 세션 이름을 나타내는 데만 쓰입니다.
2.9 Vol / ATR 확인
- 세션 박스, BSL / SSL, TL, IDM이 공유하는 선택 사항 필터입니다. 라벨에 짧은 표시를 추가합니다. 예: Vol x1.8+ - ATR x0.9-.
- Vol: 레벨을 가져간 캔들의 거래량을 최근 캔들의 평균과 비교. ATR: 그 캔들의 범위를 ATR과 비교. 플러스는 설정한 기준을 넘었다는 뜻이고, 마이너스는 넘지 못했다는 뜻입니다.
- 평균 기간, 거래량 배수, ATR 기간, ATR 배수는 직접 설정합니다.
- 거래량은 틱 거래량 또는 브로커가 제공하는 경우 실거래량으로 선택할 수 있으며, 파라미터 하나로 전환합니다. 심볼에 실거래량이 없으면 틱 거래량이 사용됩니다. 거래량 유형 설정은 Vol / ATR에만 영향을 줍니다.
3. 관심 포인트 - 불균형과 블록
가격이 반응할 가능성이 높은 영역입니다. 존은 나타난 뒤 추적되며 가격이 통과하면 제거됩니다. 활성 존 수 제한이 차트를 읽기 쉽게 유지합니다.
3.1 FVG - Fair Value Gap
- 첫 번째와 세 번째 캔들 사이의 세 캔들 갭. 상승 갭과 하락 갭을 따로 표시할 수 있습니다.
- 고유한 시간대, 차트와 독립. 갭의 최소 크기(ATR의 비율, 노이즈 제거), 처리할 과거 캔들 수, 존을 오른쪽으로 연장하는 길이.
- 어둡고 반투명한 색상으로 캔들 뒤에 그려집니다.
3.2 IFVG - Inverted FVG
- 캔들 몸통이 갭을 뚫으면 갭은 역할을 바꿉니다. 돌파된 하락 FVG는 지지가 되고, 돌파된 상승 FVG는 저항이 됩니다.
- IFVG는 단독으로 작동합니다. FVG 모듈을 켤 필요가 없습니다.
- 시간대 선택: 임의의 시간대, 또는 "As FVG". 이 경우 FVG 설정에서 시간대와 최소 크기만 가져옵니다(FVG 모듈 자체는 꺼 두어도 됩니다).
- 활성 존 수 제한, 상승 IFVG와 하락 IFVG 각각의 색상.
3.3 Volume Imbalance
- 캔들 몸통 사이에 갭이 있지만 꼬리는 여전히 겹치는 경우로, FVG의 부드러운 사촌입니다.
- 고유한 시간대, ATR 단위의 최소 크기, 캔들 수로 지정하는 연장, 상승 / 하락 별도의 스위치와 색상.
- 이름과 달리 가격만으로 계산됩니다. 거래량을 사용하지 않으므로 거래량 유형 설정의 영향을 받지 않습니다.
3.4 Order Blocks - Internal과 Swing
- Internal 구조와 Swing 구조 각각의 Order Blocks. 각각 전용 스위치, 블록 수 제한, 색상을 가집니다(Swing 블록은 구별하기 쉽도록 더 밝습니다).
- 시간대 동작. 기본값은 "As structure": 블록은 자신의 구조의 돌파에서 그 구조의 시간대로 생성됩니다. 또는 고유한 스윙 강도와 함께 M1 - MN1의 임의 시간대를 선택하면, 구조와 무관하게 그곳에서 블록이 구축됩니다.
3.5 Breaker / Mitigation Blocks
- 실패한 Order Block. Breaker (BB): 임펄스의 극값이 갱신된 뒤 블록이 실패한 경우. Mitigation (MB): 그 극값을 갱신하지 않고 실패한 경우. 존은 역할이 뒤바뀝니다. 돌파된 상승 블록은 저항이, 돌파된 하락 블록은 지지가 됩니다.
- Internal과 Swing은 별도입니다. BB와 MB는 독립적으로 표시할 수 있으며 각각 고유한 색상이 있습니다.
- 시간대: "As OB"(해당 Order Block의 시간대) 또는 다른 임의의 시간대. 후자의 경우 블록의 실패가 그 시간대에서 추적되고 존도 그 시간대에서 그려집니다.
4. 필터와 도구
4.1 Premium / Discount / Equilibrium 및 Strong / Weak High / Low
- 현재 범위를 Premium, Discount, Equilibrium으로 나누어 가격이 범위 대비 비싼지 싼지 즉시 확인할 수 있게 하고, 추세의 Strong과 Weak High / Low를 표시합니다.
- 시간대: "As Swing structure" 또는 고유한 스윙 강도와 함께 선택한 임의의 시간대. 각 존에 전용 색상.
4.2 FTA - First Trouble Area
- 가격의 진행 경로에서 가장 가까운 반대 방향의 존: FTA UP은 가격 위에서 가장 가까운 하락 존(매수의 장애물), FTA DN은 아래에서 가장 가까운 상승 존(매도의 장애물)입니다.
- 켜 둔 존 모듈(Order Blocks, FVG, IFVG, Volume Imbalance, Breaker / Mitigation)과 함께 작동합니다. 차트 패널에도 표시됩니다.
5. 서비스
5.1 라벨의 시간 - 세 가지 옵션: 끔, 생성 시각, 또는 생성 시각 + 수명. 인디케이터 전체에 스위치 하나. 컴팩트 라벨(5.4 참조)을 쓰면 시간이 다시 숨겨집니다.
5.2 알림 - Alert 창, Push, 이메일 (기본값 꺼짐)
- 마스터 스위치와 세 가지 채널: 터미널 Alert 창, 휴대폰 Push, 이메일.
- 이벤트 그룹 선택: 구조(BOS / CHoCH, IDM, EQH / EQL), 유동성(BSL / SSL, 이전 레벨, TL, SH / ST, 세션 박스), 새 존, 존 이벤트(터치, 반등 / 돌파, 접근), 컨플루언스.
- 컨플루언스: 유동성 스윕, CHoCH, 존 터치가 설정한 캔들 창 안에서 일어나면 하나의 알림을 보냅니다.
- 조용한 시간대: 밤에는 아무것도 전송되지 않으며, 간격이 끝난 뒤 하나의 요약 메시지로 전달됩니다.
- 채널별 분당 제한, 추가 사운드 파일, Classic 또는 Combined 형식(레벨, 현재 가격, 거리가 담긴 상세 블록), 각 이벤트에 대한 선택 사항인 짧은 / 전체 설명, 시작 시 테스트 메시지, 알림 동작을 확인하기 위한 저널 옵션.
- 알림은 새로운 이벤트에 대해서만 전송되며 히스토리에 대해서는 전송되지 않습니다. 시작 후 짧은 대기 시간이 있습니다.
5.3 차트 패널 (기본값 꺼짐)
- 드래그할 수 있고 접기 버튼이 있는 패널. 카드: TREND(스윙 기준 D1 / H4 / H1, 범위 내 위치를 Discount / Premium %로, 마지막 구조 이벤트), LIQUIDITY(전일 고가 / 저가, 가까운 BSL / SSL, 선택 시 주 / 월 레벨과 최근 EQH / EQL), UNTOUCHED ZONES(가격에 가장 가까운 존, 선택 시 FTA), MARKET(서버 시간, ATR, 스프레드, 선택 시 캔들 마감까지의 카운트다운), LATEST EVENTS(가장 최신이 맨 위에 강조 표시).
- 각 카드를 켜고 끌 수 있으며, 접은 상태에서는 색이 입혀진 한 줄 요약을 표시할 수 있습니다. 모든 색상을 조정할 수 있습니다.
5.4 깔끔한 차트
- 가격에서 멀리 떨어진 객체(N x ATR보다 먼)와 오래된 객체(N개 캔들보다 오래된)를 숨깁니다. 아무것도 삭제되지 않습니다. 숨겨진 객체는 가격이 돌아오면 다시 나타납니다.
- 컴팩트 라벨은 라벨에서 괄호 안의 시간대와 시간을 제거합니다.
6. 차트 색상 구성표 (선택 사항, 기본값 꺼짐)
- 준비된 어두운 색상 구성표를 차트에 적용합니다: 배경, 텍스트, 그리드, 캔들, 바, 선, 거래량 등. 모든 색상을 편집할 수 있습니다.
- 인디케이터를 제거하면 차트의 원래 색상으로 돌아옵니다.
알아 두면 좋은 점
- 모든 감지는 마감된 캔들을 기준으로 합니다. 스윙은 선택한 캔들 수가 지난 뒤에야 확정되므로 신호는 설계상 지연되어 나타납니다.
- 시간대가 차트 시간대보다 낮은 모듈은 그려지지 않습니다. 이유는 Experts 로그의 메시지로 확인할 수 있습니다.
- 로드할 때 인디케이터는 선택한 수의 과거 캔들을 분석하고 히스토리가 로드될 때까지 기다립니다.
- 세션 시간은 브로커 서버 시간으로 입력합니다. 서머타임 자동 변환은 없습니다.
- 모든 것이 차트 객체로 그려집니다. 인디케이터에는 Expert Advisor에서 사용할 버퍼가 없습니다.
- 많은 모듈을 동시에 켜면 낮은 시간대나 긴 히스토리가 차트에 부담을 줄 수 있습니다. 사용하는 것만 켜세요. Clean chart 옵션이 도움이 됩니다.
- 입력 창의 제목("== 1.1 ... ==" 등)은 단지 제목입니다.
- 이것은 분석 도구이며 매매 신호가 아닙니다. 존, 레벨, 컨플루언스가 있다고 해서 가격이 반응한다는 보장은 없습니다.
