MetaTrader 4 Build 529 beta publié avec un nouveau compilateur - page 103

 
pro_:

Ce que j'ai écrit (page 68) n'a pas encore été corrigé, mais je suis sûr qu'il le sera bientôt aussi.
Et la gravitsapa sera faite ;)
 
artmedia70:
Et un gravitsapa sera fait ;)


Maman, maman, qu'est-ce qu'on va faire...
"Il est très difficile de pénétrer une langue quand on pense en deux langues à la fois." (c) Kin-dza-dza

Il est donc difficile de comprendre une langue qui est actuellement composée de deux langues (mql4 et mql5).
J'espère vraiment que toutes les bibliothèques seront réécrites et que la fonctionnalité sera maintenue.

 
Pas de panique, messieurs... Gardez les deux hémisphères ensemble. :)
 
Lion.Fx:

Maman, maman, qu'est-ce qu'on va faire, ......
Il est très difficile d'entrer dans la langue quand on pense en deux langues à la fois. (c) Kin-dza-dza

Il est difficile de comprendre une langue qui est actuellement composée de deux langues (mql4 et mql5).
J'espère vraiment que toutes les bibliothèques seront réécrites et que la fonctionnalité sera maintenue.


La fonction ObjectCreate() de la bibliothèque doit être corrigée un tout petit peu.

par exemple dans "ChartObjectsBmpControls.mqh" à la place :

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

faire :

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


dans la bibliothèque, il suffit de modifier un peu la fonction ObjectCreate().

par exemple dans "ChartObjectsBmpControls.mqh" à la place :

faire :

Pourquoi le changer ? Vous pouvez garder les deux. L'option la plus harmonieuse.
 
MetaDriver:
Pourquoi les remplacer ? Vous pouvez garder les deux. L'option la plus harmonieuse.


Lors d'une nouvelle construction, la bibliothèque sera recompilée de toute façon.

La solution est d'hériter et d'ajouter sa propre fonction, mais si les développeurs corrigent le problème, cela ne sert à rien.

 
#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 donne.

2013.12.08 21:12:41.866 teststr USDCHF,H1 : supprimé
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 : chargement réussi


regarder STRLEN.... (fonctionne bien avec iter=3000 ou tout autre iter de petite taille)

construire 555

 
J'ai trouvé la raison pour laquelle certains objets ne sont pas visibles dans le graphique et ont des paramètres nuls. Cela se produit si le nom de l'objet est construit à partir de certaines données de l'EA et qu'il dépasse un certain nombre de caractères et est tronqué. Un tel objet n'a pas de paramètres. Dans le 509e, il est sorti avec un nom tronqué, dans le 555, il est sorti, mais avec des coordonnées de prix et de temps nulles.
 

C'est drôle. Le nom du conseiller expert inclut les noms de ses sous-dossiers.

Cela augmente inutilement la taille du nom de l'expert.

Par exemple : Si le nom du conseiller expert est Expert et qu'il est stocké dans le répertoire Terminal_directory\MQL4\experts\Orders\Nickname,

alors le nom du conseiller expert ne serait pas Expert, mais Orders\Customer_name\Expert. Si les noms des objets comprennent Expert_name et object_name_time, le nombre de caractères est déjà dépassé, et l'objet sera édité à un prix et un temps nuls.

Si les noms d'objets incluent un nom d'EA qui doit être nettoyé lors de la désinitialisation, cela laisse très peu de place pour le nom d'objet lui-même.

Cela va-t-il changer, ou cela restera-t-il ainsi ?

 
sanyooooook:

mis à jour vers 555 terminal ne voit pas les fichiers de scripts, Expert Advisors et indicateurs, ils sont dans le répertoire du terminal.

Capture d'écran


Pourriez-vous clarifier votre point de vue ?

Dans la capture d'écran que vous avez présentée, il y a des scripts, des experts et des indicateurs.