Download MetaTrader 5

The new build does not always re-initialise after compilation

To add comments, please log in or register
Gosta Hulden
77
Gosta Hulden  

I have an EA open or a number of charts. It has always been the case that when I make a change to the code (for example a new default value of an input parameter) and compile, all open charts/EA:s will re-initialize. However, since the upgrade this seems to be a bit random. Right now I am running Build 610 and no charts re-initialize after compilation. I basically have to restart the terminal to make the changes to through. Has anyone seen this? Is this a bug? Is there a workaround?

Thanks

Keith Watford
Moderator
10651
Keith Watford  
Is the code compiling without any errors?
Gosta Hulden
77
Gosta Hulden  
GumRai:
Is the code compiling without any errors?

Yes the code compiles without errors. If I restart the terminal the EA:s will reinitialise and the changes I have made will be used. An exception to this is changes to input parameter default values which the terminal will "remember" from the old session. Those will not be overwritten as they have always been before when re-compiling.
Keith Watford
Moderator
10651
Keith Watford  
gostahulden:

Yes the code compiles without errors. If I restart the terminal the EA:s will reinitialise and the changes I have made will be used. An exception to this is changes to input parameter default values which the terminal will "remember" from the old session. Those will not be overwritten as they have always been before when re-compiling.


I have just changed input values in the code of an EA and in an indicator.

When I compiled, the new values were updated in both. I am using B610 also.

Don't understand why yours should be any different?? :(

Keith Watford
Moderator
10651
Keith Watford  

I've just realised.

Are you by any chance talking about when using the strategy tester?

In the ST you have to click on reset in the Experts properties.

Gosta Hulden
77
Gosta Hulden  
GumRai:


I have just changed input values in the code of an EA and in an indicator.

When I compiled, the new values were updated in both. I am using B610 also.

Don't understand why yours should be any different?? :(


I agree it should work. And as I said in the title of this post, it does not ALWAYS initialise. I have seen it initialise too. It seems that sometimes it does and sometimes it doesn't. But I have no idea what decidedes whether it initialises or not.
Alain Verleyen
Moderator
33341
Alain Verleyen  
gostahulden:

I agree it should work. And as I said in the title of this post, it does not ALWAYS initialise. I have seen it initialise too. It seems that sometimes it does and sometimes it doesn't. But I have no idea what decidedes whether it initialises or not.
I never experimented this behaviour. You have to try to reproduce it.
Keith Watford
Moderator
10651
Keith Watford  
gostahulden:

I agree it should work. And as I said in the title of this post, it does not ALWAYS initialise. I have seen it initialise too. It seems that sometimes it does and sometimes it doesn't. But I have no idea what decidedes whether it initialises or not.

Yes, but you didn't respond to my other post. I just want to be sure that you are not testing an EA in strategy tester, then modifying the EA inputs in the code, compiling and then running the ST again.
Gosta Hulden
77
Gosta Hulden  
GumRai:

I've just realised.

Are you by any chance talking about when using the strategy tester?

In the ST you have to click on reset in the Experts properties.


No it's not the Strategy Tester. I just have a number of charts loaded with the EA applied to each chart. Normally all of them should re-initialize when i compile the EA, but that is often not the case since the upgrade. I can both see in the Experts log that nothing is initializing, and I can see on the EA input parameters that the changed default values have not gone through.

I am aware of the ST behaviour you describe, but I had never noticed the reset functionality before, so thanks for the tip. Very useful even though it has nothing to do with this issue :-)

Keith Watford
Moderator
10651
Keith Watford  

This is a shot in the dark as i find it even more difficult to follow the reference help than I did before the upgrade.

If you use

int deinit()
  {
  //deinitialisation code
  
  return(0);
  }

Try changing it to

void OnDeinit(const int reason)
  {
  //Your deinitialisation code
  }   

Note, void function, so no return required

Gosta Hulden
77
Gosta Hulden  
GumRai:

This is a shot in the dark as i find it even more difficult to follow the reference help than I did before the upgrade.

If you use

Try changing it to

Note, void function, so no return required


You got me all excited there, since it seemed like a pretty plausible shot in the dark, but no, it did not work. I changed both deinit and init to the new syntax, but that did not make a difference.

A clue might be that I also find the MQL editor extremely unstable since the upgrade. Sometimes I have to click on Modify on an EA several times before the editor opens. Sometimes I get an error message (don't remember what right now) when I open the editor. Sometimes the compile button gets disabled the first time I compile. So it seems very shaky. And this is like it has lost connection with the terminal, so that when I click compile in the editor, nothing happens in the terminal.

12
To add comments, please log in or register