Вкратце, как сделать себе красивый dash-board и понакуралесть всяких алертов. Кратко но много картинок :-)
---
вводная - в MetaTrader есть SQLite, в нём можно сохранять данные. А в том большом мире за пределами терминала, средств для визуализации данных воз и маленькая тележка :-)
Одно из самых популярных, известных и доступных - Grafana (https://grafana.com/). Она умеет строить деш-борды (визуализовать данные) и при этом из разных источников, и что немаловажно - имеет программируемые алерты которые можно слать почти куда угодно.
Ставим Grafana
Графану берём на оф.сайте:

не забыв указать что OSS (то есть не Enterprise) и Windows.
следуем официальной-же инструкции, надеюсь читать умеете: https://grafana.com/docs/grafana/latest/setup-grafana/installation/windows/
наверняка пригодится NSSM https://nssm.cc/ у меня так он must-have на любом windows-хосте.
запускаем, первый вход (у grafana кстати броузерный интерфейс и можно потом его наружу высунуть из дали пользоваться)

у меня grafana на 3000 порту, у вас может быть на другом. Не помню точно, отчего у меня 3000 :-) так склалось
Переходим к базам
Самое наверное важное - расположение баз. Так вот лучше их размещать в каталоге COMMON. В FILES только если вы используете волшебный ключик /portable . И лучше чтобы в путях не попадались не-латинские буквы и пробелы.
то есть базы будут лежать в %APPDATA%/MetaQuotes/Terminal/Common/Files . Сделайте там отдельный каталог для порядка и держите базы там.
Используем [COMMON] для того чтобы было проще указывать внешним программам, где лежат данные.
И ещё важный момент - разделение данных. Как-бы и кто не говорил про скорость SQLite, но он файловый и файловые блокировки его затормаживают. Поэтому лучше разделять данные на те которые часто изменяются (где частые DELETE/REPLACE) и имеют ограниченный объём и все остальные (те которые могут быть большими, постоянно дополняются, но потом изменяются редко).
В первую группу попадают всякие оперативные данные, стейты, текущие цены и такое подобное. Эту группу лучше держать в отдельных базах и вообще на RAM-диске. То есть сделать доп.каталог например RAM и перенаправить его на ram-disk. Бекап-рестор при включении/выключении доверить скриптам или опциям софта рам-диска.
Во вторую история чего-бы то ни было, логи, журналы. Просто большие данные. Лежат как положится. На рам-диск они уже не влезают. Но из-за того что REPLACE/DELETE там редкий, работать будут нормально.
Такого раздела боятся не надо, всегда в SQL можно дать команды : ATTACH (https://www.sqlite.org/lang_attach.html) и работать с двумя базами как с одной общей схемой.
Пишем данные
Уже можете набрасывать свои данные, или можете воспользоваться готовым сервисом : https://www.mql5.com/ru/market/product/127036 (для демок, тестов это бесплатно. для реала чуть дороже) )
SyncDB следуя вышеуказанным рекомендациям пишет две базы :
* db/{server}.{account}.history.db - торговая история в стиле mt4
* db/ram/ {server}.{account}.trade.db - текущая ситуация, открытые ордера/позы и цены. Попадает на рам-диск
сразу можно проверить, запустить сервис, открыть любой SQL-тулз и посмотреть. Я использую dbeaver :

котировочки идут, если указать Refresh то прямо даже красиво обновляются :-)
тут-же можно посмотреть что с прочими таблицами/базами
Возвращаемся в Grafana
В меню Connections ищём SQLite (а там много всего, придётся поискать)
найдя SQLite нажимаем кнопочку Install Plugin (один раз)
и затем Add Connection. Остаётся только придумать разумное имя и указать ПОЛНЫЙ_ПУТЬ_К_БАЗЕ_ДАННЫХ, без кавычек.

базы у нас две и соединений будет два. Сначала одно, потом второе
дальше идём на вкладку Explore и начинаем строить всякие запросы к данным. Когда результат понравится - нажимаем кнопку Add и добавляем в деш-борд
запрос который на скриншоте можете скопи-пастить, это профит/лосс по счёту, он-же почти график баланса (если в WHERE добавить 'BALANCE' будет совсем он)
SELECT unixepoch(closeTime) as time, SUM(profit+swap+commission) OVER ( ORDER BY closeTime ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) as pl FROM History WHERE type in ('BUY','SELL')
как надоест, можно переходить в деш-борды, расставлять плитки по вкусу, оформлять графики/таблицы.
И так постепенно получается средство для мониторинга своих счетов. Почти мини-терминал, но с компонентами на свой вкус.
Что-то многовато картинок получилось :-) Но по другому наверное и не получится, там всё мышкой тыкается, ничего писать ненадо, только настройки
И картинка на затравку :-)






