Добрый вечер, коллеги
Появилась такая проблема, графические объекты индикатора на экране с более высоким разрешением стали отображаться некорректно: размеры объектов сохранились, однако расстояния от угла графика уменьшились из-за чего объекты стали накладываться друг на друга. Можно ли как-то решить эту проблему, может быть указать расстояния в других единицах измерения или есть другие какие-то методы, позволяющие сделать так, чтобы графические объекты на любых экранах отображались одинаково?
Пожалуйста, укажите на каком оборудовании такое происходит:
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Vladimir Karputov, 2019.07.31 12:12
Укажите такие данные:
скопируйте из вкладки "Журнал" три строчки (выделить три строки -> правый клик мышки -> Копировать)
и вставьте в сообщение. Должно получится вроде этого:
2019.07.31 11:53:10.681 MetaTrader 5 x64 build 2093 started (MetaQuotes Software Corp.) 2019.07.31 11:53:10.685 Windows 10 (build 18362) x64, IE 11, UAC, Intel Core i3-3120M @ 2.50GHz, Memory: 3188 / 8077 Mb, Disk: 99 / 415 Gb, GMT+2 2019.07.31 11:53:10.685 C:\Users\barab\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075
Пожалуйста, укажите на каком оборудовании такое происходит:
На этом оборудовании все было нормально:
2019.08.05 23:46:05.928 C:\Users\Алексей\AppData\Roaming\MetaQuotes\Terminal\77F673413FD09896647B2203EF1695F5
2019.08.05 23:46:05.928 Windows 7 Ultimate x86, IE 11, UAC, 4 x AMD Phenom II N970 Quad-Core Processor, Memory: 2291 / 3578 Mb, Disk: 145 / 283 Gb, GMT+5
2019.08.05 23:46:05.927 Forex4you build 1170 started (E-Global Trade and Finance Group, Inc.)
На этом появляются проблемы:
2019.08.05 18:47:20.513 Data Folder:
C:\Users\Алексей\AppData\Roaming\MetaQuotes\Terminal\7E781795884A398A87F33ED1B942D689
2019.08.05 18:47:20.513 Windows 10 Home Single Language x64, IE 11, UAC, 8 x Intel Core i5-8250U @ 1.60GHz, Memory: 4300 / 8078 Mb, Disk: 5 / 118 Gb, GMT+5
2019.08.05 18:47:20.513 Forex4you build 1170 started (E-Global Trade and Finance Group, Inc.)
Добрый вечер, коллеги
Появилась такая проблема, графические объекты индикатора на экране с более высоким разрешением стали отображаться некорректно: размеры объектов сохранились, однако расстояния от угла графика уменьшились из-за чего объекты стали накладываться друг на друга. Можно ли как-то решить эту проблему, может быть указать расстояния в других единицах измерения или есть другие какие-то методы, позволяющие сделать так, чтобы графические объекты на любых экранах отображались одинаково?
Да есть такая проблема, когда я перешёл на экран с более высоким разрешением, пришлось перепрограммировать размеры графических объектов.
Даже пришлось при выводе многострочных комментов вводить двойной перевод строки, так как строки налазили друг на друга по вертикали. Связано это с тем что размеры определяются в пикселях, а количество пикселей в единице длины разное, поэтому и размер получается разный.
Вообще при программировании размеров графических объектов можно это учитывать и использовать настроечную константу, характеризующую плотность пикселей на единицу площади экрана, которую можно поместить во входные параметры.
Да есть такая проблема, когда я перешёл на экран с более высоким разрешением, пришлось перепрограммировать размеры графических объектов.
Даже пришлось при выводе многострочных комментов вводить двойной перевод строки, так как строки налазили друг на друга по вертикали. Связано это с тем что размеры определяются в пикселях, а количество пикселей в единице длины разное, поэтому и размер получается разный.
Вообще при программировании размеров графических объектов можно это учитывать и использовать настроечную константу, характеризующую плотность пикселей на единицу площади экрана, которую можно поместить во входные параметры.
Я так и предполагал, что дело в плотности пикселей, и вот вопрос, можно ли как-то это дело автоматизировать, может быть можно задать расстояния не в пикселях, а в относительных единицах, или как-то в компиляторе определить эту плотность пикселей на единицу площади?
или как-то в компиляторе определить эту плотность пикселей на единицу площади?
поэкспериментируйте на своих ПК с таким скриптом:
void OnStart() { Print("DPI = ",TerminalInfoInteger(TERMINAL_SCREEN_DPI)); }
https://docs.mql4.com/ru/constants/environment_state/terminalstatus
поэкспериментируйте на своих ПК с таким скриптом:
https://docs.mql4.com/ru/constants/environment_state/terminalstatus
Спасибо большое! Все заработало так, как надо
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Добрый вечер, коллеги
Появилась такая проблема, графические объекты индикатора на экране с более высоким разрешением стали отображаться некорректно: размеры объектов сохранились, однако расстояния от угла графика уменьшились из-за чего объекты стали накладываться друг на друга. Можно ли как-то решить эту проблему, может быть указать расстояния в других единицах измерения или есть другие какие-то методы, позволяющие сделать так, чтобы графические объекты на любых экранах отображались одинаково?