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

 
Still, seen strictly and with a clean coding approach you always have to use DoubleToStr() before doing any of the other string functions, they should not be done on a integer / double without converting it to a string first.
 
Alabarce:
Images show in the problem, because surely not have believed it.

Built with:

StringConcatenate ()

NormalizeDouble(OrderProfit(), 1)

Comment().


If built with DoubleToStr(OrderProfit(), 1), the error does not appear.

In version 509 and above has always worked well.

Show your code please.
 
ubzen:

Microsoft and Apple don't care if my apps from 5_years ago still works, Why should Meta-Quotes?

I have programs like corel_photoshop which came with my old computer_xp. Xp compatibility mode still doesn't let me install these programs. Thats just one example. Don't even get me started with Apple. Software companies come up with new_version of everything every year. Most of these websites do-not even maintain drivers for devices I purchased 3 years ago. When playstation goes from 2->3 || 3->4. All my favorite games from ps1,2,3 become useless. Where is the backward compatibility there? I'm pretty sure I've seen this clause from billion dollar software companies "that operating system is no longer supported". Good Luck.

If people think that all scripts || ea || indicators ever stock_piled online should always be usable within meta-trader then they should perhaps ask what happened to mt1 || mt2 || mt3.

I agree, and I think MQ has obviously made a big effort to try to get us backwards compatability there are still some issues but this was a big undertaking, and such things dont always go according to plan.
 
SDC: I agree, and I think MQ has obviously made a big effort to try to get us backwards compatability there are still some issues but this was a big undertaking, and such things dont always go according to plan.

Yeah, and one last reminder.

*** The backwards compatibility was suppose to be mostly for .ex4 files.

Most of the thousands of codes from other forums, mql4_repository, code_base should work.

The ones which doesn't because of special_characters and new_reserve_word conflicts can be easily fixed.

I'm saving a copy of the old_built so that I could recompile those old_syntax should I need to.

The above stuff ^ was known to be the case with the very first announcement.

..........

..........

For the stuff which doesn't work like .DLL support and OHLC_Structure format.

Sure I would love-it if everything worked and I didn't have to lift a finger + new features.

For the .Dll issue:

  • It isn't an .ex4, its not even mql4
  • Didn't MQ say they'll be going after 3rd party add-on?
  • IIRC, MQ never recommends explicit file paths

For the ohlc_structure issue:

  • If this means support for Spreads & Real_Volume I'm willing to accept.
  • Need more tests, but It isn't as bad as I expected.

..........

..........

I respect that everyone isn't going to agree with these results. But I think MQ has done a fine job thus far.

Lets move onto solving problems .... and let time be the judge :)

 
forexgeeker:
regardless if on different user accounts [...]

I know how it's working, and I'd be amazed if the limit were not per user-session on something like a VPS (or a desktop machine), rather than being truly global.

As an added bonus, I now have a security measure which completely prevents MT4 from starting up if I want to make absolutely sure that automated trading has been disabled. <g>

 
Of course on a VPS it´s a different story since each VPS = a virtual machine on a host and each VPS can launch 32 terminals, this does not apply for the whole server of course in this case. Anyhow, why this limit at all? It just stops many people with big machines from doing serious parallel optimization :( Please MQ, remove that or make MT4 support multi CPU cores! The limit was not there in build 509 and below.
 
Here I provide them the reduced code, and show on screen the same information that I have shown in the photographs.
Copy the code to an expert who has the ability to open orders in the Strategy Tester.

The problem is not on the 509 version.
and fully reproducible in version 584.
Files:
 
How about you just use DoubleToStr? That´s the right way to do it anyway and it works perfectly with build 584. MQL4 has become more strict as you know and that´s one of those things that became more strict and have to be coded with DoubleToStr anyway to be correct. Regardless if it worked in 509 or not, it is wrongly coded if you don´t use DoubleToStr, even for build 509. You just were lucky it worked there.
 
forexgeeker:
Of course on a VPS it´s a different story since each VPS = a virtual machine on a host and each VPS can launch 32 terminals, this does not apply for the whole server of course in this case. Anyhow, why this limit at all? It just stops many people with big machines from doing serious parallel optimization :( Please MQ, remove that or make MT4 support multi CPU cores! The limit was not there in build 509 and below.

I think the limit will apply per user-session on a VPS, not per VPS. In other words, on a VPS you can typically have 2 connections plus the console session, for a total limit of 3 x 32 = 96 MT4 instances per VPS.

That removes any purpose I can think of for this limit - which, anyway, isn't hard to circumvent. The way it turns out to work is less reliable and more prone to manipulation than some of the other routes which we speculated about.

 

forexgeeker:

Some interesting discovery I´ve just made: you can only launch 32 MT4 instances of this new build system wide!

This limitation is a problem for me also. 50 instances can be a better limit.

And i wish to have a compact MT4 terminal, to run EA's on multiple accounts of a broker. (One terminal runs many ea's on different accounts?)

Reason: