Questions from a "dummy" - page 29

 
Renat:
Visualisotor, like the entire platform, has been in release for a long time. Don't confuse the constant process of releasing new versions with beta status.

Our way of working is continuous improvement with frequent builds.
Renat, I am not going to argue, but if we talk about visualization - Yes, there is a release, but in fact not even all basic things work (or work in a very strange way), we have to dream about more complex things.
 
Interesting:

It is logical to assume that 0 is returned instead of the number of pixels :)

Put a check on the result of this string and handle division by 0.

And as for returning 0 instead of pixels, it's direct to the SD...

So far I set check with fixed value in case of error:

   if(width == 0) {  dbl_width = 1000;  } else {  dbl_width = width;  }

I have made sure that functions relating to the appearance of the chart work in the tester. But I found one more "bug". The .bmp images on the chart in visualization mode are displayed as nothing:

Has anyone encountered such a problem?

 
tol64:

So far I have set a fixed-value test in case of an error:

I made sure that the functions related to the appearance of the graph work in the tester. But I discovered another "bug? The .bmp images on the chart in visualization mode are displayed as nothing:

Has anyone encountered this problem?

Think of it not as a "bug" but as such a "trick", according to which everything will be this way in the 500/600/1000 release...

Although you have to believe how and from where the graphics hangs on the chart, and telepaths say rest nowadays. :)

 
Interesting:

Think of it not as a 'bug', but as such a 'cunning move', according to which everything will be this way in the 500/600/1000 release...

Although I have to believe how and from where the chart hangs on the chart, and telepaths say they are having a rest nowadays. :)

In real-time mode, everything works. And in visualisation mode, such blanks are displayed.

This is how I specify where the files come from:

#resource "\\Images\\IP_MQ5_TI.bmp"
#resource "\\Images\\IP_MQ5_MM.bmp"
#resource "\\Images\\IP_MQ5_TS.bmp"

#resource "\\Images\\IP_MQ5_TI_Hide.bmp"
#resource "\\Images\\IP_MQ5_MM_Hide.bmp"
#resource "\\Images\\IP_MQ5_TS_Hide.bmp"

This is how I assign them to global variables:

string TI_bmp_nm  = "TI";
string TI_bmp_pth = "::Images\\IP_MQ5_TI.bmp";
string MM_bmp_nm  = "MM";
string MM_bmp_pth = "::Images\\IP_MQ5_MM.bmp";
string TS_bmp_nm  = "TS";
string TS_bmp_pth = "::Images\\IP_MQ5_TS.bmp";

string hd_TI_bmp_nm  = "TI_hide";
string hd_TI_bmp_pth = "::Images\\IP_MQ5_TI_Hide.bmp";
string hd_MM_bmp_nm  = "MM_hide";
string hd_MM_bmp_pth = "::Images\\IP_MQ5_MM_Hide.bmp";
string hd_TS_bmp_nm  = "TS_hide";
string hd_TS_bmp_pth = "::Images\\IP_MQ5_TS_Hide.bmp";

This is how I have implemented the object creation function:

void Create_BMP_Label(long   chart_id,  // id графика
                      string bmp_nm,    // имя объекта
                      string bmp_path,  // путь к обекту
                      long   anchor,    // точка привязки
                      long   corner,    // угол привязки
                      int    x_dist,    // координата по шкале X
                      int    y_dist)    // координата по шкале Y
  {
   ObjectCreate(chart_id,bmp_nm,OBJ_BITMAP_LABEL,0,0,0);          // создание объекта
   ObjectSetString(chart_id,bmp_nm,OBJPROP_BMPFILE,0,bmp_path);   // BMP файл
   ObjectSetInteger(chart_id,bmp_nm,OBJPROP_ANCHOR,anchor);       // установка точки привязки
   ObjectSetInteger(chart_id,bmp_nm,OBJPROP_CORNER,corner);       // установка угола привязки
   ObjectSetInteger(chart_id,bmp_nm,OBJPROP_XDISTANCE,x_dist);    // установка координаты X
   ObjectSetInteger(chart_id,bmp_nm,OBJPROP_YDISTANCE,y_dist);    // установка координаты Y
   ObjectSetInteger(chart_id,bmp_nm,OBJPROP_SELECTABLE,false);    // нельзя выделить объект, если FALSE
   ObjectSetString(chart_id,bmp_nm,OBJPROP_TOOLTIP,"\n");         // нет всплывающей подсказки, если "\n"
  }

