Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 619

 

Кто может объяснить, почему когда делаю скрин графика через функцию "ChartScreenShot()" , то отсутствуют некоторые графические элементы:

 

 

Ну а это сделано руками:

 

 
Vitaly Muzichenko:

Кто может объяснить, почему когда делаю скрин графика через функцию "ChartScreenShot()" , то отсутствуют некоторые графические элементы:

 

 

Ну а это сделано руками:

 

А как часто эти объекты обновляются из Вашего кода? Случайно не с частотой гигагерца (или около этого)?
 
Karputov Vladimir:
А как часто эти объекты обновляются из Вашего кода? Случайно не с частотой гигагерца (или около этого)?

Нет, сейчас вообще рынок не работает, то есть нет тиков, запускал функцию "ChartScreenShot" скриптом.

А так они обновляются при каждом тике, но не сейчас. Скрипт простейший, только создание скрина и всё, 3 строчки кода.

 
Vitaly Muzichenko:

Нет, сейчас вообще рынок не работает, то есть нет тиков, запускал функцию "ChartScreenShot" скриптом.

А так они обновляются при каждом тике, но не сейчас. Скрипт простейший, только создание скрина и всё, 3 строчки кода.

 Моя мысль такая: обновление объекта - это асинхронная команда, то есть команду Вы отправляете, а результат выполнения (или скорость выполнения) - не определён. Если в такой момент снять скриншот, можно поймать момент когда не все объекты перерисованы.
 
Karputov Vladimir:
 Моя мысль такая: обновление объекта - это асинхронная команда, то есть команду Вы отправляете, а результат выполнения (или скорость выполнения) - не определён. Если в такой момент снять скриншот, можно поймать момент когда не все объекты перерисованы.
Я уже сделал более полусотни скринов, эффект всегда один, одних и тех-же объектов никогда нет.
 
Vitaly Muzichenko:
Я уже сделал более полусотни скринов, эффект всегда один, одних и тех-же объектов никогда нет.
Пробовали удалить все индикаторы и советники и сделать скриншот?
 
Vitaly Muzichenko:
Я уже сделал более полусотни скринов, эффект всегда один, одних и тех-же объектов никогда нет.
Сталкивался с такой проблемой. На графике расставлены вертикальные линии, разграничивающие нужные диапазоны баров. Необходимо было заскринить всю имеющуюся историю. Некоторые вертикальные линии на скринах отсутствовали. Причину так и не смог найти. Сначала ставились две линии, разграничивающие диапазон, далее график смещался чтобы обе линии были по краям экрана, и делался скриншот. Иногда одна из двух линий отсутствовала. Думаю, Владимир прав насчёт асинхронности.
 
Artyom Trishkin:
Сталкивался с такой проблемой. На графике расставлены вертикальные линии, разграничивающие нужные диапазоны баров. Необходимо было заскринить всю имеющуюся историю. Некоторые вертикальные линии на скринах отсутствовали. Причину так и не смог найти. Сначала ставились две линии, разграничивающие диапазон, далее график смещался чтобы обе линии были по краям экрана, и делался скриншот. Иногда одна из двух линий отсутствовала. Думаю, Владимир прав насчёт асинхронности.

Да Я уже кучу объектов нарисовал, и ни разу не видел одних и тех-же, указал их на скрине. Те объекты рисует индикатор, он много рисует, и вот именно этих двух нет никогда :)

Некоторые объекты смещены на 5-7пп, как это бороть?

Так а какой может быть выход с положения заскринить недостающие? 

 

У меня подозрение, что изменяется пиксельность оригинала и копии. Смотрите - эти объекты у Вас по краям и размер шрифта начертания имя советника вроде бы как отличается. Ваши объекты за кадром по моему?

Переместите ручками объекты в центр и повторите операцию снятия скриншота еще раз - скрин получится?

 
new-rena:

У меня подозрение, что изменяется пиксельность оригинала и копии. Смотрите - эти объекты у Вас по краям и размер шрифта начертания имя советника вроде бы как отличается. Ваши объекты за кадром по моему?

Переместите ручками объекты в центр и повторите операцию снятия скриншота еще раз.

Блин, как-же так, это скорее всего, что объект привязан к пикселям, а не к цене и времени. 

Вот выглядывает от него огрызок, но в оригинале он ниже середины графика, и смещён влево на половину графика:


 

Спасибо, объект нашёлся, остаётся задача скринить его в том месте, где он есть в оригинале)  Все остальные объекты почти на местах.

Причина обращения: