UT Bot Scanner
- 지표
-
Evgenii Sutulov
I build trading indicators, strategies, and dashboards that don't repaint.
Seven years doing this. MetaTrader 4, MetaTrader 5, TradingView.
Closed bars only. What you see is what happened.
The bar being formed never changes a published value. - 버전: 1.3
- 업데이트됨: 2 9월 2026
- 활성화: 20
UT Bot Scanner는 하나의 파일에 두 개의 제품이 들어 있습니다. 첫째는 지금 보고 있는 차트에 그려지는 UT Bot MTF 자체입니다. 서 있는 쪽에 따라 색이 바뀌는 ATR 트레일링 스톱과 전환 화살표이며, 단일 차트 제품이 가진 것과 같은 네 개의 선택적 필터를 그대로 갖추고 있습니다.
둘째는 같은 계산을 여러 종목과 여러 타임프레임에 한 번에 돌리는 보드입니다. 보드는 어떤 상품이 언제 전환했는지 알려주고, 그 아래 차트는 트레일링 스톱을 보여줍니다. 표가 찾아낸 것을 실행하기 위해 두 번째 지표를 붙일 필요가 없습니다.
양쪽 절반이 같은 필터를 돌리므로, 무엇을 신호로 볼 것인가에 대해 보드와 차트가 어긋나는 일은 생기지 않습니다.
필터
모든 필터는 꺼진 상태로 출하됩니다. 각각은 시장에 대한 별개의 가설이며 하나씩 따로 켤 수 있습니다. 추세 필터는 상위 타임프레임의 이동평균과 방향이 맞는 신호만 남기며, 타임프레임과 기간과 계산 방식을 모두 직접 고릅니다. 필터가 가진 데이터보다 오래된 신호는 판정하지 않고 그대로 두며, 패널이 그 수를 셉니다.
세션 필터는 GMT 기준 HH:MM으로 지정한 구간 안의 신호만 남깁니다. 브로커의 GMT 오프셋은 직접 입력하거나 서버 시계에서 인식합니다. 변동성 필터는 ATR이 포인트 단위 하한 아래일 때 잡힌 신호를 버립니다. 하한이 0이면 아무것도 거르지 않으며, 패널은 필터가 작동하는 척하지 않고 그 사실을 말합니다. 뉴스 필터는 터미널 자체의 경제 캘린더를 읽어, 지정한 중요도 이상의 이벤트 전후 지정한 분 안의 신호를 버립니다. 캘린더를 쓸 수 없으면 패널이 오류를 이름으로 말합니다.
패널은 어떤 필터가 어떤 설정으로 켜져 있는지를 항상 표시하며, 원본 신호 몇 개 중 몇 개가 남았는지를 한 줄로, 나머지를 어느 필터가 걸렀는지로 나누어 보여줍니다. 켜져 있으나 제 일을 할 수 없는 필터는 자기 줄에서 그 사실을 말합니다.
보드
종목마다 한 행, 스캔하는 타임프레임마다 한 열이며 최대 4열, 최대 28종목입니다. 종목 목록은 쉼표로 구분하거나 Market Watch 목록을 그대로 쓸 수 있습니다. 브로커 접두사와 접미사는 현재 차트에서 인식하거나 직접 지정합니다. 기본값은 M15, H1, H4, D1의 네 개입니다.
셀은 ^14b 형태로 읽습니다. 트레일링 스톱이 어느 쪽에 있는지, 그리고 몇 봉 전에 그쪽으로 전환했는지입니다. flat은 계산이 실행되었으나 구간에서 전환을 찾지 못했다는 뜻입니다. 점 세 개는 아직 측정되지 않은 셀이며, 마우스를 올리면 이유와 ATR 거리를 함께 말해 줍니다. 신선도 기준보다 오래된 전환은 색조는 유지하고 농도를 잃습니다. 신선한 전환이 하나라도 있는 행에는 강조색이 옅게 깔립니다.
AGREE 열은 종목마다 보이는 타임프레임 열을 모아 다수 쪽을 찾아 v3/4 같은 형태로 표시합니다. 방향과, 보이는 타임프레임 중 몇 개가 그쪽에 서 있는지입니다. 완전 일치는 해당 방향의 색으로 굵게 그립니다. 보드가 존재하는 이유가 바로 그 행이기 때문입니다. 동수이면 대시를 표시하며 이는 의도적으로 판정이 아닙니다. 타임프레임이 하나만 보일 때는 옆 셀을 되풀이할 뿐인 1/1을 찍는 대신 열 자체를 없앱니다.
열 머리글은 버튼입니다. 타임프레임 머리글을 누르면 그 열 기준으로 정렬되며 신선한 순서가 위, 아무것도 없는 행이 아래로 갑니다. 다시 누르면 역순입니다. AGREE를 누르면 합의 정도로 정렬되며 완전 합의가 먼저 오고, 같은 개수라면 전원 일치가 부분 일치를 앞섭니다. 활성 머리글에는 강조색과 삼각 표시가 붙습니다. 별도의 Sort 버튼은 freshest, grade, name을 순환합니다.
Show 버튼은 all, buys, sells, fresh를 순환합니다. buys와 sells는 개별 셀이 아니라 AGREE 판정을 따릅니다. 따라서 buys에 보이는 행은 AGREE에서 항상 위쪽 기호를 읽으며, 동수인 행은 어느 쪽에도 나타나지 않습니다. 이것은 계산이 아니라 화면에 대한 필터입니다. 숨겨진 행도 계속 측정되고 알림도 그대로 발생합니다.
표 위의 범례는 표기법을 풀어 주며 끌 수 있습니다. 타임프레임 버튼은 뒤의 측정을 멈추지 않고 열만 보이거나 숨깁니다. 셀을 누르면 클릭마다 창을 여는 대신 현재 차트를 그 종목과 그 타임프레임으로 전환합니다.
표시되는 행 수는 차트 창에 맞춰 조정되며 행 설정값은 상한입니다. 페이지 버튼은 행이 다 들어가지 않을 때만 나타나고, 들어갈 때는 죽은 컨트롤을 그리지 않습니다. 보드는 창이 담을 수 있는 것보다 많은 행을 절대 그리지 않으므로, 행 설정을 아무리 크게 잡아도 페이지 버튼은 항상 화면 안에 있고 항상 누를 수 있습니다.
상태 두 줄은 항상 표시됩니다. 준비된 종목 수와 전체 수, 마지막 갱신 이후 경과 시간, 조회 구간의 신호 수, 그리고 워치독 줄이거나 아무것도 보이지 않는 이유를 설명하는 문장입니다.
진단
기본값이 꺼짐인 두 번째 패널은 "왜 신호가 없는가"에 답합니다. 종목 커버리지, 봉이 부족한 계열과 부족한 양, 구간에서 찾은 신호 수, 그리고 이 지표가 Market Watch에서 켠 종목 수입니다. 측정할 수 없었던 셀은 비워 두지 않고 이유를 설명합니다.
차트 지표
가격 창에 그려집니다. 서 있는 쪽에 따라 색이 바뀌는 트레일링 스톱과 BUY, SELL 화살표입니다. 보드만 쓰고 싶다면 Styles 탭에서 끌 수 있습니다. 이 지표의 타임프레임은 보드가 스캔하는 타임프레임과 별도이며, 추세 필터의 타임프레임과도 또 별도입니다. 후자는 표시 설정이 아니라 필터이기 때문입니다.
설정 시트
톱니바퀴를 누르면 세 개의 탭이 열립니다. Values에는 타임프레임, key value, ATR 기간, Heikin Ashi 소스, 추세 필터와 그 타임프레임 및 MA 길이와 MA 방식, 그리고 ATR 하한을 가진 변동성 필터가 있습니다. 모든 행에 증감 버튼과 허용 범위, 한 문장의 도움말이 붙습니다. 하나를 바꾸면 보드 전체가 다시 계산되며 패널이 진행 상황을 보고합니다.
Alerts에는 마스터 스위치, 이벤트별 스위치, 네 개의 채널, 쿨다운, 테스트 버튼이 있습니다.
Styles에는 범례, 이 차트에 지표를 그릴지 여부, 팔레트, 스톱 선, 화살표, 선 굵기, 화살표 크기, 추세 채움, 선 글로우, 가격 축의 스톱 수준, 그리고 스톱 라벨을 위한 오른쪽 여백이 있습니다. 짝을 이루는 단일 차트 지표가 가진 것과 같은 표시 컨트롤이며 이름도 같습니다. 한쪽에서 맞춘 차트를 다른 쪽에서 그대로 재현할 수 있습니다.
색 구성표는 세 가지이며, 빨강과 초록 대신 파랑과 주황을 쓰는 색맹 안전 구성표가 포함됩니다. 패널 위치, 구성표, 정렬, 필터, 보이는 열, 시트에서 바꾼 모든 값은 차트별로 저장되어 타임프레임 변경과 터미널 재시작을 넘어 유지됩니다. 인터페이스는 영어입니다.
알림
기본값은 꺼짐이며, 마스터 스위치는 패널 위에 있고 그 옆의 Test alert 버튼은 현재 켜져 있는 모든 채널로 발송합니다.
이벤트는 신선한 BUY와 신선한 SELL이며 스캔하는 타임프레임마다 따로 선언됩니다. 여기에 종목이 데이터를 잃거나 되찾을 때 말하는 data health가 더해집니다. 최소 등급 설정이 있으나 이 포트는 등급을 매기지 않으므로 모든 신호가 등급 1로 계산됩니다.
채널은 팝업 창, 소리, 모바일 터미널 푸시, 이메일입니다. 쿨다운은 셀별 이벤트별로 유지되며 기본값은 30분입니다. 여러 종목을 지켜보는 보드는 차트 하나보다 스스로를 되풀이할 기회가 훨씬 많기 때문입니다. Telegram은 이 제품에 포함되지 않습니다.
비용
작업량은 예산으로 관리됩니다. 타이머 한 틱마다 정해진 수의 종목만 갱신하므로, 목록이 길어도 부하가 분산되고 터미널이 멈추지 않습니다. 첫 통과는 점진적으로 진행되며 패널이 측정된 비율을 보고합니다.
EA에서 읽기
차트 지표는 열두 개의 버퍼를 공개하며 모두 iCustom과 CopyBuffer로 읽을 수 있습니다. 버퍼 0 Buy는 BUY 전환 봉에서 화살표 가격을, 그 외에는 EMPTY_VALUE를 담으며 그려지지 않습니다. 버퍼 1 Sell은 SELL 전환에 대해 같습니다. 버퍼 2와 3은 추세 채움의 두 경계입니다. 버퍼 4 Glow는 스톱 선 아래의 더 넓고 옅은 사본이고 버퍼 5는 그 색 인덱스입니다. 버퍼 6 Stop은 트레일링 스톱 수준이고 버퍼 7은 그 색 인덱스입니다. 버퍼 8 BuyMark와 버퍼 9 SellMark는 버퍼 0과 1의 그려지는 사본입니다. 버퍼 10 Signal은 BUY 전환에서 +1, SELL 전환에서 -1, 전환이 없으면 0입니다. 버퍼 11 Atr은 스톱 뒤의 ATR입니다.
이 버퍼들이 보고하는 값에는 필터가 이미 적용되어 있으므로, EA는 사람이 보는 것과 같은 것을 봅니다.
버퍼 0과 1은 EA 계약입니다. 절대 그려지지 않으며, Styles 탭을 어떻게 설정하든 매 통과마다 채워집니다. 따라서 표시 쪽의 어떤 것도 전략에서 신호를 굶길 수 없습니다. 차트에서 보이는 것은 계약과 보조를 맞춘 그려지는 사본입니다. 숨김은 플롯을 그리는 방식을 바꾸는 것으로 처리하며 버퍼를 비우는 방식은 절대 쓰지 않습니다. 그래서 위에 나열한 모든 인덱스는 표시 스위치를 꺼도 iCustom과 CopyBuffer로 계속 읽히고 Data Window에도 계속 보입니다.
이 맵은 스캐너 고유의 것이며 단일 차트 제품인 UT Bot MTF와 같지 않습니다. 그쪽은 채움과 글로우와 스톱이 다른 슬롯에 있고 열다섯 개의 버퍼를 공개합니다. 위 목록을 기준으로 읽으십시오.
보드 자체는 패널이지 버퍼가 아닙니다. 눈으로 읽고 알림으로 받습니다.
출처
이 제품은 TradingView의 "UT Bot Alerts" 포트입니다. 발상은 HPotter의 것이고 알림 변형은 QuantNomad와 Yo_adriiiiaan이 공개했습니다. 스크립트가 공개 게시물이므로 수식에 의한 포팅이 허용되며, 이 구현은 한 줄씩 옮긴 것이 아니라 수식을 작업 명세로 삼아 재구성한 것입니다.
제품이 이 방법의 이름을 쓰는 것은 그것을 구현하기 때문입니다. 원저작물은 저자에게 속하며 여기서 그 저작권을 주장하지 않습니다.
정직한 한계
보드는 마감된 봉을 읽고 셀의 나이도 마감된 봉으로 셉니다. 차트 지표는 그렇지 않습니다. 미완성 봉도 계산하므로, 미완성 봉의 화살표와 스톱 전환이 나타났다가 그 봉이 마감되기 전에 사라질 수 있습니다. 봉이 한 번 마감되면 그 화살표와 스톱 수준은 이후 바뀌지 않습니다.
트레일링 스톱은 트레일링 스톱입니다. 횡보 구간에서는 반복해서 걸리며, 보드에서는 이것이 조용한 한 시간 동안 여러 통화쌍이 동시에 켜진다는 뜻입니다. 전환은 저마다 진짜이고 저마다 나쁜 거래입니다. 필터는 이 때문에 존재하며, 그중 어느 것도 문제를 없애지는 못합니다.
뉴스 필터는 터미널의 경제 캘린더에 의존합니다. 계정이나 브로커에서 쓸 수 없으면 필터는 놀고 있으며, 패널은 조용히 전부 통과시키는 대신 오류를 이름으로 말합니다. 세션 구간을 HH:MM이 아닌 형식으로 주면 세션 필터는 놀게 되고, 패널은 보이지 않게 신호를 버리는 대신 그 사실을 말합니다. 추세 필터는 자신이 가진 상위 타임프레임 데이터보다 오래된 신호를 판정할 수 없으며, 그런 신호는 그대로 두고 수를 셉니다.
AGREE는 타임프레임을 세는 것이지 확률을 추정하지 않습니다. 한 상품에 대한 상관된 네 개의 판독이 일치한 것은 독립적인 네 번의 확인이 아닙니다. 동수는 의도적으로 판정을 내리지 않으며 buys 필터와 sells 필터 양쪽에서 숨겨집니다.
스캔에는 비용이 듭니다. 28종목에 네 개의 타임프레임이면 112개의 셀이고, 추세 필터는 종목마다 상위 타임프레임 계열을 하나씩 더 얹습니다. 낮출 대상은 예산 설정입니다.
여기서 수익 수치, 승률, 백테스트 결과를 주장하지 않습니다.

