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

 
tol64:

Кому-нибудь удалось повторить подвиг  voix_kas

//--- 

Или это опечатка? )))

Не опечатка. В визуальном режиме всегда тестирую советника с включенным режимом показа статистики на чарте. Для меня так информативнее.
 
voix_kas:
Не опечатка. В визуальном режиме всегда тестирую советника с включенным режимом показа статистики на чарте. Для меня так информативнее.
Под тестом в тестере Вы имеете ввиду режим визуализации? Насколько мне известно на текущий момент объекты типа  OBJ_BITMAP_LABEL не отображаются в режиме визуализации, как и некоторые другие объекты. Поэтому вдвойне интересно посмотреть на то, как Вы это делали. 
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов - Документация по MQL5
 
tol64:
Под тестом в тестере Вы имеете ввиду режим визуализации? Насколько мне известно на текущий момент объекты типа  OBJ_BITMAP_LABEL не отображаются в режиме визуализации, как и некоторые другие объекты. Поэтому вдвойне интересно посмотреть на то, как Вы это делали. 
Объект типа OBJ_BITMAP_LABEL + ResourceCreate в режиме визуализации отрисовывается на чарте. Билд 794.
 
voix_kas:
Объект типа OBJ_BITMAP_LABEL + ResourceCreate в режиме визуализации отрисовывается на чарте. Билд 794.

Покажите пример. Это пара строк кода. Или покажите, если не затруднит, что у Вас отображается (скриншот) в режиме визуализации при использовании такого кода:

//+------------------------------------------------------------------+
//|                                                     !expTEST.mq5 |
//|                        Copyright 2013, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2013, MetaQuotes Software Corp."
#property link      "http://www.mql5.com"
#property version   "1.00"
//--- Подключим класс для работы с канвой
#include <Canvas\Canvas.mqh>
//--- Загрузка класса
CCanvas canvas;
//--- Свойства канвы
string            font_name       ="Calibri";                   // Шрифт
color             canvas_bg_color =C'20,20,20';                 // Цвет фона канвы
string            canvas_name     ="canvas";                    // Название канвы
ENUM_COLOR_FORMAT clr_format      =COLOR_FORMAT_ARGB_NORMALIZE; // Компонент альфа-канала игнорируется
//+------------------------------------------------------------------+
//| ИНИЦИАЛИЗАЦИЯ                                                    |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- Установим высоту текста
   canvas.FontSet(font_name,15,FW_NORMAL);  
   SetCanvas();
   return(0);
  }
//+------------------------------------------------------------------+
//| ДЕИНИЦИАЛИЗАЦИЯ                                                  |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   canvas.Destroy();
  }
//+------------------------------------------------------------------+
//| СОБЫТИЕ ТИК ТЕКУЩЕГО СИМВОЛА                                     |
//+------------------------------------------------------------------+
void OnTick()
  {
  }
//+------------------------------------------------------------------+
//| Установить канву                                                 |
//+------------------------------------------------------------------+
void SetCanvas()
  {
   if(ObjectFind(0,canvas_name)<0)
     canvas.CreateBitmapLabel(0,0,canvas_name,0,10,200,200,clr_format);
//---
   ShowInfo();
  }
//+------------------------------------------------------------------+
//| Отображает список                                                |
//+------------------------------------------------------------------+
void ShowInfo()
  {
   canvas.Erase(canvas_bg_color);
//---
   for(int i=10; i<100; i+=15)
     {
      //--- Название показателя
      canvas.TextOut(50,i,"Text"+IntegerToString(i)+" :",ColorToARGB(clrWhite),TA_LEFT|TA_TOP);
     }
//---
   canvas.Update();
  }

//---

Билд 803:

 

 

Добры вечер!

А куда написать разработчикам об их ошибке в MetaTrader5 ? 

 
Mikalas:

Добры вечер!

А куда написать разработчикам об их ошибке в MetaTrader5 ? 

Можно и здесь написать. А ещё и в Сервисдеск, в профиле ссылка в левой части окна.
 
Mikalas:

Добры вечер!

А куда написать разработчикам об их ошибке в MetaTrader5 ? 

 
tol64:

Покажите пример. Это пара строк кода. Или покажите, если не затруднит, что у Вас отображается (скриншот) в режиме визуализации при использовании такого кода:

//---

Билд 803:

 

Приведённый код у меня даёт тот же результат (не отрисовывает битмап). Билд 794.

К сожалению, контраргументов предоставить не могу, т.к. уже вычистил код своего советника от битмапа.

 
voix_kas:

Приведённый код у меня даёт тот же результат (не отрисовывает битмап). Билд 794.

К сожалению, контраргументов предоставить не могу, т.к. уже вычистил код своего советника от битмапа.

Контраргументов и быть не может, так как эта возможность просто не реализована в тестере ни в одном из предыдущих билдов включая текущий (803). Поэтому не понятно, как Вы могли получить результат в тестере и почему не можете воспроизвести его снова, если Вас об этом просят. Пожалуйста, воспроизведите снова, это очень интересно. Лично я уже два года жду, когда наконец битмапы сделают в тестере. )))

 
voix_kas:

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

... 

Что могу сказать? Один Bitmap работает (!)на порядок медленнее, чем 26 обычных меток. 

 ...

 Специально хронометражом не занимался, т.к. и на глаз понятно, что скорость снижается на порядок. Что в тестере, что в реал-тайме (при скролле графике совершенно очевидные подвисания/дёргания).

Жаль, что не привели доказательства данного утверждения.

Из опыта скажу, что битмап быстрее, особенно если нужно рисовать большие таблицы, пример использования битмапа - стакан в IShift, или вкладки во встроенной панели ChartWall.  Сейчас перевожу всю свою интерфейсную библиотеку на битмап, чтобы в итоге получить интерфейсную панель в виде одного объекта битмапа. Цель увеличение быстродействия и надежности.

И обратите внимание. что скролл графика не вызывает "подвисания/дергания', а стакан в IShift обновляется чаще, чем приходят тики(имеется ввиду рынок фортс).

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