![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Здравствуйте.
Задача, написать строку длиннее 62 символов.
Типа такой:
Разбил текст на две строки, от 0 до 11 и от 12 до 24, пытаюсь написать их последовательно.
Для этого надо узнать размер первой строки.
или так
В результате получаю такую картинку
Но если получать не размер строки, а размер OBJ_LABEL с текстом строки, то получаем совсем другой результат
Как вы видите 540 != 324. И если вместо 324 поставить отступ 540, то всё рисует как надо.
Но мне такой способ нахождения размера строки не подходит.
Я понимаю, что что то упускаю из вида, не пойму что.
Скрипт.
Проблема в том, что сразу после создания объекта его свойства всё ещё недоступны и вы не всегда можете вовремя получить x_size.
Вот этот код
даёт такой результат
и такой текст в логе
как видите нет никаких проблем…
И моё личное: Терпеть не могу нули вместо ID графика, периода графика и прочие замены…
Проблема в том, что сразу после создания объекта его свойства всё ещё недоступны и вы не всегда можете вовремя получить x_size.
И моё личное: Терпеть не могу нули вместо ID графика, периода графика и прочие замены…
Спасибо за уделённое время, но
цитата:
К тому же у меня ширину объекта выдавал и без цикла, достаточно было ChartRedraw
Вопрос то был не об этом !!!
И моё личное: пример должен быть максимально лаконичен, поэтому поубирал всё, что посчитал излишним)
Примеры поучительней правил.(c) MetaQuotes )
Print:
2022.04.09 20:59:52.196 WLabel (GBPUSD,M15) 1.0
2022.04.09 20:59:52.197 WLabel (GBPUSD,M15) font size:5 TextGetSize("0", width, height)=4 9 h/w=2.25
2022.04.09 20:59:52.197 WLabel (GBPUSD,M15) font size:6 TextGetSize("0", width, height)=5 12 h/w=2.40
2022.04.09 20:59:52.198 WLabel (GBPUSD,M15) font size:7 TextGetSize("0", width, height)=7 14 h/w=2.00
2022.04.09 20:59:52.198 WLabel (GBPUSD,M15) font size:8 TextGetSize("0", width, height)=7 15 h/w=2.14
2022.04.09 20:59:52.198 WLabel (GBPUSD,M15) font size:9 TextGetSize("0", width, height)=8 18 h/w=2.25
2022.04.09 20:59:52.198 WLabel (GBPUSD,M15) font size:10 TextGetSize("0", width, height)=9 20 h/w=2.22
2022.04.09 20:59:52.199 WLabel (GBPUSD,M15) font size:11 TextGetSize("0", width, height)=10 22 h/w=2.20
2022.04.09 20:59:52.200 WLabel (GBPUSD,M15) font size:12 TextGetSize("0", width, height)=11 23 h/w=2.09
2022.04.09 20:59:52.200 WLabel (GBPUSD,M15) font size:13 TextGetSize("0", width, height)=12 26 h/w=2.17
2022.04.09 20:59:52.200 WLabel (GBPUSD,M15) font size:14 TextGetSize("0", width, height)=13 27 h/w=2.08
2022.04.09 20:59:52.200 WLabel (GBPUSD,M15) font size:15 TextGetSize("0", width, height)=14 29 h/w=2.07
Спасибо за уделённое время, но
цитата:
К тому же у меня ширину объекта выдавал и без цикла, достаточно было ChartRedraw
Вопрос то был не об этом !!!
И моё личное: пример должен быть максимально лаконичен, поэтому поубирал всё, что посчитал излишним)
А какой подходит? В один lable всё всунуть? Тогда канвас вам в руки и вперёд. И всё-же одного ChartRedraw недостаточно. Если внимательно посмотрите код, то ChartRedraw после создания первого lable я оставил нетронутым, но это не помогает. Посмотрите результат выполнения… Там сразу видно, что цикл выполнился дважды. Тот факт, что у вас как-то получилось не говорит о том, что без цикла будет ожидаемый результат всегда и обязательно.
почитайте в этой ветке. Может что-то будет полезным.
https://www.mql5.com/ru/forum/364640/page6#comment_21290218
Примеры поучительней правил.(c) MetaQuotes )
Print:
Большое спасибо!!! Работает!!!