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

 
Andrii Djola:
приветствую всех, такой вопрос почему SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_VALUE) возвращает 0?

ПКМ на символе в Обзоре рынка, Спецификация. Посмотрел, там нет этого параметра.

 

Comment выводит строки совершенно разной длины (визуально) при совершенно одинаковой их длине

Comment

Код:

void OnStart() {
  string str[5], res="";
  StringInit(str[0], 50, 'a');
  StringInit(str[1], 50, 'X');
  StringInit(str[2], 50, '=');
  StringInit(str[3], 50, ' ');
  StringInit(str[4], 50, ':');
  for (int i = 0; i < 5; i++) 
    res += str[i] + "\n";
  Comment(res);
}

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

 
Mihail Matkovskij:

Comment выводит строки совершенно разной длины (визуально) при совершенно одинаковой их длине

Код:

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

моноширный шрифт

 
Valeriy Yastremskiy:

моноширный шрифт

Только, к сожалению, шрифт для Comment не меняется. Он использует системный шрифт, без вариантов. Это я потом узнал на форуме. Значит, придётся лейблами выкручиваться.

 
Mihail Matkovskij:

Только, к сожалению, шрифт для Comment не меняется.

можно подменить системный шрифт. но да, лучше запилить самоделку.

 
Mihail Matkovskij:

Comment выводит строки совершенно разной длины (визуально) при совершенно одинаковой их длине

Код:

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

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Индикаторы: ClosingLots

Alexey Viktorov, 2019.03.08 17:58

Индикатор переписан почти полностью. Теперь его код можно использовать как образец работы с OBJ_BITMAP_LABEL и ресурсами.

Это конечно не мультики с использованием iCanvas Nikolai Semko но лучше чем использование простых OBJ_LABEL


 
Alexey Viktorov:

В данном индикаторе тот же принцип, что и у канвы. Она тоже работает на основе  OBJ_BITMAP_LABEL. И у меня есть наработки на основе канвы. Но данный способ требует постоянного обновления ресурса, что не лучшим образом сказывается на быстродействии приложения, если часто выводить текст. При том, что у меня очень ресурсоемкое  приложение. Но тратит ресурсы оно на полезную нагрузку. Так что, вариант из лейблов кажется мне наиболее экономичным в плане потребления ресурсов процессора.

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

Только, к сожалению, шрифт для Comment не меняется. Он использует системный шрифт, без вариантов. Это я потом узнал на форуме. Значит, придётся лейблами выкручиваться.

Если не брезгуете чужими библами, то можете воспользоваться этим примером:
 
Nikolai Semko:
Если не брезгуете чужими библами, то можете воспользоваться этим примером:

Спасибо! Индикаторы на iCanvas впечатляют. Но это всё тот же Канвас со всеми вышеперечисленными недостатками.

 
Mihail Matkovskij:

Спасибо! Индикаторы на iCanvas впечатляют. Но это всё тот же Канвас со всеми вышеперечисленными недостатками.

Вы о каких недостатках?
О ресурсоемкости?
Это было ошибочное утверждение. 
Comment кушает ресурсов не меньше.
Формирование и вывод канваса с текстом на все окно занимает 1-3 миллисекунды.
В MT5 вывод comment занимает чуть больше времени. Если Вы собираетесь обновлять текстовую информацию 30 раз в секунду, то все равно не увидите тормозов.

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