Ошибки, баги, вопросы - страница 929

 
Contender:

Надо условие поменять:

 

Спасибо :)

Что то переклинило меня.

 
Konstantin83:

Спасибо :)

Что то переклинило меня.

Бывает :)
[Удален]  

Коллеги, прошу консультации по выравниванию текста на чарте.

На чарт необходимо выводить некоторую текстовую информацию. Например, вот так:

 Пример вывода

Как видно из примера, текст форматируется следующим образом:

1. Наименование параметра выравнивается слева направо, с одинаковым началом от левого края.

2. Значения параметра выравнивается справа налево, с одинаковым началом от правого края.

В приведённом мной примере выше используется функция Comment(). Для визуализации примера я использовал подгонку текста с помощью пробелов.

 

Собственно, вопрос. Каким способом (с помощью каких функций) лучше реализовать данный механизм автоматического выравнивания с учётом минимальной потери производительности?

Буду признателен как за общий ответ, так и за приведённый код.

[Удален]  

Может, кому будет интересно. В общем, проблема отчасти решена применением графического объекта OBJ_LABEL и использованием моноширинного шрифта.

В OnInit() создаю объекты, в OnDeinit() - удаляю. В процессе работы пытаюсь установить свойство OBJPROP_TEXT. Если ошибка, просто рапортую об этом в виде лога. Проверять на каждом тике/таймере, не удалил ли метку пользователь/другой советник - слишком затратно по ресурсом.

 

Чего не сумел решить - получить ширину установленной метки. Чтобы, грубо говоря, в зависимости от величины_значения удалять её верхний правый угол подальше, дабы не наслаивался на наименование_значения. Тупо подобрал некое комфортное расстояние, чтобы поместилось семизначное значение. Восьмизначное будет наслаиваться. Не изящно и не практично! :)

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов - Документация по MQL5
 
voix_kas:

Может, кому будет интересно. В общем, проблема отчасти решена применением графического объекта OBJ_LABEL и использованием моноширинного шрифта.

Используйте OBJ_EDIT ("Поле ввода") с запретом редактирования, ему можно задать размеры, цвета, шрифт и выравнивание текста с помощью OBJPROP_ALIGN.

Одно поле для наименования с ALIGN_LEFT, другое для значения с ALIGN_RIGHT.

Чтобы другая программа не удалила ваши объекты присваивайте уникальные имена.

Объекты созданные из программы пользователь изначально не может выделять и удалять, но если все таки удалит,  то отследить этот факт и пересоздать объект не сложно.

 

В сигналах глюки:
Пополнения: 1.68 USD############Брокер: Alpari-Demo
КТО  пополнилнил ??? кто подигрывает ???

 
Можно ли сделать так чтобы при оптимизации все вычисления уходили только в облако? Хотелось бы отключить от нагрузки все ядра процессора на моём компе, а то один агент не отключается.
 
paladin800:
Можно ли сделать так чтобы при оптимизации все вычисления уходили только в облако? Хотелось бы отключить от нагрузки все ядра процессора на моём компе, а то один агент не отключается.
Правой кнопкой в разделе Агенты и в контекстном меню Использовать снимите флажок Локальные агенты.
[Удален]  
kPVT
Спасибо за совет.
Поделитесь, пожалуйста, опытом. А именно:
1. Механизм генерации уникальных имён. Прямой перебор существующих имён автомнкрементом?
2. Механизм проверки аутентичности объекта. Т.е. не просто проверить, есть ли объект с таким именем, а всех его параметров, например, размеров, типов, текста и прочее. При учёте экономии ресурсов. Выполнять колоссальное количество проверок каждого свойства каждого объекта на каждом тике - весьма трудозатратно. Конечно, если бы было либо блокировка объекта от любых изменений извне (кроме советника-создателя), или расчёт хэша объекта, чтобы БЫСТРО (за один "if") проверить объект на аутентичность.
[Удален]  

Прошу подтвердить воспроизведение ситуации с отсутствием перерисовки чарта.

Приложил простенький эксперт. Условия:

1. С 2013.01.07 по 2013.02.11. Скорее всего, не влияет.

2. Тестирование в визуальном режиме.

3. При первом прогоне замедляем скорость до минимуму:

 

 

4. На последующем прогоне после инициализации нажимаем Ф12 (сгенерировать один тик).

Ещё одно очень важное условие - терминал должен работать в режиме офф-лайн. Для чистоты эксперимента попробуйте отключить комп от сети (отключить все сетевые адаптеры).

 

Наблюдаем.

1. Запаздывание отоброажение значения спреда на графике.

 

Некорретная работа функции ChartRedraw или я чего неверно сделал? Если пошевелить график мышкой (подвигать по горизонтали (времени), перерисовка производится корректно.

Файлы:
1.mq5  4 kb