In OnInit(), the function is also called in OnTick(), provided the object is not found.

In OnTick() now put error check and tester showed me error:

And this means that the Order was not found - ERR_TRADE_ORDER_NOT_FOUND. I haven't even used trade functions in the Expert Advisor yet and there can be no orders)))

Objects of OBJ_LABEL type are displayed correctly. The "bug" refers only to .bmp images in the visualization mode in the tester.

In real time, everything is OK:

And in visualization mode it's like this:

It's important for me to know whose side the bug is on. Because if it's on the trading platform's side, I'll leave it to others to deal with temporarily.

 

tol64:

Objects of type OBJ_LABEL are displayed correctly. "Bug" only applies to .bmp images in visualisation mode in the tester.

In real time everything is OK:

Some objects are not displayed in the visualisation mode, or are displayed incorrectly.

This also applies to pictures, apparently the developers have not got around to this functionality (they have other problems, and not only with the tester).

By the way, the template with expert name "tries to repeat" everything that is available in real mode, this can be used to identify those objects that are not yet displayed in visualisation mode.

 
tol64:

In real time mode, everything works. But in visualisation mode, such blanks are displayed.

It's unclear why it works at all.

void Create_BMP_Label(long   chart_id,  // id графика 0 если текущий
                      string bmp_nm,    // имя объекта
                      string bmp_path,  // путь к обекту
                      long   anchor,    // точка привязки          от
                      long   corner,    // угол привязки
                      int    x_dist,    // координата по шкале X
                      int    y_dist)    // координата по шкале Y   до - значение не присвоено
  {
   ObjectCreate(chart_id,bmp_nm,OBJ_BITMAP_LABEL,0,0,0);          // создание объекта
   ObjectSetString(chart_id,bmp_nm,OBJPROP_BMPFILE,0,bmp_path);   // BMP файл
   ObjectSetInteger(chart_id,bmp_nm,OBJPROP_ANCHOR,anchor);       // установка точки привязки
   // ObjectSetInteger(chart_id,bmp_nm,OBJPROP_CORNER,corner);       // установка угола привязки зачем?
   ObjectSetInteger(chart_id,bmp_nm,OBJPROP_XDISTANCE,x_dist);    // установка координаты X
   ObjectSetInteger(chart_id,bmp_nm,OBJPROP_YDISTANCE,y_dist);    // установка координаты Y
   ObjectSetInteger(chart_id,bmp_nm,OBJPROP_SELECTABLE,false);    // нельзя выделить объект, если FALSE
   ObjectSetString(chart_id,bmp_nm,OBJPROP_TOOLTIP,"\n");         // нет всплывающей подсказки, если "\n"
  }

The correct example is at the bottom of the page

There's also a search first, and redrawing - I've seen it somewhere that it's better to be safeguarded.

// Please don't beat me, I'm learning it myself.

 
MetaDriver:
When is the next one?

In the next day or two.

The 480 build is in testing now, we will release it publicly after the internal tests.

 
Renat:

In the next day or two.

The 480 build is now in testing, after internal tests we will release it publicly.

Thank you!
 
Silent:

It is not clear why it works at all.

The correct example is at the bottom of the page

There's also a search first, and redrawing - I've seen it somewhere that it's better to be on the safe side.

// Don't hit too hard, I'm learning myself.

I didn't understand what you wanted to say. You just highlighted something in red... )) Did you manage to make BMP objects(OBJ_BITMAP_LABEL) appear in tester in visualization mode?
 
tol64:
I didn't understand what you wanted to say. You marked something in red... )) Did you manage to make the BMP objects(OBJ_BITMAP_LABEL) appear in the tester in visualization mode?

I haven't tried them yet.

I've highlighted the errors, which should make the code not work. Compare your code with the one in the example on the link.