ChartTimePriceToXY

Converte le coordinate di un grafico da una rappresentazione tempo/prezzo nelle coordinate X ed Y.

bool  ChartTimePriceToXY(
   long           chart_id,     // ID del Grafico
   int            sub_window,   // Il numero di sottofinestra
   datetime       time,         // Orario sul grafico
   double         price,        // Prezzo sul grafico
   int&           x,            // Le coordinate X per l'orario sul grafico
   int&           y             // Le coordinate Y per l'orario sul grafico
   );

Parametri

chart_id

[in] ID del Grafico. 0 significa il grafico corrente.

sub_window

[in] Il numero della sottofinestra grafico. 0 significa la finestra principale del grafico.

time

[in]  Il valore temporale sul grafico, per cui il valore in pixel, lungo l'asse X, verrà ricevuto. L'origine è l'angolo superiore sinistro della finestra principale del grafico.

price

[in]   Il valore del prezzo sul grafico, per cui il valora in pixel lungo l'asse Y verrà ricevuto. L'origine è l'angolo superiore sinistro della finestra principale del grafico.

x

[out]  La variabile, in cui la conversione del tempo ad X verrà ricevuta.

y

[out]  La variabile, in cui la conversione del prezzo ad Y verrà ricevuta.

Valore restituito

Restituisce true se ha successo, altrimenti false. Per ottenere informazioni sull'errore, chiamare la funzione GetLastError().

Esempio:

#define   BAR_NUMBER    0  // numero della barra dalla quale otteniamo il prezzo e il tempo
 
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- copiare i dati di una singola barra dall'indice BAR_NUMBER
   MqlRates rates[]={};
   if(CopyRates(_Symbol_PeriodBAR_NUMBER1rates)!=1)
     {
      PrintFormat("CopyRates() failed for bar %d. Error %d"BAR_NUMBERGetLastError());
      return;
     }
       
//--- convertire il prezzo e l'ora ottenuti in coordinate pixel del grafico
   int x=0y=0;
   ResetLastError();
   if(!ChartTimePriceToXY(ChartID(), 0rates[0].timerates[0].closexy))
     {
      Print("ChartTimePriceToXY() failed. Error "GetLastError());
      return;
     }
     
//--- stampare il risultato ottenuto nel 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);
   
   /*
   risultato:
   For bar[0with opening time 2024.08.09 15:06 and price 1.27378the chart coordinates are x784y240
   */
  }

Vedi anche

ChartXYToTimePrice()