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

 
RaptorUK:

A script is not a script . . .

I've just written a test script to test capturing screen shots . . . I'm having problems with screen shot being captured under 582 from an EA running in the Strategy Tester, WindowScreenShot() returns true but the file is nowhere to be found . . . anyway, I created this simple script . . .

it works as expected under 509, so I compile it under ME 883 and run it in build 582 . . .

. . . oh yes it is ! !


Probably because Scripts do not usually have init(), deinit(). You used an EA template.
 
mladen:

Why the is it prohibited to make a recursive call to the indicators now (build 582 - strict or no strict mode does not matter)? What is the purpose of that? Wasn't it the responsibility of the coders to make working code?

Here is one simple example that uses the same indicator not once but 3 times (to calculate normal values, to get the number of changed bars of the target time frame when in multi time frame mode and to do multi time frame calculations) that worked perfectly well till this last build which prohibits it to work in multi time frame mode. And that is just one example of such a multi time frame indicator that will not work any more (and there are hundreds of similar ones). This restriction has no cause in any common coding errors. If the code for this indicator was not written properly it simply would not work properly and nobody would use an indicator that is not working. This is a great disappointment and it, if it stays like this, will put us back 10 years in the ways how the things were done then and how the things are done today. Not even metatrader 5 has that restriction

PS: enum options are still having inverted order when used from the drop down box


At the moment, we were forced to disable recursion of indicator calls. This is a temporary measure and the behavior will be changed in the nearest future.

Please create a Service Desk ticket.

 
SDC:

Probably because Scripts do not usually have init(), deinit(). You used an EA template.
All my scripts have init() and deint() and there have never been issues on 509 or earlier. I don't use templates . . .
 
alexvd:

At the moment, we were forced to disable recursion of indicator calls. This is a temporary measure and the behavior will be changed in the nearest future.

Please create a Service Desk ticket.

Ah...why is it working for me ?
 
RaptorUK:
Compile the script in the new Meta Editor, copy the .ex4 to the Script folder of MT4 build 582, start MT4, drag and drop the script onto a chart.

Ok I can reproduce it, if I compile the script outside of the Script folder then move it to this folder.

But I don't understand why you place your script outside of the Script folder at first.
 
angevoyageur:

Ok I can reproduce it, if I compile the script outside of the Script folder then move it to this folder.

But I don't understand why you place your script outside of the Script folder at first.
I have a folder structure with all my code and it is not tied to any one terminal installation. It is on my fileserver, my terminals are local.
 
RaptorUK:

So I made this into an EA . . . added a GlobalVariableGet() so it doesn't grab a chart for each tick and ran it n the Strategy Tester . . .

. . . and then on a live chart . . .

I can't find these files on my hard drive . . .

Support Team 2014.01.31 11:20
fixed


 
RaptorUK:
I have a folder structure with all my code and it is not tied to any one terminal installation. It is on my fileserver, my terminals are local.

Ah ok. Maybe you can consider Mql5 Storage, it's really easy to use.
 
angevoyageur:
Ah ok. Maybe you can consider Mql5 Storage, it's really easy to use.
It's how I have done it for 5 years and never had any issues . . .
 
RaptorUK:
It's how I have done it for 5 years and never had any issues . . .

... 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.
Reason: