Errors, bugs, questions - page 1490

 
Vladislav Andruschenko:

in general the results are ambiguous, the test is rough - a quick one..:

the script simply displays the time and price on the tester:

..................

is virtual memory in use? try to disable it. (only if Windows is on SSD)

In Windows 7 right click on "My Computer", then "Properties", then in the list on the left "Advanced System Properties" and left to right in sequence:

I'm on HDD, so virtual memory is used

 
everything is switched off
 
Vladislav Andruschenko:
everything is switched off.
An agent is understandable. The most complex tasks around the world are solved by agents.
 
Gentlemen, administrators and experienced Metatrader4 users, please help me once again.
I have a subscriber of my signal complained that one of his trades was duplicated, while there was only one on my account. What should he do in his terminal to avoid such a scenario in future?
 
Artem Prischepa:
Gentlemen, administrators and experienced Metatrader4 users, please help me once again.
I've been working with a lot of MetaTrader4 users and I've been working with a lot of MetaTrader4 users for a long time. What should I adjust in my terminal to avoid such a scenario in future?
On the subscriber side, opening two terminals results in duplication of the received signal.
 
lilita bogachkova:
On the subscriber side, opening two terminals results in a duplication of the received signal.
If possible, please explain this in more detail. If only 1 terminal is subscribed to the signal, how can having a 2nd open terminal duplicate the opening of a position?
 
Maxim Khrolenko:
I would like to learn more about it. If only 1 terminal is subscribed to the signal, how can the presence of a 2nd open terminal duplicate the opening of a position?

There was some free signal, I signed up. I left my computer running and opened a terminal on another computer to test strategies (same account), both terminals work with portables. I look at the account a deal opened, then another one, then another, and the signal side is half off. I closed one terminal and the deals stopped duplicating.

 

MT4. I want to draw attention to the difference in initialisation order of global variables and extern variables. It is not mentioned in documentation.

The extern variable is located in global scope and by the type of variable (global or local) refers to global, as it is written in the documentation and in Kovalev's tutorial.

Since the documentation says nothing about the order of initialization of extern, it is logical to conclude that the order of initialization of extern is the same as that of the global variable itself.

In fact, the differences are significant. Global variables a and b are initialized once before the first function init is executed; they retain their initial (or changed in the code) values, if the timeframe or symbol on the chart has changed.

The variable extern int c does not save the value changed in the code and, if the timeframe or instrument on the chart has been changed, takes the initial specified value. The code below shows this.

This is important to know in order to understand why, all else being equal, the results of code running from the "Properties" window or recompiling differ from the results of code running by changing of timeframe or symbol.

Below is the code showing this. By changing the timeframe or instrument several times we can see that a and b grow, while c retains its original value.

extern int c=1;
int a=1,b=1;
void  OnInit()
  {Print(" a=",a," b=",b," c=",c);
  a++;b++;c++;
  }


 
Yuri Evseenkov:

MT4. I want to draw attention to the difference in initialisation order of global variables and extern variables. It is not mentioned in documentation.

Yeah, it does.

#property strict
extern int c=1;
int a=1,b=1;
int OnInit()
  {
   Print(" a=",a," b=",b," c=",c); a++;b++;c++;
   return(INIT_SUCCEEDED);
  }
void OnDeinit(const int reason) { }
void OnTick() { }


 
Is there an option on the MT4 server to disable the CloseBy function?
Reason: