ChartXYToTimePrice

Çizelge üzerindeki X ve Y koordinatlarını zaman ve fiyat değerlerine çevirir.

bool  ChartXYToTimePrice(
   long           chart_id,     // Çizelge tanımlayıcı
   int            x,            // Çizelgedeki X koordinatı
   int            y,            // Çizelgedeki Y koordinatı
   int&           sub_window,   // Alt pencere numarası
   datetime&      time,         // Çizelgedeki zaman
   double&        price         // Çizelgedeki fiyat
   );

Parametreler

chart_id

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

x

[in]  X koordinatı.

y

[in]  Y koordinatı.

sub_window

[out]  Alt pencere numarasının yazıldığı değişken. 0, ana çizelge penceresi demektir.

time

[out]  X ekseni boyunca piksellerin alınacağı, çizelge üzerindeki zaman değeri. Orjin, ana çizelge pencerenin sol üst köşesidir.

price

[out]  Y ekseni boyunca piksellerin alınacağı, çizelge üzerindeki fiyat değeri. Orjin, ana çizelge pencerenin sol üst köşesidir.

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:

//+------------------------------------------------------------------+
//| ChartEvent function                                              |
//+------------------------------------------------------------------+
void OnChartEvent(const int id,
                  const long &lparam,
                  const double &dparam,
                  const string &sparam)
  {
//--- Olay parametrelerini çizelge üzerinde göster
   Comment(__FUNCTION__,": id=",id," lparam=",lparam," dparam=",dparam," sparam=",sparam);
//--- Eğer bu, çizelge üzerinde bir fare tıklama olayıysa
   if(id==CHARTEVENT_CLICK)
     {
      //--- Değişkenleri ayarla
      int      x     =(int)lparam;
      int      y     =(int)dparam;
      datetime dt    =0;
      double   price =0;
      int      window=0;
      //--- X ve Y koordinatlarını zaman/fiyat bağlamına dönüştür
      if(ChartXYToTimePrice(0,x,y,window,dt,price))
        {
         PrintFormat("Window=%d X=%d  Y=%d  =>  Time=%s  Price=%G",window,x,y,TimeToString(dt),price);
         //--- Ters dönüşüm gerçekleştir: (X,Y) => (Zaman,Fiyat)
         if(ChartTimePriceToXY(0,window,dt,price,x,y))
            PrintFormat("Time=%s  Price=%G  =>  X=%d  Y=%d",TimeToString(dt),price,x,y);
         else
            Print("ChartTimePriceToXY şu hata koduna dön: ",GetLastError());
         //--- delete lines
         ObjectDelete(0,"V Line");
         ObjectDelete(0,"H Line");
         //--- create horizontal and vertical lines of the crosshair
         ObjectCreate(0,"H Line",OBJ_HLINE,window,dt,price);
         ObjectCreate(0,"V Line",OBJ_VLINE,window,dt,price);
         ChartRedraw(0);
        }
      else
         Print("ChartXYToTimePrice hata kodunu dön: ",GetLastError());
      Print("+--------------------------------------------------------------+");
     }
  }

Ayrıca Bakınız

ChartTimePriceToXY()