ChartTimePriceToXY

Konvertiert die Koordinaten des Charts aus der Darstellung von Zeit/Preis in die X- und Y- Koordinaten.

bool  ChartTimePriceToXY(
   long           chart_id,     // ID des Charts
   int            sub_window,   // Nummer des Unterfensters
   datetime       time,         // Zeit auf dem Chart
   double         price,        // Preis auf dem Chart
   int&           x,            // X-Koordinate für die Zeit auf dem Chart
   int&           y             // Y-Koordinate für den Preis auf dem Chart
   );

Parameter

chart_id

[in]  ID des Charts. 0 bedeutet den aktuellen Chart.

sub_window

[in]  Nummer des Unterfensters. 0 bedeutet das Hauptfenster des Charts.

time

[in]  Der Wert der Zeit auf dem Chart, für den ein Wert in Pixels auf der X-Achse erhalten wird. Der Ursprung ist in der oberen linken Ecke das Hauptfenster des Charts.

price

[in]   Der Wert des Preises auf dem Chart, für den ein Wert in Pixels auf der Y-Achse erhalten wird. Der Ursprung ist in der oberen linken Ecke das Hauptfenster des Charts.

x

[out]  Die Variable, in die Konvertierung von Zeit in X-Koordinate erhalten wird.

y

[out]  Die Variable, in die Konvertierung von Preis in Y-Koordinate erhalten wird.

Rückgabewert

Gibt bei Erfolg true zurück, ansonsten false. Um Informationen über den Fehler zu erhalten, rufen Sie die Funktion GetLastError().

Beispiel:

#define   BAR_NUMBER    0  // Nummer des Balkens dessen Preis und die Zeit wir erhalten
 
//+------------------------------------------------------------------+
//| Skript Programm Start Funktion                                   |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- Daten eines einzelnen Balkens durch den Index BAR_NUMBER kopieren
   MqlRates rates[]={};
   if(CopyRates(_Symbol_PeriodBAR_NUMBER1rates)!=1)
     {
      PrintFormat("CopyRates() failed for bar %d. Error %d"BAR_NUMBERGetLastError());
      return;
     }
       
//--- Konvertierung des erhaltenen Preises und der Zeit in Chart-Pixel-Koordinaten
   int x=0y=0;
   ResetLastError();
   if(!ChartTimePriceToXY(ChartID(), 0rates[0].timerates[0].closexy))
     {
      Print("ChartTimePriceToXY() failed. Error "GetLastError());
      return;
     }
     
//--- das erhaltene Ergebnis in das Journal drucken
   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);
   
   /*
   Ergebnis:
   For bar[0with opening time 2024.08.09 15:06 and price 1.27378the chart coordinates are x784y240
   */
  }

Siehe auch

ChartXYToTimePrice()