UT Bot MTF
- 지표
-
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
UT Bot MTF는 ATR 기반 추적 손절선과 그것이 만들어 내는 전환 신호입니다. 손절선은 선택한 ATR 배수만큼 떨어진 거리에서 가격을 따라가며, 움직임 방향으로만 당겨지고 한 번 나아간 자리를 되돌려 주지 않습니다. 가격이 손절선을 뚫고 종가를 확정하면 손절선은 반대편으로 넘어가고, 지표는 BUY 또는 SELL을 표시합니다.
엔진은 이것이 전부이며 일부러 단순하게 두었습니다. 이 제품이 그 주위에 더한 것은 실제로 쓸 수 있는지를 결정하는 부분입니다. 서로 독립적인 네 개의 필터, 각 필터가 무엇을 버렸는지에 대한 정직한 보고, 그리고 현재 봉의 신호가 이미 확정된 것처럼 꾸미지 않는 패널입니다.
원한다면 전체 계산을 실제 종가가 아니라 헤이킨 아시(Heikin Ashi) 종가에서 측정할 수 있습니다. 그러면 전환은 더 드물어지고 더 늦게 나옵니다.
네 개의 필터
모든 필터는 꺼진 상태로 제공됩니다. 각각은 시장에 대한 서로 다른 가설이며, 하나만 켤 수도 있습니다. 추세 필터는 상위 시간대 이동평균의 방향과 일치하는 신호만 남깁니다. 시간대, 기간, 계산 방식은 모두 사용자가 고릅니다. 필터 자신의 데이터보다 오래된 신호는 판정하지 않고 그대로 두며, 그 개수를 패널이 알려 줍니다.
세션 필터는 GMT 기준 HH:MM 형식으로 지정한 시간대 안의 신호만 남깁니다. 브로커의 GMT 오프셋은 직접 입력하거나 서버 시계에서 감지할 수 있습니다. 변동성 필터는 ATR이 포인트로 지정한 하한보다 낮은 동안 나온 신호를 버립니다. 하한이 0이면 아무것도 버리지 않으며, 패널은 필터가 작동하는 척하지 않고 그 사실을 그대로 씁니다. 뉴스 필터는 지정한 중요도 이상인 경제 캘린더 이벤트 전후 지정한 분 이내의 신호를 버립니다. 참조 대상은 터미널 자체의 캘린더입니다. 캘린더를 쓸 수 없으면 패널은 조용히 전부 통과시키는 대신 오류를 이름 그대로 표시합니다.
패널은 어떤 필터가 어떤 설정으로 켜져 있는지를 항상 표시하고, 원신호 몇 개 중 몇 개가 통과했는지를 나머지를 어떤 필터가 걸렀는지의 내역과 함께 한 줄로 보여 줍니다. 켜져 있으나 제 일을 할 수 없는 필터는 자기 줄에서 그렇다고 밝힙니다.
차트에 보이는 것
현재 어느 쪽에 있는지에 따라 색이 정해지는 추적 손절선. 그 아래에는 선택 사항으로 같은 선의 더 굵고 흐린 사본을 깔 수 있어, 복잡한 차트에서도 한눈에 읽힙니다. 선택 사항으로 손절선과 가격 사이의 음영 채움. 전환 봉에 붙는 BUY와 SELL 화살표. 그리고 선택 사항으로 현재 손절 수준을 가격 축 위의 태그로 표시할 수 있어 눈대중으로 재지 않아도 됩니다. 모든 그리기는 가격 창 안에서 이루어집니다.
패널
가격 차트 위의 캔버스 패널로 끌어 옮기고, 접고, 닫을 수 있습니다. 적용 중인 시간대, 실제로 쓰이는 key value와 ATR 기간, Heikin Ashi 사용 여부를 보여 줍니다. 마지막으로 마감된 봉의 결과, 즉 BUY 전환, SELL 전환, 전환 없음 가운데 하나를 알려 줍니다. 현재 봉의 상태는 해당하는 동안 경고색으로 표시됩니다. 현재 봉에 BUY가 형성 중이며 아직 사라질 수 있다는 줄, SELL에 대한 같은 줄, 또는 마감된 봉만 사용하며 신호는 마감 시점에 나타난다는 줄 가운데 하나입니다. 조기 알림이 켜져 있는지, 마감 몇 초 전에 울리는지도 알려 줍니다. 위에서 설명한 필터 블록을 담고 있으며, 켜진 필터가 없으면 이 블록은 침묵합니다. 그리고 숫자가 속성 창에서 온 것인지 패널에서 온 것인지, 몇 개가 바뀌었는지도 알려 줍니다.
그 아래에는 패널에서 움직일 수 있는 설정이 현재 값과 함께 놓여 있습니다. 톱니바퀴는 세 개의 탭으로 된 시트를 엽니다. Values 탭은 시간대, key value, ATR 기간, Heikin Ashi 소스, 현재 봉 신호, 추세 필터와 그 시간대, MA 길이와 MA 방식, 그리고 변동성 필터와 그 ATR 하한을 다루며, 각 줄에는 증감 버튼과 허용 범위, 한 문장짜리 설명이 있습니다. Alerts 탭은 마스터 스위치, 이벤트별 스위치, 네 개의 채널, 분 단위 대기 시간, 테스트 알림을 다룹니다. Styles 탭은 팔레트, 채움, 광채, 선, 화살표, 선 굵기, 화살표 크기, 가격 축 태그를 다루며 겉모습만 바꿉니다.
색 구성표는 세 가지입니다. 어두운 것, 밝은 것, 그리고 파랑과 주황을 써서 빨강과 초록을 맞세우지 않는 색각 이상 대응 구성표입니다. 패널 상태와 시트에서 바꾼 모든 값은 차트별로 저장되어 시간대 변경과 터미널 재시작을 넘어 유지됩니다. 인터페이스는 영어입니다.
형성 중인 봉의 신호
입력 파라미터와 Values 탭 양쪽에, 아직 마감되지 않은 봉에 버퍼와 화살표를 쓸 수 있는지를 결정하는 스위치가 있습니다. 켜진 상태로 제공되며, 켜져 있는 동안 패널이 경고색으로 계속 그 사실을 알립니다. 켜져 있으면 시장이 전환한 그 순간에 전환이 보이지만, 봉이 마감되기 전에 그 전환이 취소되어 화살표가 사라지는 경우도 있습니다. 꺼져 있으면 형성 중인 봉에는 아무것도 쓰이지 않습니다. 다시 그려지는 일이 없는 대신, 모든 신호는 구조상 한 봉 늦게 도착합니다. 제품은 사용자를 대신해 고르지 않고, 어느 모드로 동작하는지 감추지도 않습니다.
알림
기본 상태에서는 울리지 않습니다. 이벤트는 BUY 신호와 SELL 신호입니다. 채널은 팝업 창, 소리, 모바일 터미널 푸시, 이메일이며, 이벤트별 및 채널별 스위치와 기본값 두 시간의 대기 시간이 있습니다.
알림은 마지막으로 마감된 봉에서 발생합니다. 기본적으로 꺼져 있는 알림이 두 개 더 있어, 형성 중인 봉에서 그리고 마감까지 지정한 초 이내에만 울립니다. 어느 모드에 있는지는 패널이 분명히 밝히므로 사용자가 짐작할 필요가 없습니다. Telegram은 이 제품에 포함되지 않습니다.
멀티 타임프레임
Timeframe 설정은 상위 시간대에서 계산하고 그 결과를 여기에 그립니다. 마감된 상위 봉만 읽으므로, 차트의 한 봉에는 그 봉의 시각까지 이미 마감되어 있던 가장 최근의 상위 봉이 대응합니다. 이것은 추세 필터의 시간대와는 별개입니다. 그쪽은 필터이지 표시 설정이 아닙니다.
외부 시계열은 백그라운드에서 만들어집니다. 첫 읽기가 비어 돌아올 수 있으나 지표는 다시 시도하며, 다운로드를 기다리는 중인지 과거 데이터가 부족한 것인지를 패널이 알려 줍니다. 봉이 없다는 이유로 초기화에 실패하는 일은 없습니다.
EA에서 읽기
버퍼는 열다섯 개이며 모두 iCustom과 CopyBuffer로 읽을 수 있습니다. 버퍼 0 Buy는 BUY 전환 봉에서 화살표 가격을, 그 밖에는 EMPTY_VALUE를 담으며 그려지지 않습니다. 버퍼 1 Sell은 SELL 전환에 대해 같습니다. 버퍼 2와 3은 추세 채움의 두 경계이고, 버퍼 4와 5는 선 광채의 두 경계입니다. 버퍼 6과 7은 그려지는 추적 손절선으로 각각 상승 방향과 하락 방향입니다. 버퍼 8 BuyMark와 버퍼 9 SellMark는 버퍼 0과 1의 그려지는 사본입니다. 버퍼 10 Stop은 추적 손절 수준이고 버퍼 11은 그 색 인덱스입니다. 버퍼 12 Signal은 BUY 전환에서 +1, SELL 전환에서 -1, 전환이 없으면 0입니다. 버퍼 13 Override는 패널에서 바뀐 설정의 개수입니다. 버퍼 14 Atr는 손절선의 근거가 되는 ATR입니다.
버퍼 0과 1은 계약에 해당합니다. 절대 그려지지 않고, Styles 탭이 무엇을 보여 주든 매 패스마다 채워지며, 데이터 창에도 나타납니다. 화살표나 채움, 선을 숨겨도 전략이 신호를 잃는 일은 없습니다. 계약에는 필터가 이미 적용되어 있으므로, 버퍼 0을 읽는 EA는 사람이 차트에서 보는 것과 같은 신호를 봅니다.
iCustom으로 만든 인스턴스는 읽기 전용이며 항상 전달한 파라미터를 사용합니다. 버퍼 13을 통해 전략은 차트 인스턴스가 손으로 바꾼 값으로 돌아가고 있음을 알아낼 수 있습니다.
출처
이 제품은 TradingView의 "UT Bot Alerts"를 옮긴 것입니다. 착상은 HPotter의 것이고, 알림 변형은 QuantNomad와 Yo_adriiiiaan이 공개했습니다. 스크립트가 공개되어 있어 수식에 따른 이식이 허용되며, 여기 구현은 줄 단위 번역이 아니라 수식을 작업 명세로 삼아 재구성한 것입니다.
제품이 기법의 이름을 쓰는 이유는 구현하는 것이 바로 그 기법이기 때문입니다. 원 저작물은 그 저자들의 것이며, 여기서 그에 대한 저작자 지위를 주장하지 않습니다.
정직한 한계
형성 중인 봉의 신호가 켜져 있으면, 그리고 그것이 출고 기본값입니다, 현재 봉의 화살표는 그 봉이 마감되기 전에 사라질 수 있습니다. 해당할 때마다 패널이 경고색으로 그 사실을 알립니다. 이 설정을 끄면 형성 중인 봉에는 아무것도 쓰이지 않습니다. 마감된 봉은 어느 모드에서도 바뀌지 않습니다.
추적 손절선은 어디까지나 추적 손절선입니다. 횡보장에서는 거듭 걸리며, 그 하나하나가 실제 전환이면서 동시에 나쁜 거래가 됩니다. 필터가 존재하는 이유가 바로 이것이지만, 어느 필터도 이 문제를 없애지는 못하고 마주치는 빈도를 줄일 뿐입니다.
뉴스 필터는 터미널의 경제 캘린더에 의존합니다. 사용하시는 계좌나 브로커에서 캘린더를 쓸 수 없으면 필터는 쉬는 상태가 되고 패널이 오류를 이름 그대로 표시합니다. 작동하는 척하며 조용히 전부 통과시키지 않습니다. HH:MM이 아닌 형식으로 지정한 세션 구간은 세션 필터를 쉬는 상태로 두며, 패널이 그 사실을 알립니다. 보이지 않는 이유로 신호를 버리지 않습니다. 추세 필터는 자신이 가진 상위 시간대 데이터보다 오래된 신호를 판정할 수 없습니다. 그런 신호는 그대로 두고 패널이 개수를 셉니다.
여기에서는 수익 금액도, 승률도, 백테스트 결과도 주장하지 않습니다.

