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, _Period, BAR_NUMBER, 1, rates)!=1)
     {
      PrintFormat("CopyRates() failed for bar %d. Error %d", BAR_NUMBER, GetLastError());
      return;
     }
       
//--- Konvertierung des erhaltenen Preises und der Zeit in Chart-Pixel-Koordinaten
   int x=0, y=0;
   ResetLastError();
   if(!ChartTimePriceToXY(ChartID(), 0, rates[0].time, rates[0].close, x, y))
     {
      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_NUMBER, TimeToString(rates[0].time), _Digits, rates[0].close, x, y);
   
   /*
   Ergebnis:
   For bar[0] with opening time 2024.08.09 15:06 and price 1.27378, the chart coordinates are x: 784, y: 240
   */
  }

Siehe auch

ChartXYToTimePrice()