Errors, bugs, questions - page 2802

 
Mihail Matkovskij:

No one is denying it. It's just that there is a concept where there is one screen as a canvas. In turn, the same custom canvas (an array of pixels) is drawn on the canvas of the window (the chart). More precisely, it is first passed to the chart (copied) using ResourceCreate (in OBJ_BITMAP or OBJ_BITMAP_LABEL). In the chart window, everything is drawn using Win API (if I'm not mistaken). Although, it can be done using other API as well. But the CCanvas class has its own methods of drawing on elements of the m_pixels array.

It turns out, drawing a small rectangle then you still have to pass a lot of pixels usingResourceCreate (saves time on drawing only). And this way you can just moveOBJ_BITMAP_LABEL around the chart, without processing the m_pixels array and then copying it to OBJ_BITMAP_LABEL.

The thing is, class CCanvas has no method of moving the canvas, which is very strange.
The iCanvas class has it implemented.

ZZZ I'm sorry, just now I saw that the current version of iCanvas in KB doesn't implement this method, only its declaration. I'll correct it now.

bool iCanvas::MoveCanvas(const int x,const int y) {
   if(ObjectSetInteger(m_chart_id,m_objname,OBJPROP_XDISTANCE,x) && ObjectSetInteger(m_chart_id,m_objname,OBJPROP_YDISTANCE,y))  return(true);
   else return(false);
}

Corrected


Files:
iCanvas.mqh  45 kb
Movement.mq5  2 kb
 
Nikolai Semko:

The thing is, the CCanvas class doesn't have a method to move the canvas, which is quite strange.
The iCanvas class has it implemented.

ZZZ I'm sorry, I just now saw that the current version of iCanvas in KB doesn't implement this method, only its declaration. I'll correct it now.

Corrected


The fact that there is no move in CCanvas is not a big deal. Any careful user can understand that the canvas is moved by moving its chart object. These are standard functions. Therefore, one can add the missing methods. Or write his own methods of drawing and other... Anything can be done. CCanvas source code can be studied.

 
Comments not related to this topic have been moved to "Questions from MQL4 MT4 MetaTrader 4 beginners".
 

The portable version of MetaEditor stopped working (/portable in shortcut properties). It happened with today's update. Removed /portable from properties, the editor started, but with settings from the installed terminal andMetaEditor. Also, it's not using working directories from my folder with the portable version. The terminal seems to start normally with option/portable, but MetaEditor also doesn't start when I press F4. It keeps writing in the log:

2020.07.14 20:00:17.560 Error MetaEditor not found

How can the portable version of the terminal and the editor be set up to work properly?

 
Mihail Matkovskij:

The portable version of MetaEditor stopped working (/portable in shortcut properties). It happened with today's update. Removed /portable from properties, the editor started, but with settings from the installed terminal andMetaEditor. Also, it's not using working directories from my folder with the portable version. The terminal seems to start normally with option/portable, but MetaEditor also doesn't start when I press F4. It keeps writing in the log:

How can I now adjust the portable version of the terminal and editor to work properly?

Another update is out. I decided to checkMetaEditor. I added/portable to shortcut properties, ran it and it worked. All settings and working directories are in place, as it was before.

 

Is it possible to do the following by normal means?


  1. View the log via PCM->View. I use a filter there.
  2. In this result I find required line.
  3. I want to see what was before and after this line in the log if I disable the filter.
I have no way to do it. I have to remember the time and approximate content of the line and then disable the filter and search for it manually.
 
fxsaber:

Is it possible to do the following by normal means?


  1. View the log via PCM->View. I use a filter there.
  2. In this result I find required line.
  3. I want to see what was before and after this line in the log if I disable the filter.
I have no way to do it. I have to remember the time and approximate contents of the line and then disable the filter and search for it manually.

The built-in log viewer is very inconvenient (including the specified use case), I have to use external programs.

 
Please give some hints (links, suggestions) on how to store and update general state of algorithm in tester in maths mode. The common file idea looks unconvincing. Frames only go one way (from agent to terminal).
 

Hello.

Something is broken in the autovalidator of the mt4 marketplace.

Tried to autovalidate 5-6 times with different EAs.

Always this error.

ь

Even that EA that autovalidated yesterday cannot autovalidate today

Here is a message about successful validation yesterday

т

Something is really broken.

 
Denis Nikolaev:

Hello.

Something is broken in the autovalidator of the mt4 marketplace.

Tried to autovalidate 5-6 times with different EAs.

Always this error.

Even that EA that autovalidated yesterday cannot autovalidate today

Here is a message about successful validation yesterday


Something is really wrong.

Thank you for the message. Corrected.