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. Смещение GMT брокера задаётся вручную либо определяется по часам сервера. Фильтр волатильности отбрасывает сигналы, взятые при ATR ниже порога в пунктах; нулевой порог не отбрасывает ничего, и панель об этом прямо пишет вместо того, чтобы делать вид, что фильтр работает. Фильтр новостей отбрасывает сигналы в заданном числе минут до и после события экономического календаря не ниже заданной важности, читая календарь самого терминала. Если календарь недоступен, панель называет ошибку, а не пропускает молча всё подряд.
Панель постоянно печатает, какие фильтры включены и с какими настройками, и строку о том, сколько сигналов пропущено из скольких сырых, с разбивкой по тому, какой фильтр отсеял остальные. Фильтр, который включён, но не может делать свою работу, говорит об этом отдельной строкой.
Что видно на графике
Линия трейлинг-стопа в цвете стороны, на которой она сейчас находится. Под ней, по желанию, более широкая и приглушённая копия той же линии, чтобы её было видно на насыщенном графике. По желанию заливка между стопом и ценой. Стрелки BUY и SELL на переворотах. И, по желанию, действующий уровень стопа отдельной меткой на ценовой шкале, чтобы его не приходилось отмерять глазом. Всё рисуется в ценовом окне.
Панель
Панель на канвасе в ценовом окне: перетаскивается, сворачивается, закрывается. Она показывает действующий таймфрейм, реально применяемые key value и период ATR, а также включён ли Heikin Ashi. Она сообщает итог последнего закрытого бара: переворот в покупку, переворот в продажу или переворота нет. Она показывает состояние текущего бара предупреждающим цветом, пока оно актуально: либо что на текущем баре формируется BUY и он ещё может исчезнуть, либо ту же строку для SELL, либо что в работе только закрытые бары и сигнал появится на закрытии. Она сообщает, включены ли ранние алерты и за сколько секунд до закрытия они говорят. Она несёт описанный выше блок фильтров, который молчит, когда ни один не включён. И она сообщает, откуда взяты числа, из окна свойств или с панели, и сколько из них изменено.
Ниже расположены настройки, доступные с панели, с их текущими значениями. Шестерёнка открывает лист из трёх вкладок. Вкладка «Значения» охватывает таймфрейм, key value, период ATR, источник Heikin Ashi, сигналы на текущем баре, фильтр тренда с его таймфреймом, длиной и методом средней, а также фильтр волатильности с порогом ATR; у каждой строки есть шаговые кнопки, диапазон и пояснение. Вкладка «Алерты» охватывает общий выключатель, переключатели событий, четыре канала, паузу в минутах и тестовый алерт. Вкладка «Стиль» охватывает палитру, заливку, свечение, линию, стрелки, толщину линии, размер стрелок и метку на ценовой шкале и меняет только внешний вид.
Три схемы оформления: тёмная, светлая и дальтоническая на синем с оранжевым, где красный с зелёным не встречаются. Состояние панели и все правки листа хранятся отдельно для каждого графика и переживают смену таймфрейма и перезапуск терминала. Интерфейс английский.
Сигналы на формирующемся баре
Есть переключатель, и во входных параметрах, и во вкладке «Значения», разрешающий писать буферы и стрелки на ещё не закрывшемся баре. В поставке он включён, и панель сообщает об этом предупреждающим цветом всё время, пока он включён. Когда он включён, переворот виден сразу, как только рынок его сделал, и иногда он отменяется до закрытия бара вместе со стрелкой. Когда он выключен, на формирующемся баре не пишется вообще ничего: перерисовки нет, но каждый сигнал по построению приходит на бар позже. Продукт не выбирает за трейдера и не скрывает, в каком режиме работает.
Алерты
Из коробки молчат. События: сигнал BUY и сигнал SELL. Каналы: всплывающее окно, звук, пуш на мобильный терминал и почта, с переключателями по событиям и по каналам и паузой, по умолчанию два часа.
Алерты срабатывают по последнему закрытому бару. Ещё два, по умолчанию выключенные, говорят на формирующемся баре и только в заданном окне секунд до закрытия, причём панель прямо указывает, в каком режиме вы находитесь, а не оставляет это на догадки. Telegram в продукт не входит.
Мультитаймфрейм
Настройка «Таймфрейм» считает на старшем периоде и рисует результат здесь. Читаются только закрытые старшие бары, поэтому бару графика соответствует самый свежий старший бар, успевший закрыться к его времени. Это отдельная вещь от таймфрейма фильтра тренда: тот является фильтром, а не настройкой отображения.
Чужой ряд строится в фоне. Первое обращение к нему может вернуть пустоту; индикатор повторяет попытку, а панель сообщает, ждёт он загрузку или упёрся в нехватку истории. Из-за отсутствия баров инициализация не срывается.
Чтение из советника
Пятнадцать буферов, и все читаются через iCustom и CopyBuffer. Буфер 0, Buy, несёт цену стрелки на баре переворота в покупку и EMPTY_VALUE в остальных случаях, и он не рисуется. Буфер 1, Sell, то же самое для переворота в продажу. Буферы 2 и 3 это две границы заливки тренда, буферы 4 и 5 это две границы свечения линии. Буферы 6 и 7 это рисуемая линия стопа, вверх и вниз. Буфер 8, BuyMark, и буфер 9, SellMark, это рисуемые копии буферов 0 и 1. Буфер 10, Stop, это уровень трейлинг-стопа, а буфер 11 это индекс его цвета. Буфер 12, Signal, равен +1 на перевороте в покупку, -1 на перевороте в продажу и 0, когда переворота нет. Буфер 13, Override, считает, сколько настроек изменено с панели. Буфер 14, Atr, это ATR, на котором построен стоп.
Буферы 0 и 1 это контракт: они не рисуются никогда, заполняются на каждом проходе независимо от вкладки «Стиль» и видны в окне данных. Выключенные стрелки, заливка или линия не оставят стратегию без сигнала. Фильтры к контракту уже применены, поэтому советник, читающий буфер 0, видит те же сигналы, что человек видит на графике.
Экземпляр, созданный через iCustom, работает только на чтение и всегда использует переданные параметры. Буфер 13 позволяет стратегии обнаружить, что экземпляр на графике считается по вручную изменённым числам.
Происхождение
Это порт индикатора «UT Bot Alerts» с TradingView: идея принадлежит HPotter, вариант с алертами опубликован QuantNomad и Yo_adriiiiaan. Скрипт опубликован открыто, что делает порт по формулам допустимым; здесь реализация реконструирована по формулам как рабочая спецификация, а не переведена построчно.
Продукт носит имя метода потому, что именно его и реализует. Оригинальная работа принадлежит её авторам, и авторство на неё здесь не заявляется.
Честные ограничения
Со включёнными сигналами на формирующемся баре, а так продукт и поставляется, стрелка на текущем баре может исчезнуть до его закрытия. Панель сообщает об этом предупреждающим цветом каждый раз, когда это актуально. Выключите настройку, и на формирующемся баре не будет писаться ничего. Закрытые бары не меняются ни в одном из режимов.
Трейлинг-стоп остаётся трейлинг-стопом. В боковике его будут выбивать раз за разом, и каждый такой случай будет настоящим переворотом и плохой сделкой. Фильтры существуют именно из-за этого, и ни один из них проблему не устраняет: они лишь снижают частоту встреч с ней.
Фильтр новостей зависит от экономического календаря терминала. Если календарь недоступен на вашем счёте или у вашего брокера, фильтр простаивает, и панель называет ошибку. Он не пропускает молча всё подряд, изображая работу. Окно сессии, заданное не в формате ЧЧ:ММ, оставляет фильтр сессии простаивающим, и панель об этом пишет, вместо того чтобы отсеивать сигналы по невидимой причине. Фильтр тренда не может судить сигналы старше имеющихся у него данных старшего таймфрейма; такие сигналы он оставляет нетронутыми, а панель их считает.
Никакой доходности, процента прибыльных сделок и результатов тестов здесь не заявлено.

