Visibilité des Objets

La conbinaison des flags de visibilité des objets détermine les périodes du graphiques dans lesquelles l'objet est visible. Pour définir/récupérer la valeur de la propriété OBJPROP_TIMEFRAMES, vous pouvez utiliser les fonctions ObjectSetInteger()/ObjectGetInteger().

Identifiant

Valeur

Description

OBJ_NO_PERIODS

0

L'objet n'est dessiné dans aucune période

OBJ_PERIOD_M1

0x00000001

L'objet est dessiné dans le graphique en 1-minute

OBJ_PERIOD_M2

0x00000002

L'objet est dessiné dans le graphique en 2-minutes

OBJ_PERIOD_M3

0x00000004

L'objet est dessiné dans le graphique en 3-minutes

OBJ_PERIOD_M4

0x00000008

L'objet est dessiné dans le graphique en 4-minutes

OBJ_PERIOD_M5

0x00000010

L'objet est dessiné dans le graphique en 5-minutes

OBJ_PERIOD_M6

0x00000020

L'objet est dessiné dans le graphique en 6-minutes

OBJ_PERIOD_M10

0x00000040

L'objet est dessiné dans le graphique en 10-minutes

OBJ_PERIOD_M12

0x00000080

L'objet est dessiné dans le graphique en 12-minutes

OBJ_PERIOD_M15

0x00000100

L'objet est dessiné dans le graphique en 15-minutes

OBJ_PERIOD_M20

0x00000200

L'objet est dessiné dans le graphique en 20-minutes

OBJ_PERIOD_M30

0x00000400

L'objet est dessiné dans le graphique en 30-minutes

OBJ_PERIOD_H1

0x00000800

L'objet est dessiné dans le graphique en 1-heure

OBJ_PERIOD_H2

0x00001000

L'objet est dessiné dans le graphique en 2-heures

OBJ_PERIOD_H3

0x00002000

L'objet est dessiné dans le graphique en 3-heures

OBJ_PERIOD_H4

0x00004000

L'objet est dessiné dans le graphique en 4-heures

OBJ_PERIOD_H6

0x00008000

L'objet est dessiné dans le graphique en 6-heures

OBJ_PERIOD_H8

0x00010000

L'objet est dessiné dans le graphique en 8-heures

OBJ_PERIOD_H12

0x00020000

L'objet est dessiné dans le graphique en 12-heures

OBJ_PERIOD_D1

0x00040000

L'objet est dessiné dans le graphique journalier

OBJ_PERIOD_W1

0x00080000

L'objet est dessiné dans le graphique hebdomadaire

OBJ_PERIOD_MN1

0x00100000

L'objet est dessiné dans le graphique mensuel

OBJ_ALL_PERIODS

0x001fffff

L'objet est dessiné sur toutes les périodes

Les flags de visibilité peut être combinés en utilisant le symbole "|", par exemple, la combinaison des flags OBJ_PERIOD_M10|OBJ_PERIOD_H4 signifie que l'objet sera visible dans les périodes 10-minutes et 4-heures.

Exemple :

void OnStart()
  {
//---
   string highlevel="PreviousDayHigh";
   string lowlevel="PreviousDayLow";
   double prevHigh;           // Le Plus Haut du jour précédent
   double prevLow;            // Le Plus Bas du jour précédent
   double highs[],lows[];     // Tableaux pour les Plus Haut et les Plus Bas
 
//---  Réinitialise la dernière erreur
   ResetLastError();
//--- Récupère les 2 derniers Plus Hauts dans la période Daily
   int highsgot=CopyHigh(Symbol(),PERIOD_D1,0,2,highs);
   if(highsgot>0) // Si la copie a échoué
     {
      Print("Les prix les Plus Hauts des 2 derniers jours ont été obtenus avec succès");
      prevHigh=highs[0]; // Le plus haut du jour précédent
      Print("prevHigh = ",prevHigh);
      if(ObjectFind(0,highlevel)<0) // Objet avec le nom highlevel non trouvé
        {
         ObjectCreate(0,highlevel,OBJ_HLINE,0,0,0); // Crée l'objet Ligne Horizontale
        }
      //--- Définit la valeur du niveau de prix pour la ligne highlevel
      ObjectSetDouble(0,highlevel,OBJPROP_PRICE,0,prevHigh);
      //--- Définit la visibilité sur PERIOD_M10 et PERIOD_H4 uniquement
      ObjectSetInteger(0,highlevel,OBJPROP_TIMEFRAMES,OBJ_PERIOD_M10|OBJ_PERIOD_H4);
     }
   else
     {
      Print("Echec de récupération des prix Plus Hauts des 2 derniers jours, Erreur = ",GetLastError());
     }
 
//---  Réinitialise la dernière erreur
   ResetLastError();
//--- Récupère les 2 derniers Plus Bas dans la période Daily
   int lowsgot=CopyLow(Symbol(),PERIOD_D1,0,2,lows);
   if(lowsgot>0) // Si la copie a réussit
     {
      Print("Les prix les Plus Bas des 2 derniers jours ont été obtenus avec succès");
      prevLow=lows[0]; // Le plus bas du jour précédent
      Print("prevLow = ",prevLow);
      if(ObjectFind(0,lowlevel)<0) // Objet avec le nom lowlevel non trouvé
        {
         ObjectCreate(0,lowlevel,OBJ_HLINE,0,0,0); // Crée l'objet Ligne Horizontale
        }
      //--- Définit la valeur du niveau de prix pour la ligne lowlevel
      ObjectSetDouble(0,lowlevel,OBJPROP_PRICE,0,prevLow);
      //--- Définit la visibilité sur PERIOD_M10 et PERIOD_H4 uniquement
      ObjectSetInteger(0,lowlevel,OBJPROP_TIMEFRAMES,OBJ_PERIOD_M10|OBJ_PERIOD_H4);
     }
   else Print("Echec de récupération des prix Plus Bas des 2 derniers jours, Erreur = ",GetLastError());
 
   ChartRedraw(0); // force le rafraîchissement du graphique
  }

Voir aussi

PeriodSeconds, Period, Périodes du Graphique, Date et heure