Errors, bugs, questions - page 974

 
tol64:

Has anyone managed to repeat the feat ofvoix_kas?

//---

Or is that a typo? )))

Not a typo. In visual mode I always test the Expert Advisor with chart statistics enabled. It's more informative for me.
 
voix_kas:
Not a typo. In visual mode I always test the Expert Advisor with the chart statistics on. This is more informative for me.
By testing in the tester, do you mean the visualization mode? As far as I know, at the moment objects such asOBJ_BITMAP_LABEL are not displayed in the visualization mode, as well as some other objects. So it is doubly interesting to see how you did it.
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов - Документация по MQL5
 
tol64:
By test in the tester, do you mean visualization mode? As far as I know at the moment objects likeOBJ_BITMAP_LABEL are not displayed in visualization mode, as well as some other objects. So it is doubly interesting to see how you did it.
An object of typeOBJ_BITMAP_LABEL+ResourceCreate in visualization mode is drawn on the chart. Build 794.
 
voix_kas:
An object of typeOBJ_BITMAP_LABEL+ResourceCreate is rendered on the chart in visualization mode. Bild 794.

Show me an example. It's a couple of lines of code. Or show me, if you don't mind, what you have displayed (screenshot) in visualisation mode when using such code:

//+------------------------------------------------------------------+
//|                                                     !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();
  }

//---

Build 803:

 

Good evening!

Where do I write to the developers about their bug in MetaTrader5 ?

 
Mikalas:

Good evening!

Where do I write to the developers about their bug in MetaTrader5 ?

You can also write here. You can also write to Service Desk, there is a link in your profile on the left side of the window.
 
Mikalas:

Good evening!

Where do I write to the developers about their bug in MetaTrader5 ?

 
tol64:

Show me an example. It's a couple of lines of code. Or show me, if you don't mind, what you have displayed (screenshot) in visualisation mode when using such code:

//---

Build 803:

The above code gives me the same result (doesn't render the bitmap). Bild 794.

Unfortunately, I can't provide a counter-argument, as I've already cleaned my EA code from the bitmap.

 
voix_kas:

The above code gives me the same result (doesn't render the bitmap). Build 794.

Unfortunately, I can't provide any counterarguments, as I have already cleaned my EA code from the bitmap.

The counter-arguments don't matter, because this possibility has not been implemented in the tester in any of the previous builds, including the currentone (803). So it is not clear how you could get the result in the tester and why you cannot reproduce it again if you are asked to do so. Please reproduce again, it is very interesting. Personally, I've been waiting for two years to finally get the bitmaps done in the tester. )))

 
voix_kas:

Maybe someone would be interested in information about the performance of graphic objects...

...

What can I say? A single Bitmap runs (!)an order of magnitude slower than 26 regular labels.

...

I didn't do any special timing, because it's obvious that the speed decreases by an order of magnitude. Both in the tester and in real time (when scrolling the graph there is very obvious jerking/jerking).

It's a pity that no proof of this statement was given.

From experience, bitmap is faster, especially if you need to draw large tables, an example of using bitmap is a glass in IShift, or tabs in the built-in ChartWall panel. I am currently converting my entire interface library to a bitmap, to end up with an interface panel as a single bitmap object. The goal is to increase speed and reliability.

And note. that scrolling the chart doesn't cause 'hovering/jerking' and the stack in IShift is updated more often than the ticks come in (meaning the forts market).