MetaTrader 4 Build 529 beta released with new compiler - page 103

 
pro_:

What I wrote about (page 68) hasn't been fixed yet, but I'm sure it will be soon, too.
And the gravitsapa will be made ;)
 
artmedia70:
And a gravitsapa will be made ;)


Mama, mama, what are we going to do...
"It's very difficult to penetrate a language when you think in two languages at once." (c) Kin-dza-dza

So it is difficult to understand a language that is currently composed of two languages (mql4 and mql5).
I really hope that all libraries will be rewritten and the functionality will remain.

 
Don't panic, gentlemen... Keep both hemispheres together. :)
 
Lion.Fx:

Mama, Mama, what are we going to do, .....
It's very hard to get into the language when you're thinking in two languages at once. (c) Kin-dza-dza

It's difficult to understand a language which is currently composed of two languages (mql4 and mql5).
I really hope that all the libraries will be rewritten and the functionality will remain.


The function ObjectCreate() in the library should be corrected just a little bit.

for example in "ChartObjectsBmpControls.mqh" instead:

ObjectCreate(chart_id,name,OBJ_BITMAP_LABEL,window,0,0.0)

make :

ObjectCreate(name,OBJ_BITMAP_LABEL,window,0,0.0) 
 
ALXIMIKS:


in the library, you just need to tweak the ObjectCreate() function a bit

e.g. in "ChartObjectsBmpControls.mqh" instead:

make :

Why change it? You can keep them both. The most harmonious option.
 
MetaDriver:
Why replace them? You can keep them both. The most harmonious option.


On a new build it will recompile the library anyway.

The way out is to inherit and add your own function, but if the developers fix the problem, there's no point in everything.

 
#property  strict

int iter=500000;

#define  S1      "abc"
#define  S2      "bcd"

void OnStart()
  {
        uint    startt,stopt;
   string s,s1;

   s1=S1; s="";
   Print("iter=",iter," s1=\"",s1,"\"");
   
//--- first method
   s1=S1; s="";
   startt=GetTickCount(); for(long i=0; i<iter; i++) s+=s1; stopt=GetTickCount();
   Print("s+=s1, time=",(stopt-startt)," ms, strlen=",StringLen(s));

//--- second method
   s1=S1; s="";
   startt=GetTickCount(); for(long i=0; i<iter; i++) StringAdd(s,s1); stopt=GetTickCount();
   Print("StringAdd(s,s1), time=",(stopt-startt)," ms, strlen=",StringLen(s));

//--- third method
   s1=S1; s="";
   startt=GetTickCount(); for(long i=0; i<iter; i++) s=StringConcatenate(s,s1); stopt=GetTickCount();
   Print("s=StringConcatenate(s,s1), time=",(stopt-startt)," ms, strlen=",StringLen(s));
}

teststr gives.

2013.12.08 21:12:41.866 teststr USDCHF,H1: removed
2013.12.08 21:12:41.855 teststr USDCHF,H1: s=StringConcatenate(s,s1), time=57564 ms, strlen=451434
2013.12.08 21:11:44.295 teststr USDCHF,H1: StringAdd(s,s1), time=16 ms, strlen=1500000
2013.12.08 21:11:44.284 teststr USDCHF,H1: s+=s1, time=530 ms, strlen=1500000
2013.12.08 21:11:43.749 teststr USDCHF,H1: iter=500000 s1="abc"
2013.12.08 21:11:43.746 teststr USDCHF,H1: loaded successfully


watch STRLEN.... (works fine with iter=3000 or any small iter)

build 555

 
I found the reason why some objects are not visible in the chart and have zero parameters. This happens if the name of the object is built from some data in the EA and it is more than a certain number of characters and is truncated. Such an object has zero parameters. In the 509th it was output with a truncated name, in 555 it is output, but has zero price and time coordinates.
 

It's funny. The name of Expert Advisor includes names of its subfolders.

This unnecessarily increases the size of the expert's name.

For example: If the name of the Expert Advisor is Expert and it is stored in Terminal_directory\MQL4\experts\Orders\Nickname,

then the name of the Expert Advisor would not be Expert, but Orders\Customer_name\Expert. If names of objects include Expert_name and object_name_time, it is already overrun by the number of characters, and the object will be output at zero price and zero time.

If object names include an EA name to be cleaned up when deinitialised, this leaves very little space for the object name itself.

Will this be changed, or will it remain so?

 
sanyooooook:

updated to 555 terminal does not see files of scripts, Expert Advisors and indicators, they are in the terminal directory.

Screenshot


Could you please clarify your point?

In the screenshot you presented, there are scripts, experts and indicators