ObjectGetInteger

Spécifie la valeur de la propriété correspondante de l'objet. La propriété de l'objet doit être du type datetime, int, color, bool ou char. Il y a 2 variantes de la fonction.

1. Retourne immédiatement la valeur de la propriété.

long  ObjectGetInteger(
   long                             chart_id,          // identificateur du graphique
   string                           name,              // nom de l'objet
   ENUM_OBJECT_PROPERTY_INTEGER     prop_id,           // identificateur de la propriété
   int                              prop_modifier=0    // modificateur de la propriété
   );

2. Retourne true ou false en fonction du succès de l'exécution de la fonction. En cas de succès, la valeur de la propriété est placée dans la variable de réception transmise par référence (le dernier paramètre).

bool  ObjectGetInteger(
   long                             chart_id,          // identificateur du graphique
   string                           name,              // nom de l'objet
   ENUM_OBJECT_PROPERTY_INTEGER     prop_id,           // identificateur de la propriété
   int                              prop_modifier,     // modificateur de la propriété
   long&                            long_var           // valeur de la propriété
   );

Paramètres

chart_id

[in]  L'identificateur du graphique. 0 signifie le graphique courant.

name

[in]  Le nom de l'objet.

prop_id

[in]  L'identificateur de la propriété de l'objet. La valeur peut être l'une des valeurs de l'énumération ENUM_OBJECT_PROPERTY_INTEGER.

prop_modifier

[in]  Le modificateur de la propriété indiquée. Pour la première variante, par défaut la valeur du modificateur est égal à 0. La plupart des propriétés ne nécessite pas de modificateur. Signifie le numéro du niveau pour les outils de Fibonacci et pour l'objet Fourchette d'Andrews. La numérotation des niveaux commence à 0.

long_var

[out] La valeur du type long, prenant la valeur de la propriété demandée.

Valeur de Retour

La valeur du type long pour la première variante de l'appel.

Pour la deuxième variante de l'appel, retourne true si cette propriété est disponible et que la valeur a été copiée dans la variable double_var, sinon retourne false. Pour obtenir des informations supplémentaires sur l'erreur, il est nécessaire d'appeler la fonction GetLastError().

Note

La fonction utilise un appel synchrone, ce qui signifie que la fonction attend la fin de l'exécution de toutes les commandes présentes dans la queue de ce graphique avant cet appel. C'est pourquoi cette fonction peut être consommatrice en terme de temps. Cette caractéristique doit être prise en compte lors de l'utilisation d'un grand nombre d'objets sur un graphique.

 

Exemple :

#property copyright "Copyright 2025, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
 
#define   OBJ_NAME   "TestObjectGetInteger"  // Nom de l'objet
 
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- Identifiant du graphique courant
   long chart_id=ChartID();
 
//--- crée un objet graphique "Ligne verticale" à l'heure connue du serveur
   if(!ObjectCreate(chart_idOBJ_NAMEOBJ_VLINE0TimeCurrent(), 0))
     {
      Print("ObjectCreate() failed. Error "GetLastError());
      return;
     }
//--- mets à jour le graphique pour refléter immédiatement les modifications
   ChartRedraw(chart_id);
   
//--- récupère l'heure de création de l'objet
   long long_var=0;
   if(!ObjectGetInteger(chart_idOBJ_NAMEOBJPROP_CREATETIME0long_var))
     {
      Print("ObjectGetInteger() failed. Error "GetLastError());
      return;
     }
//--- représentation textuelle de l'heure de création de l'objet
   string create_time=TimeToString((datetime)long_varTIME_DATE|TIME_MINUTES|TIME_SECONDS);
   
//--- récupère l'heure mise dans l'objet
   if(!ObjectGetInteger(chart_idOBJ_NAMEOBJPROP_TIME0long_var))
     {
      Print("ObjectGetInteger() failed. Error "GetLastError());
      return;
     }
//--- représentation textuelle de l'heure de localsation de l'objet
   string obj_time=TimeToString((datetime)long_varTIME_DATE|TIME_MINUTES|TIME_SECONDS);
   
//--- récupère le type de l'objet
   ENUM_OBJECT object_type=(ENUM_OBJECT)ObjectGetInteger(chart_idOBJ_NAMEOBJPROP_TYPE);
   
//--- affiche dans le journal le type d'objet, l'heure de sa création et l'heure sur le graphique où se trouve l'objet graphique.
   PrintFormat("%s object created at %s at chart point with time %s",EnumToString(object_type), create_timeobj_time);
   
//--- attend 2 secondes et supprime l'objet créé
   Sleep(2000);
   ObjectDelete(chart_idOBJ_NAME);
   ChartRedraw(chart_id);
   /*
   résultat :
   OBJ_VLINE object created at 2025.02.01 12:15:37 at chart point with time 2025.01.31 23:54:59
   */
  }