Linux Ubuntu Metatrader5 Wine - работа функции ChartScreenShot

 

Доброго дня пользователям Метатрейдера на линуксе через Wine. 
Такой вопрос - хочу периодически слать скриншоты графиков терминала в телеграм - для этого необходимо сохранять скриншоты на компьютер с помощью функции ChartScreenShot.

И затем с помощью 

bot.SendPhoto(screen_id, _chat_id, filename, msg);

Отправлять это в канал/чат. 

При попытки воспроизвести пример, указанный в функции ChartScreenShot создаётся файл, но он пустой. Ошибки при этом функция не возвращает - всё проходит как будто штатно. В терминале на винде таких проблем нету. 
Сталкивался кто то с таким? Может кто сможет воспроизвести пример из функции ChartScreenShot и посмотреть, работает ли у вас?

Документация по MQL5: Операции с графиками / ChartScreenShot
Документация по MQL5: Операции с графиками / ChartScreenShot
  • www.mql5.com
ChartScreenShot - Операции с графиками - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
qadexys:

Доброго дня пользователям Метатрейдера на линуксе через Wine. 
Такой вопрос - хочу периодически слать скриншоты графиков терминала в телеграм - для этого необходимо сохранять скриншоты на компьютер с помощью функции ChartScreenShot.

И затем с помощью 

Отправлять это в канал/чат. 

При попытки воспроизвести пример, указанный в функции ChartScreenShot создаётся файл, но он пустой. Ошибки при этом функция не возвращает - всё проходит как будто штатно. В терминале на винде таких проблем нету. 
Сталкивался кто то с таким? Может кто сможет воспроизвести пример из функции ChartScreenShot и посмотреть, работает ли у вас?

Проверил, bmp и png создаются нормально, проблема только с gif. Файл создаётся длиной 24 байта, содержимое:

00000000 47 49 46 3839 61 2C 012C 01 77 0000 2C 00 0000 00 2C 012C 01 00 3B │

совпадает на двух различных системах:

Ubuntu 18.04

2023.11.07 13:26:45.103 Terminal        Открытие Брокер x64 build 3802 started for АО ''Открытие Брокер''
2023.11.07 13:26:45.104 Terminal        Windows 10 build 18362 on Wine 8.5 Linux 5.4.0-109-generic, 3 x Intel Xeon E312xx (Sandy Bridge), AVX, 4 / 5 Gb memory, 0 / 29 Gb disk, GMT+3

Debian12

2023.11.02 18:20:23.685 Terminal        MetaTrader 5 x64 build 4052 started for MetaQuotes Software Corp.
2023.11.02 18:20:23.685 Terminal        Windows 11 build 22000 on Wine 8.19 Linux 6.1.0-13-amd64, 1 x Intel Xeon E312xx (Sandy Bridge), AVX, 1 / 1 Gb memory, 34 / 39 Gb disk, GMT+3

При попытке открыть файл Xfimage говорит, что не может, возможно, файл повреждён.

 
qadexys:

Доброго дня пользователям Метатрейдера на линуксе через Wine. 
Такой вопрос - хочу периодически слать скриншоты графиков терминала в телеграм - для этого необходимо сохранять скриншоты на компьютер с помощью функции ChartScreenShot.

И затем с помощью 

Отправлять это в канал/чат. 

При попытки воспроизвести пример, указанный в функции ChartScreenShot создаётся файл, но он пустой. Ошибки при этом функция не возвращает - всё проходит как будто штатно. В терминале на винде таких проблем нету. 
Сталкивался кто то с таким? Может кто сможет воспроизвести пример из функции ChartScreenShot и посмотреть, работает ли у вас?

неоднократно обсуждалось:

То что функция ChartScreenShot завершилась вовсе не значит что файл уже полностью и целиком записан, закрыт и все буферы сброшены. 

Перед тем пользоваться файлом сделайте паузу, подождите пару секунд. 

 
Maxim Kuznetsov #:

неоднократно обсуждалось:

То что функция ChartScreenShot завершилась вовсе не значит что файл уже полностью и целиком записан, закрыт и все буферы сброшены. 

Перед тем пользоваться файлом сделайте паузу, подождите пару секунд. 

Спасибо, проблема оказалась в формате GIF. Сменил на PNG и поставил паузу - всё стало работать штатно.

JRandomTrader #:

Проверил, bmp и png создаются нормально, проблема только с gif. Файл создаётся длиной 24 байта, содержимое:

совпадает на двух различных системах:

Ubuntu 18.04

Debian12

При попытке открыть файл Xfimage говорит, что не может, возможно, файл повреждён.


Спасибо. Сменил формат - стало в порядке. 

В процессе изысканий выяснил, что работа на WinServer выгоднее - меньше ресурсов нужно, чем на Ubuntu с Wine. Жаль что не придумали какого-нибудь примитивного консольного режима.

 
qadexys #:


В процессе изысканий выяснил, что работа на WinServer выгоднее - меньше ресурсов нужно, чем на Ubuntu с Wine. Жаль что не придумали какого-нибудь примитивного консольного режима.

как-бы не удивительно, что приложение написанное изначально для Windows и постоянно дорабатываемое на Windows, лучше всего работает на Windows :-)

это же не морровинд, однажды написанный и пару раз за всё время пропатченный..