Errors, bugs, questions - page 2394

 
Hi!

Given: two charts in mt5 terminal,e.g. EURUSD H1,EURUSD H1. Let the charts have numbers 1 and 2, respectively, when numbering from left to right.

If the "panel" (practically any panel) is placed on the chart which has number 1, then, after transition to the chart 2 and return to the 1 chart, the panel is minimized - minimized to the left top corner.

At the same time, if the "panel" is placed in chart 2, with the existing, of course, chart 1, then after the transition to the 1 diagram and return to the 2 diagram, minimization - minimization of "panel" to the upper left corner does not happen :).

Who can explain what the issue is and how to deal with it?

Panel-01Panel-02
Files:
 
SEM:

Hello!

The latest version(build 2007, 25 Feb 2019) has discovered two bugs:

1) 1) When opening the program (or changing the profile) many charts (41 in total) show an eternal "Waiting for update".

2) 2) When closing the program, it does not close completely, the task manager shows that the program is not closed, although visually it is no longer displayed.

3) Controversial bug (on the December 2018 version everything worked fine, no errors), maybe a bug in the indicator, when starting the program or changing the profile, the indicator is not calculated correctly, you can see from the rendered data that some of the data is not calculated correctly. When you reapply the template or open and close indicator properties, the data is correctly calculated.

4) For some reason agents stopped working in the cloud after the update (account is listed). Tests passed 586, time passed 0 hours 0 minutes.

Error with rendering graphs, happens with standard indicators, only restarting the terminal, and forced closing via task manager helps.

What can be the error? The symbol history is loaded.

error

 
SEM:

Error with rendering graphs, happens with standard indicators, only restarting the terminal, and forced closing via task manager helps.

What could be the error? Symbols history is loaded.


Mostly in indicators where I work with objects (labels etc). May be it is connected with the big number of indicator arrays. On the average about 40 "INDICATOR_DATA" as well as "INDICATOR_CALCULATIONS". By the way, if memory serves me correctly, in such situations even after successful compilation the terminal wouldn't update indicators, but I'm not sure about it.

The code was optimized to process data from as few of these arrays as possible per unit time, with the same number of arrays or more.

Использование аналитических объектов - Графики котировок, технический и фундаментальный анализ - MetaTrader 5
Использование аналитических объектов - Графики котировок, технический и фундаментальный анализ - MetaTrader 5
  • www.metatrader5.com
Определение трендов, построение каналов, выявление циклов и уровней поддержки/сопротивления — все эти и многие другие задачи решаются при помощи аналитических объектов. Всего в торговой платформе доступно 46 таких инструментов. Среди них имеются геометрические фигуры, различные каналы, инструменты Ганна, Фибоначчи, Эллиотта и многое другое. В...
 
Ilya Malev:

I'm not aware of such subtleties, as I haven't been involved in the development of my own TS on MT5 in the past. How is it that take's are marketplaces, what's the news? If they hit a gap they should be executed at the first quote, i.e. in case of limits slip to the plus side. A quality broker may allow this on the real account. But of course this is not a rule. But if the spread per bar were maximal, it would compensate for the profit on limits.

Probably the fastest way to check slippage in the Strategy Tester

Forum on trading, automated trading systems and strategy testing

Libraries: TradePanel_Csharp

fxsaber, 2019.03.05 10:10

Demo

View SlipPage column

The SlipPage column shows the slippage on opening (by limit) and closing (by take) in pips. You can perfectly see how the Tester in real ticks mode overestimates the profit.

 
Is this possible in other compilers?
void OnInit()
{
  OnInit2(); // Пропишите внизу OnInit
}

#define OnInit OnInit2
Right now the compiler gives out
'OnInit2' - function not defined        Test3.mq5       3       3
1 error(s), 0 warning(s)                2       1


I would like it to give out

'OnInit2' - function not defined        Test3.mq5       3       3 Пропишите внизу OnInit
1 error(s), 0 warning(s)                2       1
 
fxsaber:
Do other compilers have this feature?


I would like it to output

It is unlikely in compilers, most likely in interpreters. Compilers usually have static pointer binding to function calls or variables (should that be how it sounds?), i.e. all pointer offsets will be calculated at compile time

In your example, everything is the same old-fashioned way, #define and #ifndef ( _DEBUG ? )

 
Igor Makanu:

in compilers is unlikely, in interpreters most likely possible, compilers usually use static pointer binding to function calls or variables (should sound like that? ), i.e. all pointer offsets will be calculated at compile time

In your example, everything is the same old way, #define and #ifndef ( _DEBUG ? )

I just wanted the compiler to complete the error message with a line comment.

 
Vjacheslav Lapaev:

I also faced it. I can't say that in the latest version, but in previous ones - for sure. Mostly in indicators, where I work with objects (labels etc). probably it is connected with a large number of indicator arrays. on the average, about 40, both "INDICATOR_DATA" and "INDICATOR_CALCULATIONS". By the way, if memory serves me correctly, in such situations even after successful compilation the terminal wouldn't update indicators, but I'm not sure about it.

The code was optimized to process data from as few of these arrays as possible per unit time, with the same number of arrays or more.

Thanks for the tip! It's a pity, of course, that the program is unstable, there was no such error in the December version.
 
Ilyas:

Didn't get into the presented code, I'll try to guess - the problem is that both EAs work with the same graphical resource.

this is an example of using the standard library class CAppDialog

if you use this class, the Minimize() method is always called when switching charts

I didn't want to understand it, I just wrote my own OnClickButtonMinMax(), it was pretty messy, but it worked without problems.

CAppDialog::OnClickButtonMinMax()
  {
   if(Width()<200) Minimized_state=false;
   if(Minimized_state)
     {
      Minimize();
     }
   else
     {
      Maximize();
      ObjectSet(TS1.Name()+"Label",OBJPROP_BACK,true);
      ObjectSet(TS2.Name()+"Label",OBJPROP_BACK,true);
      ObjectSet(CP.Name()+"Label",OBJPROP_BACK,true);
     }
  }

there is another bug in class CAppDialog, after Minimize() and Maximize() the property OBJPROP_BACK of class CCheckBox is changed, and the checkboxes become with "square" border, I fixed ObjectSet(TS1.Name()+"Label",OBJPROP_BACK,true) in this code quickly; ...

 
Vjacheslav Lapaev:
Hi!

Given: two charts in mt5 terminal,e.g. EURUSD H1,EURUSD H1. Let the charts have numbers 1 and 2 respectively, with numbering from left to right.

If the "panel" (practically any) is placed on the chart which has number 1, then, after transition to the chart 2 and return to the 1 chart, the panel is minimized - minimized to the left top corner.

At the same time, if the "panel" is placed in chart 2, with the existing, of course, chart 1, then after the transition to the 1 and return to the 2 chart, minimization - minimization of "panel" to the upper left corner does not happen :).

Who can explain what the point is and how to deal with it?

Deleted my previous reply

The window collapses because it doesn't fit on the chart.
If you exit the "chart to entire terminal window" mode, you will see the actual size of the charts.

In order to avoid that the chart window collapses on the chart, you need to increase the size of the charts.
After that, you can expand the chart to the whole terminal and try switching between them