MetaTrader 4 Client Terminal build 610 - page 30

 
is it available the opencl acceleration into the new mt4?
 

TerminalCompany issue: version 610-618

my script use TerminalCompany() to determine the server timezone,

when I install a cleaning mt4 version from forexTime, run TerminalCompany() will got "ForexTime Ltd."

but if I use a mt4 instance init install from MetaQuotes demo server, then switch to forexTime demo server and open demo account and login,

run TerminalCompany() will return "MetaQuotes Software Corp.", it's the init install version company string, not the new one.



 
Jimdandy:

Those stop loss levels are on his broker's server. The broker needs to explain why their server is not closing orders. That demo server needs rebooted apparently.

Sorry, but I fail to see what would a reboot change? If the stop loss data is already on server side, nothing should be changed.

I can understand that a broker omits stop loss execution on one tick, two ticks ... but constantly? For how long would that broker last? But since the broker still exists shouldn't the cause for the problem be seeked for at other place(s) ... so common at these days? Or these are going to be new rules of trading using metatrader terminal in which case not so bright times ahead of traders coming

all the best

 
ray:

TerminalCompany issue: version 610-618

my script use TerminalCompany() to determine the server timezone,

when I install a cleaning mt4 version from forexTime, run TerminalCompany() will got "ForexTime Ltd."

but if I use a mt4 instance init install from MetaQuotes demo server, then switch to forexTime demo server and open demo account and login,

run TerminalCompany() will return "MetaQuotes Software Corp.", it's the init install version company string, not the new one.



Why not use AccountCompany? As the server is determined by the account not the branded terminal?
 
ydrol:
Why not use AccountCompany? As the server is determined by the account not the branded terminal?


thank you, it works fine.
 

Is this a BUG?

double var=87.99999999999919;

Print("A1=",var);                      //Prints A1=87.99999999999919   OK
Print("A2=",NormalizeDouble(var,5));   //Prints A2=88.0                OK

var*=0.1;

Print("B1=",var);                      //Prints B1=8.799999999999919   OK
Print("B2=",NormalizeDouble(var,5));   //Prints B2=8.800000000000001   Not OK

//I would expect B2=8.8
 
sub:

Is this a BUG?

No, NormalizeDouble() does not format for printing . . . for that purpose you should be using DoubleToStr() or DoubleToString()
 

It is an annoying thing about the way computers handle doubles, even though it prints 8.800000000000001 it is 8.8

double var=87.99999999999919;

Print("A1=",var);                      //Prints A1=87.99999999999919   OK
Print("A2=",NormalizeDouble(var,5));   //Prints A2=88.0                OK

var*=0.1;

Print("B1=",var);                      //Prints B1=8.799999999999919   OK
Print("B2=",NormalizeDouble(var,5));   //Prints B2=8.800000000000001   Not OK

var = NormalizeDouble(var,5);
if(var==8.8) Print("var=8.8");         //Prints var==8.8
 
It seems that OnTesterInit does not work on version 610 and there is no such function in documentation.
 
RaptorUK:
No, NormalizeDouble() does not format for printing . . . for that purpose you should be using DoubleToStr() or DoubleToString()


Well, I am using Print to see what is inside the double. I believe that if I can't truncate to 4 or 5 digit the triggering and math will be unstable. This problem did not existed on the prior 5.9 version.

Notwithstanding the Print() function, in prior version if I had a problem with a triggering, usually when testing for "0", I would truncate by using NormalizeDouble() -- so how do you truncate?

Reason: