MetaTrader 4 Build 574 with Updated MQL4 Language and Market of Applications Released - page 33

 
gchrmt4:
... And what you are doing sounds equivalent to giving someone else an EX4 file but not the MQ4. If there's a problem with what you are doing, then there's presumably a problem with distributing EAs and indicators - and a problem with the Market.
That thought crossed my mind too . . . but, the thing I am not doing is compiling from the Scripts folder. I open the .mq4 from a folder on my fileserver and compile it from there. It only gets to the MT4 folder structure after it is compiled and I am going to test or run it.
 
RaptorUK:
That thought crossed my mind too . . . but, the thing I am not doing is compiling from the Scripts folder. I open the .mq4 from a folder on my fileserver and compile it from there. It only gets to the MT4 folder structure after it is compiled and I am going to test or run it.

I've had a quick experiment. It looks as though scripts have to be compiled from a directory called "scripts". Doesn't have to be the MQL directory; it can be any directory called "scripts". Or a subdirectory of a directory called "scripts".
 

Hi,

Sorry guys but this Build 574 is just like a virus. I did not see any program that doesn't ask me to upgrade. I'm returning to 509 and again it became 574, even in live system.

I'm running a my own robot with some 10Ks USD on it (commercial real money, not demo). There are many people who puts their money on the robots that works on metatrader platforom.

Metaquotes company should understand that "this is not a GAME". I know what they are trying to do but they are doing in a wrong way. Users should have options and time to adapt!

The code you have on 509, even you complied with 574 doesn't work properly. I have seen this on visual tests as well, it doesn't open trade when it should and also close. My 1 month tests was performing 2000USD profit with 1 lot now it's 100USD. The code is same, the data is same (converted from 1M high quality data). The data provider is same. The parameters are of course same. Only difference is metatrader.

I'm not using any iCustom indicators, I'm not using any dlls. The code is simple MQL4. It is proprietary I cannot copy here unfortunately.

Could anybody comment how can I at least work my live commercial system on 509 without any upgrades? There is real money on it and and my robot does not work properly on 574.

Thanks

 
gchrmt4:
I've had a quick experiment. It looks as though scripts have to be compiled from a directory called "scripts". Doesn't have to be the MQL directory; it can be any directory called "scripts". Or a subdirectory of a directory called "scripts".

This is fun... It looks as though there's now an "is script?" check on ex4 files which uses the compilation path.

If the path includes "scripts", then MT4 will allow the file as a script but not as an EA. If the path does not include "scripts" then MT4 will allow the file as an EA but not as a script.

 
gchrmt4:
I've had a quick experiment. It looks as though scripts have to be compiled from a directory called "scripts". Doesn't have to be the MQL directory; it can be any directory called "scripts". Or a subdirectory of a directory called "scripts".
Yep, I can confirm what you have found . . . very weird though.
 
RaptorUK:
Yep, I can confirm what you have found . . . very weird though.

It would have been less of a horrible kludge to introduce something like #property script, but it's presumably too late for that given that people have already been submitting things for the market.
 
gchrmt4:
It would have been less of a horrible kludge to introduce something like #property script, but it's presumably too late for that given that people have already been submitting things for the market.
Why can't a Script be an EA and an EA a Script ? that has been the case so far with MT4 upto build 509 ? why is there suddenly an issue ? The difference is how many time start() gets called . . . start() is still valid in mql4-new
 
RaptorUK:
Why can't a Script be an EA and an EA a Script ? that has been the case so far with MT4 upto build 509 ? why is there suddenly an issue ? The difference is how many time start() gets called . . . start() is still valid in mql4-new


Does using OnStart() in place of start() solve the issue? If yes, I would not dig into it. They combined two scripts into one and it is a miracle that the mess somehow works. This is not a real issue, just annoying.
 
Ovo: Does using OnStart() in place of start() solve the issue?
Good Point.
 
Ovo:

Does using OnStart() in place of start() solve the issue?

Seems to, yes.

If the code contains both OnStart() and OnTick() - because, for whatever reason, you're trying to write a single file which is usable as both an EA and a script - then OnStart() takes precedence and the file can be used only as a script.

The only bit which is weird is why it's suddenly necessary to do this, 24 hours before launch, and after 9 years of the platform behaving a different way. The Gantt chart for this project must look like a Rorschach test.