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

 

Bonne année à tous !


Pouvez-vous me dire s'il est possible d'utiliser plus de 8 tampons pour les indicateurs, et si les méthodes telles que DRAW_FILLING fonctionnent correctement ?

Puis-je avoir un exemple concret ?

Parce que j'ai des choses étranges, bien que le compilateur ne se plaint pas. Compte tenu du fait que je n'ai rien fait dans MQL5, je me suis peut-être trompé :)


Le compilateur a une erreur : TimeTradeServer' - fonction non définie

Cela signifie-t-il que la fonction a été perdue ?


 
ALXIMIKS:

3) la mémoire peut être de 4-8 Gigs ou plus....da et les processeurs i5 et i7 ne sont pas rares...

et le terminal 4K est en 32bit et si je ne me trompe pas, ne peut pas utiliser plus de 2g de RAM, avez-vous déjà pensé à cela ?

1) A propos des 8 buffers seulement, il est probable que cela soit dû à l'architecture, ou à la RAM, je ne sais pas exactement.

3. sur les systèmes d'exploitation 64 bits, 4 Go maximum.

1) Il s'agit d'une limitation artificielle. Vous pouvez en avoir plus, mais ils ne le veulent pas. Probablement trop à refaire.

 

De la référence :

StringBufferLen

Renvoie la taille du tampon alloué à la chaîne de caractères.

int StringBufferLen(
string string_var // string
)

La taille minimale du tampon est de 16.

mais en réalité, la taille minimale du tampon alloué à la chaîne est de 123.

Lorsque vous utilisez

StringInit

Initialise la chaîne avec les caractères spécifiés et fournit la taille de chaîne spécifiée.

bool StringInit(
string& string_var, // chaîne à initialiser
int new_len=0, // longueur requise de la chaîne après initialisation
ushort character=0 // caractère pour remplir la chaîne
)

La taille du tampon est toujours égale à 123, et l'exemple de la référence est incorrect (StringBufferLen(str) = 123) :

void OnStart()
  {
   string str;
   StringInit(str,20,'_');
   Print("str = ",str);
   StringFill(str,0);
   Print("str = ",str,": StringBufferLen(str) = ", StringBufferLen(str));
  }
// Результат
//   str = ____________________
//   str =  : StringBufferLen(str) = 20
//

Référence MQL4 / Fonctions de chaîne / StringFill


 

Bonne année, chers collègues !

Quelle est la dernière version en date ? Une version supérieure à 568 a-t-elle été publiée ?

J'ai juste le sentiment que le terminal ne se met plus à jour.

 
Night63:

Bonne année, chers collègues !

Quelle est la dernière version en date ? Une version supérieure à 568 a-t-elle été publiée ?

J'ai juste le sentiment que le terminal ne se met plus à jour.

Il n'y aura pas de mise à jour avant le 5. Il y a un soupçon que vous ne savez pas lire pendant les vacances ;) Renat a écrit à ce sujet très récemment.
 
artmedia70:
On soupçonne que les gens ne savent pas lire pendant les vacances ;) Renat a écrit à ce sujet très récemment.


"Assez récemment" - c'était l'année dernière ! ;)

Merci ! Ça m'a vraiment manqué.

 
Y.A.K._:

Bonne année à tous !


Pouvez-vous me dire s'il est possible d'utiliser plus de 8 tampons pour les indicateurs, et si des méthodes telles que DRAW_FILLING fonctionnent correctement ?

Puis-je avoir un exemple concret ?

Parce que j'ai des choses étranges, bien que le compilateur ne se plaint pas. Compte tenu du fait que je n'ai rien fait dans MQL5, je me suis peut-être trompé :)


Le compilateur a une erreur : TimeTradeServer' - fonction non définie

Cela signifie-t-il que la fonction a disparu ?


Les questions ont été inondées de substance.
 

Bonne année !

J'essaie de créer une étiquette graphique avec du texte, mais cela ne fonctionne pas.

bool Graf(string txt,int x,int y,string text,int widch,int heigt,color colbg,color coltx,int cor)
  {
   if(ObjectFind(txt)==-1)
   ObjectCreate(0,txt,OBJ_RECTANGLE_LABEL,0,0,0);
   ObjectSetInteger(0,txt,OBJPROP_CORNER,cor);
   ObjectSetInteger(0,txt,OBJPROP_ANCHOR,ANCHOR_LEFT);
   ObjectSetInteger(0,txt,OBJPROP_BGCOLOR,colbg);
   ObjectSetInteger(0,txt,OBJPROP_XDISTANCE,x);
   ObjectSetInteger(0,txt,OBJPROP_YDISTANCE,y);
   ObjectSetString (0,txt,OBJPROP_TOOLTIP,name);
   ObjectSetString (0,txt,OBJPROP_TEXT,text);
   ObjectSetInteger(0,txt,OBJPROP_XSIZE,widch);
   ObjectSetInteger(0,txt,OBJPROP_YSIZE,heigt);
   ObjectSetString (0,txt,OBJPROP_FONT,"Arial");
   ObjectSetInteger(0,txt,OBJPROP_COLOR,coltx);
   ObjectSetInteger(0,txt,OBJPROP_BORDER_COLOR,C'80,80,80');
   ObjectSetInteger(0,txt,OBJPROP_SELECTABLE,true);
   ObjectSetInteger(0,txt,OBJPROP_SELECTED,true);   
   ObjectSetInteger(0,txt,OBJPROP_FONTSIZE,10);
   ChartRedraw();
   return true;
  }

Une étiquette graphique apparaît

Mais il n'y a pas de texte dessus ...

Cela n'ajouterait-il pas un texte pour créer un OBJ_Label supplémentaire ?

Je ne vois pas l'intérêt de créer des boutons avec du texte au centre...

 

Le serveur n'est pas disponible ou s'agit-il d'un bug du terminal ?

 
vadynik:

Le serveur n'est pas disponible ou s'agit-il d'un bug du terminal ?


Le serveur est disponible. Mais je vous conseille de réfléchir 10 fois avant de faire une mise à jour. La version bêta est en cours de test, si vous ne voulez pas de pépins, vous ne devriez pas le faire.
Raison: