ChartTimePriceToXY

Çizelge koordinatlarını zaman/fiyat ifadesinden X ve Y ifadesine dönüştürür.

bool  ChartTimePriceToXY(
   long           chart_id,     // Çizelge tanımlayıcı
   int            sub_window,   // Alt pencerenin numarası
   datetime       time,         // Çizelge üstündeki zaman
   double         price,        // Çizelge üstündeki fiyat
   int&           x,            // Çizelge üstündeki zaman için X koordinatı
   int&           y             // Çizelge üstündeki fiyat için Y koordinatı
   );

Parametreler

chart_id

[in]  Çizelge tanımlayıcısı. 0, mevcut çizelge anlamına gelir.

sub_window

[in]  Çizelge alt penceresinin numarası. 0, ana çizelge penceresi demektir.

time

[in]  Çizelgedeki zaman değeri, değer X ekseninde pikseller olarak alınacaktır. Orjin, ana çizelge penceresi sol üst köşesidir.

price

[in]   Çizelgedeki fiyat değeri, değer Y ekseninde pikseller olarak alınacaktır. Orjin, ana çizelge penceresi sol üst köşesidir.

x

[out]  Zaman ekseninden X eksenine dönüşümün yapılacağı değişken.

y

[out]  Fiyat ekseninden Y eksenine dönüşümün yapılacağı değişken.

Dönüş değeri

Başarılı ise 'true' değerine, aksi durumda 'false' değerine dönüş yapar. Hata ile ilgili bilgi almak için, GetLastError() fonksiyonunu çağırın.

Örnek:

#define   BAR_NUMBER    0  // fiyatı ve zamanı aldığımız çubuğun numarası
 
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- BAR_NUMBER indeksine göre tek bir çubuğun verilerini kopyala
   MqlRates rates[]={};
   if(CopyRates(_Symbol, _Period, BAR_NUMBER, 1, rates)!=1)
     {
      PrintFormat("CopyRates() failed for bar %d. Error %d", BAR_NUMBER, GetLastError());
      return;
     }
       
//--- elde edilen fiyat ve zamanı grafik piksel koordinatlarına dönüştür
   int x=0, y=0;
   ResetLastError();
   if(!ChartTimePriceToXY(ChartID(), 0, rates[0].time, rates[0].close, x, y))
     {
      Print("ChartTimePriceToXY() failed. Error ", GetLastError());
      return;
     }
     
//--- elde edilen sonucu günlüğe yazdır
   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);
   
   /*
   sonuç:
   For bar[0] with opening time 2024.08.09 15:06 and price 1.27378, the chart coordinates are x: 784, y: 240
   */
  }

Ayrıca Bakınız

ChartXYToTimePrice()