Execution Quality Logger
- Утилиты
-
Ganzorig Munkhbayar
Test - Версия: 1.0
- Активации: 5
Утилита, которая измеряет, как брокер исполняет ваши ордера. Прикрепите её к любому одному графику: она отслеживает каждую сделку на торговом счёте - ордера всех советников, ручные сделки из настольного, веб- или мобильного терминала, срабатывания стоп-лосса и тейк-профита - и записывает для каждого исполнения, что было запрошено и что получено. Она никогда не открывает, не изменяет и не закрывает сделки на реальном счёте.
Что записывается для каждого исполнения
- Запрошенная цена - цена ордера (для отложенного ордера его уровень; для исполнения по стоп-лоссу / тейк-профиту - уровень стопа или цели, который был у позиции).
- Котировка на момент ордера - многие серверы («рыночное исполнение») не хранят запрошенную цену рыночного ордера. Тогда эталоном служит рыночная котировка (ask для покупки, bid для продажи), действовавшая, когда сервер зарегистрировал ордер, взятая из истории тиков терминала; каждое исполнение указывает, какой эталон использован («vs requested» или «vs quote»).
- Цена исполнения и проскальзывание относительно эталона в пунктах и в валюте счёта, со знаком: + в вашу пользу, - против вас.
- Задержка исполнения в миллисекундах: от момента регистрации ордера торговым сервером до момента сделки.
- Спред в пунктах в момент, когда терминал получил сообщение об исполнении.
- Символ, направление, объём, вход или выход, причина (советник, вручную, мобильный, веб, стоп-лосс, тейк-профит, стоп-аут), тип ордера, магический номер, тикеты сделки / ордера / позиции, комментарий.
Где это видно
- Панель на графике, одна строка на символ: исполнения, исполнения с известной запрошенной ценой, среднее / медианное / худшее проскальзывание, доля неблагоприятных исполнений, чистое проскальзывание в валюте счёта, средняя задержка, средний спред при исполнении.
- Файл CSV, одна строка на исполнение: MQL5\Files\ExecQualityLogger\fills_<account>.csv (откройте в любой программе электронных таблиц).
- Журнал: одна строка на исполнение (по желанию) и одна итоговая строка на каждый торговый день сервера с исполнениями.
- Оповещения (по желанию): окно и / или push-уведомление, когда неблагоприятное проскальзывание или задержка одного исполнения достигает вашего предела - не чаще одного каждого вида в минуту; каждое оповещение записывается и в журнал.
- При запуске она читает историю счёта за последние History_Days дней в панель и CSV, так что новый график сразу получает данные.
Чего она не может - прочтите, пожалуйста
- Нет запрошенной цены. Многие серверы («рыночное исполнение») не хранят цену, запрошенную ордером; тогда утилита показывает requested n/a - никогда не выдуманный 0 - и измеряет относительно котировки на момент ордера, с явной пометкой (это отключается параметром Quote_When_No_Request). Котировка - последний тик, который есть у терминала на этот момент или раньше; котировку, которую сервер не прислал, она видеть не может. У закрытия встречной позицией (close-by) эталона нет вообще (n/a).
- Задержка измеряется по меткам времени самого сервера. Она не включает сетевое время между вашим терминалом и сервером (см. пинг в строке состояния терминала) и время, за которое ваш советник принял решение. Для отложенного ордера задержка - n/a (его время установки - момент выставления).
- Спред - котировка, которая была у терминала при получении сообщения об исполнении; для исполнений, прочитанных из истории (сделанных, когда терминал или утилита не работали), это n/a.
- Проскальзывание отложенного ордера измеряется относительно его уровня: лимитный ордер исполняется только по своему уровню или лучше, стоп-ордер - по своему уровню или хуже.
- Файл CSV растёт с каждым исполнением; старые файлы перемещайте или удаляйте сами.
- Одна утилита на счёт в одном терминале; второй график с ней ждёт и берёт работу на себя, если первый закрыт.
- Тестер стратегий: одна в тестере утилита ничего не измеряет, поэтому там (и только там) она открывает одну позицию минимального объёма в день со стоп-лоссом, закрывает её через 6 часов и записывает эти исполнения (Tester_Demo). Тестер исполняет по идеальным ценам: его цифры ничего не говорят ни о каком брокере.
- Она измеряет; она не меняет то, как исполняются ваши ордера, и не может сделать прибыльной никакую стратегию.
Входные параметры
- Magic_Filter (-1) - записывать только исполнения с этим магическим номером; -1 = все исполнения (все советники и ручные).
- Symbol_Filter (пусто) - записывать только эти символы, например EURUSD;XAUUSD ; пусто = все символы.
- History_Days (7) - при запуске прочитать столько дней истории счёта; 0 = выкл. (У исполнений из истории нет спреда и эталона-котировки.)
- Quote_When_No_Request (true) - если брокер не хранит запрошенную цену, измерять относительно котировки на момент поступления ордера на сервер; false = n/a.
- Show_Panel (true), Panel_X (10), Panel_Y (30), Panel_Font_Size (8) - панель.
- Write_CSV (true) - одна строка CSV на исполнение.
- Print_Each_Fill (true) - одна строка журнала на исполнение.
- Daily_Summary (true) - одна строка журнала на каждый день сервера с исполнениями.
- Alert_Adverse_Points (0 = выкл.) - оповещение, когда неблагоприятное проскальзывание одного исполнения достигает стольких пунктов.
- Alert_Latency_Ms (0 = выкл.) - оповещение, когда задержка одного исполнения достигает стольких миллисекунд.
- Alert_Popup (true), Alert_Push (false) - как показываются оповещения. Для push-уведомлений нужен MetaQuotes ID в Сервис - Настройки - Уведомления, а компьютер с терминалом должен быть в сети.
- Tester_Demo (true) - только в тестере стратегий: демонстрационная сделка, описанная выше.
Без DLL, без веб-запросов. Все тексты на английском языке.
