- Ошибка в терминале приводящая к ERR_HISTORY_NOT_FOUND
- Подскажите, как лучше сохранить массивы на жестком диске?
- Сохранение важных текущих значений в программе на случай сбоя
Для этого необходимо как-то эти самые логи терминала читать. В файлах логирования информация записывается с огромной задержкой (раз в сутки при смене даты).
Логи можно читать только посредством WinAPI: обращение к элементу управления ListView. Но это тоже не очень хороший вариант, т. к.:
1. Не все записи попадают в логи на закладке (в файл пишется все).
2. Зависит от того, как реализован этот элемент управления в конкретном билде терминала (в другом может быть что-то изменено).
Таким образом, искать решение проблемы нужно в какой-то другой плоскости. Читать логи - плохая идея.
Логи можно читать только посредством WinAPI: обращение к элементу управления ListView. Но это тоже не очень хороший вариант, т. к.:
1. Не все записи попадают в логи на закладке (в файл пишется все).
2. Зависит от того, как реализован этот элемент управления в конкретном билде терминала (в другом может быть что-то изменено).
Таким образом, искать решение проблемы нужно в какой-то другой плоскости. Читать логи - плохая идея.
Мне требуется читать только те логи, которые отображаются во вкладках.
Есть ли где-то примеры как это делается с помощью API (ListView)? Думаю, что при наличии какого-то рабочего примера чтения с остальной разработкой разберусь самостоятельно.
Чтение логов - это то, что я ежедневно глазками делаю. Когда счетов с пару десятков - это занимает до 10 минут времени ежедневно. И если бы я смог собрать последние несколько строк логов из каждого терминала в одном текстовом файле, то это время могло бы сократиться раз в 10 минимум, так как при нормальной работе на всех терминалах логи выглядят примерно одинаково. И только в случае каких-либо проблем логи на каком-то терминале будут выбиваться из общей толпы.
...
Чтение логов - это то, что я ежедневно глазками делаю. Когда счетов с пару десятков - это занимает до 10 минут времени ежедневно. И если бы я смог собрать последние несколько строк логов из каждого терминала в одном текстовом файле, то это время могло бы сократиться раз в 10 минимум, так как при нормальной работе на всех терминалах логи выглядят примерно одинаково. И только в случае каких-либо проблем логи на каком-то терминале будут выбиваться из общей толпы.
А не пробовали написать bat файл, который сначала нарастит дату на сутки (утилитой date), подождет секунд 5, чтобы логи сбросились на диск, соберет из них последние N строк в один файл, затем вернет дату назад?
Если сброс логов на диск делается при изменении даты, должно сработать. Если нужно еще и время подходящее, есть утилита time. Если терминалам не понравится время последней модификации лог-файлов, есть утилита touch.exe происхождением из Unix.
А не пробовали написать bat файл, который сначала нарастит дату на сутки (утилитой date), подождет секунд 5, чтобы логи сбросились на диск, соберет из них последние N строк в один файл, затем вернет дату назад?
Если сброс логов на диск делается при изменении даты, должно сработать. Если терминалам не понравится время последней модификации лог-файлов, есть утилита touch.exe происхождением из Unix.
Есть проверенный способ. Объем буфера вывода конечен. Забиваем всякой хренью лог, пока он не разродится.
Это все не правильно.
Правильно - поставить задачу. А, написать средствами MQL программу, собирающую интересующую информацию, нет проблем.
А не пробовали написать bat файл, который сначала нарастит дату на сутки (утилитой date), подождет секунд 5, чтобы логи сбросились на диск, соберет из них последние N строк в один файл, затем вернет дату назад?
Если сброс логов на диск делается при изменении даты, должно сработать. Если нужно еще и время подходящее, есть утилита time. Если терминалам не понравится время последней модификации лог-файлов, есть утилита touch.exe происхождением из Unix.
Весьма оригинальное и хитроумное решение! Надо бы подумать над этим.
Конечно же самым простым была бы реализация возможности задавать в самом терминале МТ4 частоту сброса логов в файл. Либо через сам интерфейс терминала, либо ещё лучше программно - через вызов какой-нибудь функции языка MQL4. Но тут уже помощь разработчиков требуется. Но их ответ уже заранее известен. Им же конечно лучше знать чего требуется от их продукта пользователям, чем самим пользователям?
А не пробовали написать bat файл, который сначала нарастит дату на сутки (утилитой date), подождет секунд 5, чтобы логи сбросились на диск, соберет из них последние N строк в один файл, затем вернет дату назад?
Если сброс логов на диск делается при изменении даты, должно сработать. Если нужно еще и время подходящее, есть утилита time. Если терминалам не понравится время последней модификации лог-файлов, есть утилита touch.exe происхождением из Unix.
Надо просто научиться читать чужой не закрытый файл. Делов-то...
Есть проверенный способ. Объем буфера вывода конечен. Забиваем всякой хренью лог, пока он не разродится.
Это все не правильно.
Правильно - поставить задачу. А, написать средствами MQL программу, собирающую интересующую информацию, нет проблем.
Есть ли где-то примеры как это делается с помощью API (ListView)? Думаю, что при наличии какого-то рабочего примера чтения с остальной разработкой разберусь самостоятельно.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования