Questions des débutants MQL5 MT5 MetaTrader 5 - page 87

 
Silent:

Ça pourrait même être plus rapide... Bien que je ne sache pas à quoi cela ressemblera avec la réallocation de la mémoire.

Pouvez-vous me dire comment voir la quantité de mémoire que prend un conseiller expert et comment elle est réaffectée ?
 

Et pourtant, je n'arrive pas à comprendre pourquoi les niveaux ne sont pas créés à l'aide d'ObjectCreate. Toutes les fonctions fonctionnent, mais aucun objet OBJ_TREND n'est créé.

Il existe des variables définies au niveau global :

chaîne oRes, oSup, oPP, oRes1, oRes2, oRes3, oSup1, oSup2, oSup3, textPP, textR1, textR2, textR3, textS1, textS2, textS3 ;

Le code qui doit créer les niveaux :

void OnInit()
  {
   TimeOpenBar();
   ObjectCreate(0,oRes,OBJ_TREND,0,0,0,0,0);
   ObjectSetInteger(0,oRes,OBJPROP_COLOR,clrNavy);
   ObjectSetInteger(0,oRes,OBJPROP_STYLE,STYLE_SOLID);
   ObjectSetInteger(0,oRes,OBJPROP_WIDTH,2);
   ObjectSetInteger(0,oRes,OBJPROP_RAY,false);
   ObjectCreate(0,oSup,OBJ_TREND,0,0,0,0,0);
   ObjectSetInteger(0,oSup,OBJPROP_COLOR,clrNavy);
   ObjectSetInteger(0,oSup,OBJPROP_STYLE,STYLE_SOLID);
   ObjectSetInteger(0,oSup,OBJPROP_WIDTH,2);
   ObjectSetInteger(0,oSup,OBJPROP_RAY,false);
   CreateLevels();

   ObjectCreate(0,oPP,OBJ_TREND,0,0,0,0,0);
   ObjectSetInteger(0,oPP,OBJPROP_COLOR,clrDeepSkyBlue);
   ObjectSetInteger(0,oPP,OBJPROP_STYLE,STYLE_SOLID);
   ObjectSetInteger(0,oPP,OBJPROP_WIDTH,2);
   ObjectSetInteger(0,oPP,OBJPROP_RAY,false);
   ObjectCreate(0,oRes1,OBJ_TREND,0,0,0,0,0);
   ObjectSetInteger(0,oRes1,OBJPROP_COLOR,clrDeepSkyBlue);
   ObjectSetInteger(0,oRes1,OBJPROP_STYLE,STYLE_DASH);
   ObjectSetInteger(0,oRes1,OBJPROP_WIDTH,1);
   ObjectSetInteger(0,oRes1,OBJPROP_RAY,false);
   ObjectCreate(0,oSup1,OBJ_TREND,0,0,0,0,0);
   ObjectSetInteger(0,oSup1,OBJPROP_COLOR,clrDeepSkyBlue);
   ObjectSetInteger(0,oSup1,OBJPROP_STYLE,STYLE_DASH);
   ObjectSetInteger(0,oSup1,OBJPROP_WIDTH,1);
   ObjectSetInteger(0,oSup1,OBJPROP_RAY,false);
   PPlevel();
  }
Les amis, aidez-nous à résoudre ce problème. S'il vous plaît
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов - Документация по MQL5
 
fyords:
Imprimez les résultats de ObjectCreate, il y a peut-être une erreur.
Qu'est-ce que ça dit ? Avez-vous imprimé le résultat ?
 
Veuillez me conseiller sur la façon de trouver une littérature facile à comprendre (aussi simple que possible) sur l'analyse technique. Il semble être compréhensible au début, mais quand je commence à le lire, mon cerveau refuse de le comprendre :(
 
fyords:
Alors, qu'est-ce que ça dit ? Avez-vous fait une sortie du résultat ?
Ça n'a pas marché pour moi, je faisais quelque chose de mal. L'impression n'a rien donné.
 
NeSezon:
Veuillez me conseiller sur la façon de trouver la meilleure (aussi simple que possible) littérature sur l'analyse technique. Quand je commence à le lire, je le comprends, mais quand je commence à le lire en détail, mon cerveau refuse de le comprendre :(
Essayez la "petite encyclopédie du commerçant" de Naiman.
 
WindSW:
Ça n'a pas marché pour moi, je faisais quelque chose de mal. Print ne m'a rien donné.
ResetLastError();
bool result=ObjectCreate(0,oRes,OBJ_TREND,0,0,0,0,0);
Print("result=",result," GetLastError()=",GetLastError());
J'ai dû mal le faire.
 
fyords:
Ça a dû être la mauvaise chose à faire.
Oui, ce n'est vraiment pas comme ça que je l'ai fait. Il génère l'erreur "5040 - tainted parameter of string type". J'ai des paramètres pour les objets définis au niveau global (le compilateur prévient sans eux) sous la forme suivante : string oRes, oSup, oPP, oRes1 ; etc. Comment résoudre ce problème et comment spécifier correctement la chaîne de paramètres correcte, afin que tout fonctionne et que le compilateur ne jure pas ?
 
WindSW:
Oui, ce n'est vraiment pas comme ça que je l'ai fait. Il génère l'erreur "5040 - tainted parameter of type string". J'ai des paramètres pour les objets définis au niveau global (le compilateur avertit sans eux) comme ceci : string oRes, oSup, oPP, oRes1 ; etc. Comment résoudre ce problème et comment spécifier correctement la chaîne de paramètres correcte, de sorte que tout fonctionne et que le compilateur ne jure pas ?

Disons que vous avez déclaré des variables au niveau global, avez-vous attribué des valeurs à ces variables ?

Si ce n'est pas le cas, vous dites alors au programme "créez un objet avec telles et telles caractéristiques avec le nom..." et il y a un problème - le nom n'est pas donné. Donc ça ne la crée pas.

Ne serait-il pas plus simple de le spécifier directement dans le code ObjectCreate?

ResetLastError();
bool result=ObjectCreate(0,"Name1",OBJ_TREND,0,0,0,0,0);
Print("result=",result," GetLastError()=",GetLastError());
 
WindSW:
Essayez l'encyclopédie du petit commerçant de Nyman.
Merci ! Je l'ai trouvé. J'aimerais le lire un de ces jours.