ChartTimePriceToXY

Convertit les coordonnées du graphique de la représentation temps/prix pour les coordonnées selon les axes X et Y.

bool  ChartTimePriceToXY(
   long           chart_id,     // l'identificateur du graphique
   int            sub_window,   //le numéro de la sous-fenêtre
   datetime       time,         // le temps sur le graphique
   double         price,        // le prix sur le graphique
   int&           x,            // la coordonnée X pour le temps sur le graphique
   int&           y             // la coordonnée Y pour le prix sur le graphique
   );

Paramètres

chart_id

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

sub_window

[in]  Le numéro de la sous-fenêtre du graphique. 0 signifie la fenêtre principale du graphique.

time

[in] La valeur Temps sur le graphique, en pixels sur l'axe X. Le point d'origine se trouve dans le coin supérieur gauche de la fenêtre principale du graphique.

price

[in]   Le prix sur le graphique, en pixels sur l'axe Y. Le point d'origine se trouve dans le coin supérieur gauche de la fenêtre principale du graphique.

x

[out]  La variable, où sera écrite la transformation du temps en coordonnée X.

y

[out]   La variable, où sera écrite la transformation du prix en coordonnée Y.

Valeur de Retour

Retourne true en cas de l'exécution réussie, sinon false. Pour obtenir des informations sur l'erreur, il faut appeler la fonction GetLastError () .

Exemple :

#define   BAR_NUMBER    0  // numéro de la barre dont nous obtenons le prix et l'heure
 
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- copie les données d'une seule barre située l'index BAR_NUMBER
   MqlRates rates[]={};
   if(CopyRates(_Symbol_PeriodBAR_NUMBER1rates)!=1)
     {
      PrintFormat("CopyRates() failed for bar %d. Error %d"BAR_NUMBERGetLastError());
      return;
     }
       
//--- convertit le prix et l'heure obtenus en coordonnées de pixels du graphique
   int x=0y=0;
   ResetLastError();
   if(!ChartTimePriceToXY(ChartID(), 0rates[0].timerates[0].closexy))
     {
      Print("ChartTimePriceToXY() failed. Error "GetLastError());
      return;
     }
     
//--- écrit le résultat obtenu dans le journal
   PrintFormat("For bar[%d] with opening time %s and price %.*f, the chart coordinates are x: %d, y: %d"BAR_NUMBERTimeToString(rates[0].time), _Digitsrates[0].closexy);
   
   /*
   résultat :
   For bar[0with opening time 2024.08.09 15:06 and price 1.27378the chart coordinates are x784y240
   */
  }

Voir aussi

ChartXYToTimePrice()