ObjectSetDouble

Spécifie la valeur de la propriété correspondante de l'objet. La propriété de l'objet doit être du type double. Il y a 2 variantes de la fonction.

Version sans modificateur

bool  ObjectSetDouble(
   long                            chart_id,          // identificateur du graphique
   string                          name,              // nom
   ENUM_OBJECT_PROPERTY_DOUBLE     prop_id,           // propriété
   double                          prop_value         // valeur
   );

Version avec modificateur

bool  ObjectSetDouble(
   long                            chart_id,          // identificateur du graphique
   string                          name,              // nom
   ENUM_OBJECT_PROPERTY_DOUBLE     prop_id,           // propriété
   int                             prop_modifier,     // modificateur 
   double                          prop_value         // valeur
   );

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_DOUBLE.

prop_modifier

[in]  Le modificateur de la propriété indiquée. 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.

prop_value

[in]  La valeur de la propriété.

Valeur de Retour

Retourne true seulement si la commande de changement de la propriété de l'objet graphique est envoyée avec succès au graphique, 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 asynchrone, ce qui signifie que la fonction n'attend pas la fin de l'exécution de la commande qui a été ajoutée dans la queue du graphique spécifié. Au lieu de cela, elle retourne le contrôle immédiatement.

Pour vérifier le résultat de l'exécution de la commande, vous pouvez utiliser une fonction demandant les propriétés de l'objet. Vous devriez cependant conserver à l'esprit que ce genre de fonctions est ajoutée à la fin de la queue de ce graphique, et qu'elles attendent le résultat de l'exécution, et peuvent donc être consommatrices 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 de création d'un objet de Fibonacci et d'ajout d'un nouveau niveau

//+------------------------------------------------------------------+
//| Fonction de démarrage du programme                               |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- tableaux auxiliaires
   double high[],low[],price1,price2;
   datetime time[],time1,time2;
//--- copie les prix d'ouverture des 100 dernières barres
   int copied=CopyHigh(Symbol(),0,0,100,high);
   if(copied<=0)
     {
      Print("Echec de la copie des valeurs des prix High");
      return;
     }
//--- copie les prix de clôture des 100 dernières barres
   copied=CopyLow(Symbol(),0,0,100,low);
   if(copied<=0)
     {
      Print("Echec de la copie des valeurs des prix Low");
      return;
     }
//--- copie les heures d'ouvertures des 100 dernières barres
   copied=CopyTime(Symbol(),0,0,100,time);
   if(copied<=0)
     {
      Print("Echec de la copie des valeurs des heures d'ouverture");
      return;
     }
//--- inverse l'accès aux données copiées (ne sont plus des séries temporelles)
   ArraySetAsSeries(high,true);
   ArraySetAsSeries(low,true);
   ArraySetAsSeries(time,true);
 
//--- coordonnées du premier point d'ancrage de l'objet de Fibonacci
   price1=high[70];
   time1=time[70];
//--- coordonnées du premier point d'ancrage de l'objet de Fibonacci
   price2=low[50];
   time2=time[50];
 
//--- il est temps de créer l'objet de Fibonacci
   bool created=ObjectCreate(0,"Fibo",OBJ_FIBO,0,time1,price1,time2,price2);
   if(created) // si l'objet est créé avec succès
     {
      //--- définition de la couleur des niveaux de Fibonacci
      ObjectSetInteger(0,"Fibo",OBJPROP_LEVELCOLOR,Blue);
      //--- retourne le nombre de niveaux de Fibonacci
      int levels=ObjectGetInteger(0,"Fibo",OBJPROP_LEVELS);
      Print("Niveaux de Fibonacci avant = ",levels);
      //--- écrit dans le journal le numéro du niveau et sa desription
      for(int i=0;i<levels;i++)
        {
         Print(i,":",ObjectGetDouble(0,"Fibo",OBJPROP_LEVELVALUE,i),
               "  ",ObjectGetString(0,"Fibo",OBJPROP_LEVELTEXT,i));
        }
      //--- augmente le nombre de niveaux
      bool modified=ObjectSetInteger(0,"Fibo",OBJPROP_LEVELS,levels+1);
      if(!modified) // échec du changement du nombre de niveaux
        {
         Print("Echec de changement du nombre de niveaux de Fibonacci, erreur ",GetLastError());
        }
      //--- nombre de niveaux après
      Print("Niveaux de Fibonacci après = ",ObjectGetInteger(0,"Fibo",OBJPROP_LEVELS));
      //--- spécifie la valeur pour le nouveau niveau créé
      bool added=ObjectSetDouble(0,"Fibo",OBJPROP_LEVELVALUE,levels,133);
      if(added) // le niveau a été modifié
        {
         Print("Succès de l'ajout du niveau de Fibonacci");
         //--- définit la description du niveau 
         ObjectSetString(0,"Fibo",OBJPROP_LEVELTEXT,levels,"my level");
         ChartRedraw(0);
         //--- récupère la valeur actuelle du nombre de niveaux dans l'objet Fibonacci
         levels=ObjectGetInteger(0,"Fibo",OBJPROP_LEVELS);
         Print("Niveaux de Fibonacci après l'ajout = ",levels);
         //--- récupère tous les niveaux pour vérification
         for(int i=0;i<levels;i++)
           {
            Print(i,":",ObjectGetDouble(0,"Fibo",OBJPROP_LEVELVALUE,i),
                  "  ",ObjectGetString(0,"Fibo",OBJPROP_LEVELTEXT,i));
           }
 
        }
      else // échec de la tentative d'augmentation du nombre de niveaux dans l'objet Fibo
        {
         Print("Echec de l'ajout d'un nouveau niveau de Fibonacci. L'erreur ",GetLastError());
        }
     }
  }

Voir aussi

Les types des objets, les propriétés des objets