Çizelgeyle Çalışma Örnekleri

Bu bölüm çizelge özellikleriyle çalışma örnekleri içermektedir. Her özellik için bir veya iki fonksiyon gösterilmiştir. Bu fonksiyonlar özellik değerini ayarlama/alma olanağı sağlar. Bu fonksiyonlar "olduğu gibi" özel MQL5 uygulamalarında kullanılabilirler.

Aşağıdaki ekran görüntüsü çizelge özelliğini değiştirmenin görünümü nasıl değiştireceğini sergileyen grafik panelini göstermektedir. İleri düğmesine basarak özelliğin yeni değerini ayarlayabilir ve değişimleri çizelge penceresinde görüntüleyebilirsiniz.

chart_properties_panel

Panelin kaynak kodu aşağıda yer almaktadır.

Çizelge özellikleri ve bunlarla çalışmak için örnek fonksiyonlar

  • CHART_IS_OBJECT bir nesnenin gerçek bir çizelge mi yoksa bir grafik nesnesi mi olduğunu belirtir

//+------------------------------------------------------------------+
//| Bir nesnenin çizelge olup olmadığını tanımlar. Eğer bir          |
//| grafik nesnesiyse, sonuç true olur. Eğer gerçek bir              |
//| çizelge ise sonuç değişkeni false değerine sahip olur.           |
//+------------------------------------------------------------------+
bool ChartIsObject(bool &result,const long chart_ID=0)
  {
//--- özellik değerini almak için değişkeni hazırla
   long value;
//--- hata değerini sıfırla
   ResetLastError();
//--- çizelge özelliğini al
   if(!ChartGetInteger(chart_ID,CHART_IS_OBJECT,0,value))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      //--- false dönüşü yap
      return(false);
     }
//--- çizelge özelliğinin değerini bellekte sakla
   result=value;
//--- başarılı çalıştırma
   return(true);
  }

 

  • CHART_BRING_TO_TOP, çizelgeyi tüm diğerlerinin üstünde gösterir.

//+---------------------------------------------------------------------------+
//| Çizelgeyi tüm diğerlerinin üstünde göstermek için terminale komut yolla.  |
//+---------------------------------------------------------------------------+
bool ChartBringToTop(const long chart_ID=0)
  {
//--- hata değerini sıfırla
   ResetLastError();
//--- çizelgeyi diğer hepsinin üstünde göster
   if(!ChartSetInteger(chart_ID,CHART_BRING_TO_TOP,0,true))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- başarılı çalıştırma
   return(true);
  }

 

  • CHART_MOUSE_SCROLL, sol fare tuşun ile çizelgeyi kaydırmak için kullanılan bir özelliktir.

//+---------------------------------------------------------------------------------------+
//| Fonksiyon, sol fare tuşuyla grafiği kaydırma özelliğinin aktif olup                   |
//| olmadığını tanımlar.                                                                 |
//+---------------------------------------------------------------------------------------+
bool ChartMouseScrollGet(bool &result,const long chart_ID=0)
  {
//--- özellik değerini almak için değişkeni hazırla
   long value;
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini al
   if(!ChartGetInteger(chart_ID,CHART_MOUSE_SCROLL,0,value))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- çizelge özelliğinin değerini bellekte sakla
   result=value;
//--- başarılı çalıştırma
   return(true);
  }
//+--------------------------------------------------------------------+
//| Fonksiyon, sol fare tuşuyla çizelge kaydırmayı etkinleştirir/devre |
//| dışı bırakır.                                                            |
//+--------------------------------------------------------------------+
bool ChartMouseScrollSet(const bool value,const long chart_ID=0)
  {
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini ayarla
   if(!ChartSetInteger(chart_ID,CHART_MOUSE_SCROLL,0,value))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- başarılı çalıştırma
   return(true);
  }

 

  • CHART_EVENT_MOUSE_MOVE, taşıma olayları ve MQL5 uygulamalarına yapılan fare tıklamaları ile ilgili mesajlar gönderen bir özelliktir (CHARTEVENT_MOUSE_MOVE).

//+------------------------------------------------------------------+
//| Taşıma olayları ve fare tıklamalarıyla ilgili mesajlar           |
//| çizelgedeki tüm MQL5 uygulamalarına gönderildi mi kontrol et.    |
//+------------------------------------------------------------------+
bool ChartEventMouseMoveGet(bool &result,const long chart_ID=0)
  {
//--- özellik değerini almak için değişkeni hazırla
   long value;
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini al
   if(!ChartGetInteger(chart_ID,CHART_EVENT_MOUSE_MOVE,0,value))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- çizelge özelliğinin değerini bellekte sakla
   result=value;
//--- başarılı çalıştırma
   return(true);
  }
//+------------------------------------------------------------------------------+
//| Fonksiyon, taşıma olayları ve çizelge üzerindeki MQL5 uygulamalarına yapılan |
//| fare tıklamalarına ilişkin mesajların gönderim modunu etkinleştirir veya     |
//| devre dışı bırakır.                                                          |
//+------------------------------------------------------------------------------+
bool ChartEventMouseMoveSet(const bool value,const long chart_ID=0)
  {
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini ayarla
   if(!ChartSetInteger(chart_ID,CHART_EVENT_MOUSE_MOVE,0,value))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- başarılı çalıştırma
   return(true);
  }

 

  • CHART_EVENT_OBJECT_CREATE, grafik nesnesi oluşturma olayı (CHARTEVENT_OBJECT_CREATE) ile ilgili mesajlar gönderme özelliğidir.

//+---------------------------------------------------------------------+
//| Grafik nesnesinin oluşturulması olayı ile ilgili mesajlar             |
//| çizelgedeki tüm MQL5 uygulamalarına gönderildi mi kontrol et.       |
//+---------------------------------------------------------------------+
bool ChartEventObjectCreateGet(bool &result,const long chart_ID=0)
  {
//--- özellik değerini almak için değişkeni hazırla
   long value;
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini al
   if(!ChartGetInteger(chart_ID,CHART_EVENT_OBJECT_CREATE,0,value))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- çizelge özelliğinin değerini bellekte sakla
   result=value;
//--- başarılı çalıştırma
   return(true);
  }
//+--------------------------------------------------------------------------+
//| Fonksiyon, çizelge üzerindeki tüm MQL5 uygulamalarına grafik nesnesinin  |
//| oluşturulması olayı ile ilgili mesaj gönderme modunu devreye sokar veya    |
//| devre dışı bırakır.                                                     |
//+--------------------------------------------------------------------------+
bool ChartEventObjectCreateSet(const bool value,const long chart_ID=0)
  {
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini ayarla
   if(!ChartSetInteger(chart_ID,CHART_EVENT_OBJECT_CREATE,0,value))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- başarılı çalıştırma
   return(true);
  }

 

  • CHART_EVENT_OBJECT_DELETE, MQL5 uygulamalarına, grafik nesnelerinin silinmesi olayı (CHARTEVENT_OBJECT_DELETE) ile ilgili mesaj gönderme özelliğidir.

//+---------------------------------------------------------------------+
//| Grafik nesnesinin silinme olayı ile ilgili mesajlar                 |
//| çizelgedeki tüm MQL5 uygulamalarına gönderildi mi kontrol et.       |
//+---------------------------------------------------------------------+
bool ChartEventObjectDeleteGet(bool &result,const long chart_ID=0)
  {
//--- özellik değerini almak için değişkeni hazırla
   long value;
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini al
   if(!ChartGetInteger(chart_ID,CHART_EVENT_OBJECT_DELETE,0,value))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- çizelge özelliğinin değerini bellekte sakla
   result=value;
//--- başarılı çalıştırma
   return(true);
  }
//+--------------------------------------------------------------------------+
//| Fonksiyon, çizelge üzerindeki tüm MQL5 uygulamalarına grafik nesnesinin  |
//| silinme olayı ile ilgili mesaj gönderimini devreye sokar veya            |
//| devre dışı bırakır.                                                     |
//+--------------------------------------------------------------------------+
bool ChartEventObjectDeleteSet(const bool value,const long chart_ID=0)
  {
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini ayarla
   if(!ChartSetInteger(chart_ID,CHART_EVENT_OBJECT_DELETE,0,value))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- başarılı çalıştırma
   return(true);
  }

 

  • CHART_MODE çizelge tipi (mumlar çubuklar veya çizgi).

//+------------------------------------------------------------------+
//| Çizelge görüntüleme tipini al (mumlar çubuklar veya              |
//| çizgi).                                                          |
//+------------------------------------------------------------------+
ENUM_CHART_MODE ChartModeGet(const long chart_ID=0)
  {
//--- özellik değerini almak için değişkeni hazırla
   long result=WRONG_VALUE;
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini al
   if(!ChartGetInteger(chart_ID,CHART_MODE,0,result))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
     }
//--- çizelge özelliğinin değerini dön 
   return((ENUM_CHART_MODE)result);
  }
//+------------------------------------------------------------------+
//| Çizelge görüntüleme tipini ayarla (mumlar, çubuklar veya         |
//| çizgi).                                                          |
//+------------------------------------------------------------------+
bool ChartModeSet(const long value,const long chart_ID=0)
  {
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini ayarla
   if(!ChartSetInteger(chart_ID,CHART_MODE,value))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- başarılı çalıştırma
   return(true);
  }

 

  • CHART_FOREGROUND, bir fiyat çizelgesini ön planda gösterme özelliğidir.

//+------------------------------------------------------------------+
//| Fonksiyon, fiyat çizelgesi ön planda gösterilmiş mi,             |
//| tanımla.                                                         |
//+------------------------------------------------------------------+
bool ChartForegroundGet(bool &result,const long chart_ID=0)
  {
//--- özellik değerini almak için değişkeni hazırla
   long value;
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini al
   if(!ChartGetInteger(chart_ID,CHART_FOREGROUND,0,value))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- çizelge özelliğinin değerini bellekte sakla
   result=value;
//--- başarılı çalıştırma
   return(true);
  }
//+---------------------------------------------------------------------------+
//| Fonksiyon, fiyat çizelgesinin ön planda gösterimini etkinleştirir veya    |
//| tanımla.                                                                  |
//+---------------------------------------------------------------------------+
bool ChartForegroundSet(const bool value,const long chart_ID=0)
  {
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini ayarla
   if(!ChartSetInteger(chart_ID,CHART_FOREGROUND,0,value))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- başarılı çalıştırma
   return(true);
  }

 

  • CHART_SHIFT fiyat çizelgesinin sağ sınırdan itibaren kaydırılma modu.

//+------------------------------------------------------------------------------------+
//| Fonksiyon, fiyat çizelgesinin sağ sınırdan itibaren kaydırılma modu                |
//| devrede olup olmadığını tanımlar.                                                  |
//+------------------------------------------------------------------------------------+
bool ChartShiftGet(bool &result,const long chart_ID=0)
  {
//--- özellik değerini almak için değişkeni hazırla
   long value;
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini al
   if(!ChartGetInteger(chart_ID,CHART_SHIFT,0,value))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- çizelge özelliğinin değerini bellekte sakla
   result=value;
//--- başarılı çalıştırma
   return(true);
  }
//+--------------------------------------------------------------------------+
//| Fonksiyon, sağ sınırdan kaydırılmış görüntü bir fiyat çizelgesinin       |
//| görüntüleme modunu etkinleştirir/devre dışı bırakır.                     |
//+--------------------------------------------------------------------------+
bool ChartShiftSet(const bool value,const long chart_ID=0)
  {
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini ayarla
   if(!ChartSetInteger(chart_ID,CHART_SHIFT,0,value))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- başarılı çalıştırma
   return(true);
  }

 

  • CHART_AUTOSCROLL çizelgenin sağ sınırına otomatik kaydırma modu.

//+---------------------------------------------------------------------+
//| Fonksiyon, yeni tik alınması durumunda, çizelgenin sağa doğru       |
//| otomatik kaydırma modunun devrede olup olmadığını tanımlar.         |
//+---------------------------------------------------------------------+
bool ChartAutoscrollGet(bool &result,const long chart_ID=0)
  {
//--- özellik değerini almak için değişkeni hazırla
   long value;
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini al
   if(!ChartGetInteger(chart_ID,CHART_AUTOSCROLL,0,value))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- çizelge özelliğinin değerini bellekte sakla
   result=value;
//--- başarılı çalıştırma
   return(true);
  }
//+------------------------------------------------------------------+
//| Fonksiyon, yeni tik alınması durumunda, çizelgenin sağa doğru    |
//| otomatik kaydırılması modunu devreye sokar/devre dışı bırakır.   |
//+------------------------------------------------------------------+
bool ChartAutoscrollSet(const bool value,const long chart_ID=0)
  {
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini ayarla
   if(!ChartSetInteger(chart_ID,CHART_AUTOSCROLL,0,value))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- başarılı çalıştırma
   return(true);
  }

 

  • CHART_SCALE çizelge ölçek özelliği.

//+------------------------------------------------------------------+
//| Çizelge ölçeğini al (0'dan 5'e).                                 |
//+------------------------------------------------------------------+
int ChartScaleGet(const long chart_ID=0)
  {
//--- özellik değerini almak için değişkeni hazırla
   long result=-1;
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini al
   if(!ChartGetInteger(chart_ID,CHART_SCALE,0,result))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
     }
//--- çizelge özelliğinin değerini dön 
   return((int)result);
  }
//+------------------------------------------------------------------+
//| Çizelge ölçeğini ayarla (0'dan 5'e).                             |
//+------------------------------------------------------------------+
bool ChartScaleSet(const long value,const long chart_ID=0)
  {
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini ayarla
   if(!ChartSetInteger(chart_ID,CHART_SCALE,0,value))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- başarılı çalıştırma
   return(true);
  }

 

  • CHART_SCALEFIX sabit çizelge ölçeği modu.

//+------------------------------------------------------------------+
//| Fonksiyon, sabit ölçeği modu devrede mi, tanımlar.               |
//+------------------------------------------------------------------+
bool ChartScaleFixGet(bool &result,const long chart_ID=0)
  {
//--- özellik değerini almak için değişkeni hazırla
   long value;
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini al
   if(!ChartGetInteger(chart_ID,CHART_SCALEFIX,0,value))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- çizelge özelliğinin değerini bellekte sakla
   result=value;
//--- başarılı çalıştırma
   return(true);
  }
//+------------------------------------------------------------------+
//| Fonksiyon sabit ölçek modunu devreye sokar/devre dışı bırakır.   |
//+------------------------------------------------------------------+
bool ChartScaleFixSet(const bool value,const long chart_ID=0)
  {
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini ayarla
   if(!ChartSetInteger(chart_ID,CHART_SCALEFIX,0,value))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- başarılı çalıştırma
   return(true);
  }

 

  • CHART_SCALEFIX_11 1:1 çizelge ölçeği modu.

//+------------------------------------------------------------------+
//| Fonksiyon, "1:1" ölçeği devrede mi, tanımlar.                    |
//+------------------------------------------------------------------+
bool ChartScaleFix11Get(bool &result,const long chart_ID=0)
  {
//--- özellik değerini almak için değişkeni hazırla
   long value;
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini al
   if(!ChartGetInteger(chart_ID,CHART_SCALEFIX_11,0,value))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- çizelge özelliğinin değerini bellekte sakla
   result=value;
//--- başarılı çalıştırma
   return(true);
  }
//+------------------------------------------------------------------+
//| Fonksiyon, "1:1" ölçek modunu etkinleştirir/devre dışı bırakır   |
//+------------------------------------------------------------------+
bool ChartScaleFix11Set(const bool value,const long chart_ID=0)
  {
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini ayarla
   if(!ChartSetInteger(chart_ID,CHART_SCALEFIX_11,0,value))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- başarılı çalıştırma
   return(true);
  }

 

  • CHART_SCALE_PT_PER_BAR çizelge ölçeğini çubuk başına düşen puan bazında tanımlama modu.

//+------------------------------------------------------------------------------+
//| Fonksiyon, çizelge ölçeğini çubuk başına düşen puan bazında tanımlama        |
//| mi, değil mi tanımlar.                                                       |
//+------------------------------------------------------------------------------+
bool ChartScalePerBarGet(bool &result,const long chart_ID=0)
  {
//--- özellik değerini almak için değişkeni hazırla
   long value;
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini al
   if(!ChartGetInteger(chart_ID,CHART_SCALE_PT_PER_BAR,0,value))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- çizelge özelliğinin değerini bellekte sakla
   result=value;
//--- başarılı çalıştırma
   return(true);
  }
//+------------------------------------------------------------------------------------+
//| Fonksiyon, çizelge ölçeğini çubuk başına düşen puan bazında tanımlama modunu       |
//| deveye sokar/devre dışı bırakır.                                                   |
//+------------------------------------------------------------------------------------+
bool ChartScalePerBarSet(const bool value,const long chart_ID=0)
  {
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini ayarla
   if(!ChartSetInteger(chart_ID,CHART_SCALE_PT_PER_BAR,0,value))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- başarılı çalıştırma
   return(true);
  }

 

  • CHART_SHOW_OHLC sol üst köşede OHLC değerlerinin gösterilmesi özelliği.

//+------------------------------------------------------------------+
//| Fonksiyon, sol üst köşede OHLC değerlerinin gösterilmesi         |
//| özelliği devrede mi değil mi tanımlar.                           |
//+------------------------------------------------------------------+
bool ChartShowOHLCGet(bool &result,const long chart_ID=0)
  {
//--- özellik değerini almak için değişkeni hazırla
   long value;
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini al
   if(!ChartGetInteger(chart_ID,CHART_SHOW_OHLC,0,value))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- çizelge özelliğinin değerini bellekte sakla
   result=value;
//--- başarılı çalıştırma
   return(true);
  }
//+--------------------------------------------------------------------------+
//| Fonksiyon, sol üst köşede OHLC değerlerinin gösterilmesi modunu          |
//| devreye sokar/devre dışı bırakır.                                        |
//+--------------------------------------------------------------------------+
bool ChartShowOHLCSet(const bool value,const long chart_ID=0)
  {
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini ayarla
   if(!ChartSetInteger(chart_ID,CHART_SHOW_OHLC,0,value))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- başarılı çalıştırma
   return(true);
  }

 

  • CHART_SHOW_BID_LINE Satış değerini çizelge üzerinde yatay çizgiyle gösterme özelliği.

//+-----------------------------------------------------------------------------+
//| Fonksiyon satış değeri çizgisinin çizelge üzerinde gösterilme modunun        |
//| devrede olup olmadığını tanımlar.                                           |
//+-----------------------------------------------------------------------------+
bool ChartShowBidLineGet(bool &result,const long chart_ID=0)
  {
//--- özellik değerini almak için değişkeni hazırla
   long value;
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini al
   if(!ChartGetInteger(chart_ID,CHART_SHOW_BID_LINE,0,value))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- çizelge özelliğinin değerini bellekte sakla
   result=value;
//--- başarılı çalıştırma
   return(true);
  }
//+--------------------------------------------------------------------+
//| Fonksiyon, Satış çizgisinin görüntülenme modunu devreye sokar veya  |
//| devre dışı bırakır.                                                |
//+--------------------------------------------------------------------+
bool ChartShowBidLineSet(const bool value,const long chart_ID=0)
  {
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini ayarla
   if(!ChartSetInteger(chart_ID,CHART_SHOW_BID_LINE,0,value))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- başarılı çalıştırma
   return(true);
  }

 

  • CHART_SHOW_ASK_LINE Alış değerini çizelge üzerinde yatay çizgiyle gösterme özelliği.

//+-----------------------------------------------------------------------+
//| Fonksiyon Alış değeri çizgisinin çizelge üzerinde gösterilme modunun  |
//| devre dışı bırakır.                                                   |
//+-----------------------------------------------------------------------+
bool ChartShowAskLineGet(bool &result,const long chart_ID=0)
  {
//--- özellik değerini almak için değişkeni hazırla
   long value;
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini al
   if(!ChartGetInteger(chart_ID,CHART_SHOW_ASK_LINE,0,value))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- çizelge özelliğinin değerini bellekte sakla
   result=value;
//--- başarılı çalıştırma
   return(true);
  }
//+-----------------------------------------------------------------------+
//| Fonksiyon alış değeri çizgisinin çizelge üzerinde gösterilme modunu   |
//| devre dışı bırakır.                                                   |
//+-----------------------------------------------------------------------+
bool ChartShowAskLineSet(const bool value,const long chart_ID=0)
  {
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini ayarla
   if(!ChartSetInteger(chart_ID,CHART_SHOW_ASK_LINE,0,value))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- başarılı çalıştırma
   return(true);
  }

 

  • CHART_SHOW_LAST_LINE Son değeri çizelge üzerinde yatay çizgiyle gösterme özelliği.

//+---------------------------------------------------------------------------------+
//| Fonksiyon, son işlem fiyatı çizgisinin gösterilme modu                          |
//| devrede mi değil mi tanımlar.                                                   |
//+---------------------------------------------------------------------------------+
bool ChartShowLastLineGet(bool &result,const long chart_ID=0)
  {
//--- özellik değerini almak için değişkeni hazırla
   long value;
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini al
   if(!ChartGetInteger(chart_ID,CHART_SHOW_LAST_LINE,0,value))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- çizelge özelliğinin değerini bellekte sakla
   result=value;
//--- başarılı çalıştırma
   return(true);
  }
//+--------------------------------------------------------------------------------------+
//| Fonksiyon, gerçekleştirilen son işlemin fiyat çizgisinin gösterilme modunu           |
//| devreye sokar/devre dışı bırakır.                                                    |
//+--------------------------------------------------------------------------------------+
bool ChartShowLastLineSet(const bool value,const long chart_ID=0)
  {
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini ayarla
   if(!ChartSetInteger(chart_ID,CHART_SHOW_LAST_LINE,0,value))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- başarılı çalıştırma
   return(true);
  }

 

  • CHART_SHOW_PERIOD_SEP bitişik periyotlar arası dikey ayraçları gösterme özelliği.

//+------------------------------------------------------------------+
//| Fonksiyon bitişik periyotlar arası dikey ayraçların gösterim     |
//| modunun devrede olup olmadığını tanımlar.                        |
//+------------------------------------------------------------------+
bool ChartShowPeriodSeparatorGet(bool &result,const long chart_ID=0)
  {
//--- özellik değerini almak için değişkeni hazırla
   long value;
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini al
   if(!ChartGetInteger(chart_ID,CHART_SHOW_PERIOD_SEP,0,value))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- çizelge özelliğinin değerini bellekte sakla
   result=value;
//--- başarılı çalıştırma
   return(true);
  }
//+------------------------------------------------------------------+
//| fonksiyon, bitişik periyotlar arası dikey ayraçların görüntüleme |
//| modunu devreye sokar/devre dışı bırakır.                         |
//+------------------------------------------------------------------+
bool ChartShowPeriodSepapatorSet(const bool value,const long chart_ID=0)
  {
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini ayarla
   if(!ChartSetInteger(chart_ID,CHART_SHOW_PERIOD_SEP,0,value))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- başarılı çalıştırma
   return(true);
  }

 

  • CHART_SHOW_GRID çizelge ızgarasının görüntülenme modu.

//+------------------------------------------------------------------+
//| Fonksiyon, çizelge ızgarası devrede mi değil mi tanımlar.        |
//+------------------------------------------------------------------+
bool ChartShowGridGet(bool &result,const long chart_ID=0)
  {
//--- özellik değerini almak için değişkeni hazırla
   long value;
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini al
   if(!ChartGetInteger(chart_ID,CHART_SHOW_GRID,0,value))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- çizelge özelliğinin değerini bellekte sakla
   result=value;
//--- başarılı çalıştırma
   return(true);
  }
//+------------------------------------------------------------------+
//| Fonksiyon çizelge ızgarasını devreye sokar/devre dışı bırakır.   |
//+------------------------------------------------------------------+
bool ChartShowGridSet(const bool value,const long chart_ID=0)
  {
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini ayarla
   if(!ChartSetInteger(chart_ID,CHART_SHOW_GRID,0,value))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- başarılı çalıştırma
   return(true);
  }

 

  • CHART_SHOW_VOLUMES çizelge üzerinde hacimleri gösterme özelliği.

//+------------------------------------------------------------------------+
//| Fonksiyon, hacimler çizelgede gösteriliyor mu (gösterilmiyor mu,       |
//| tik hacimleri mi, gerçek hacimler mi gösteriliyor, tanımlar).          |
//+------------------------------------------------------------------------+
ENUM_CHART_VOLUME_MODE ChartShowVolumesGet(const long chart_ID=0)
  {
//--- özellik değerini almak için değişkeni hazırla
   long result=WRONG_VALUE;
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini al
   if(!ChartGetInteger(chart_ID,CHART_SHOW_VOLUMES,0,result))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
     }
//--- çizelge özelliğinin değerini dön 
   return((ENUM_CHART_VOLUME_MODE)result);
  }
//+------------------------------------------------------------------+
//| Fonksiyon, çizelge üzerinde hacimlerin gösterim modunu ayarlar.  |
//+------------------------------------------------------------------+
bool ChartShowVolumesSet(const long value,const long chart_ID=0)
  {
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini ayarla
   if(!ChartSetInteger(chart_ID,CHART_SHOW_VOLUMES,value))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- başarılı çalıştırma
   return(true);
  }

 

  • CHART_SHOW_OBJECT_DESCR grafiksel nesnenin kendiliğinden-açılan (pop-up) tarifinin özelliği.

//+-------------------------------------------------------------------+
//| Fonksiyon, fare ile üzerine gelindiğinde grafiksel nesnenin       |
//| pop-up tarifinin gözüküp gözükmediğini tanımlar.                  |
//+-------------------------------------------------------------------+
bool ChartShowObjectDescriptionGet(bool &result,const long chart_ID=0)
  {
//--- özellik değerini almak için değişkeni hazırla
   long value;
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini al
   if(!ChartGetInteger(chart_ID,CHART_SHOW_OBJECT_DESCR,0,value))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- çizelge özelliğinin değerini bellekte sakla
   result=value;
//--- başarılı çalıştırma
   return(true);
  }
//+--------------------------------------------------------------------------+
//| Fonksiyon, fare ile üzerine gelindiğinde grafiksel nesnenin pop-up       |
//| tarifinin gösterim modunu etkinleştirir/devre dışı bırakır.              |
//+--------------------------------------------------------------------------+
bool ChartShowObjectDescriptionSet(const bool value,const long chart_ID=0)
  {
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini ayarla
   if(!ChartSetInteger(chart_ID,CHART_SHOW_OBJECT_DESCR,0,value))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- başarılı çalıştırma
   return(true);
  }

 

  • CHART_VISIBLE_BARS, çizelge üzerinde görüntüleme için kullanılabilecek çubuk sayısını tanımlar.

//+-----------------------------------------------------------------------+
//| Fonksiyon, çizelge penceresinde görüntülenen çubuk sayısını alır      |
//+-----------------------------------------------------------------------+
int ChartVisibleBars(const long chart_ID=0)
  {
//--- özellik değerini almak için değişkeni hazırla
   long result=-1;
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini al
   if(!ChartGetInteger(chart_ID,CHART_VISIBLE_BARS,0,result))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
     }
//--- çizelge özelliğinin değerini dön 
   return((int)result);
  }

 

  • CHART_WINDOWS_TOTAL, gösterge alt pencereleri de dahil olmak üzere, çizelge pencerelerinin toplam sayısını tanımlar.

//+--------------------------------------------------------------------------+
//| Fonksiyon, gösterge alt pencereleri de dahil olmak üzere, çizelge        |
//| pencerelerinin toplam sayısını tanımlar.                                 |
//+--------------------------------------------------------------------------+
int ChartWindowsTotal(const long chart_ID=0)
  {
//--- özellik değerini almak için değişkeni hazırla
   long result=-1;
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini al
   if(!ChartGetInteger(chart_ID,CHART_WINDOWS_TOTAL,0,result))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
     }
//--- çizelge özelliğinin değerini dön 
   return((int)result);
  }

 

  • CHART_WINDOW_IS_VISIBLE, alt pencere görünürlüğünü tanımlar.

//+------------------------------------------------------------------+
//| Fonksiyon, mevcut çizelge penceresinin veya alt pencerenin       |
//| görünürlüğünü tanılar.                                           |
//+------------------------------------------------------------------+
bool ChartWindowsIsVisible(bool &result,const long chart_ID=0,const int sub_window=0)
  {
//--- özellik değerini almak için değişkeni hazırla
   long value;
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini al
   if(!ChartGetInteger(chart_ID,CHART_WINDOW_IS_VISIBLE,sub_window,value))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- çizelge özelliğinin değerini bellekte sakla
   result=value;
//--- başarılı çalıştırma
   return(true);
  }

 

  • CHART_WINDOW_HANDLE çizelge işleyicisine dönüş yapar.

//+------------------------------------------------------------------+
//| Fonksiyon, çizelge işleyicisini alır                             |
//+------------------------------------------------------------------+
int ChartWindowsHandle(const long chart_ID=0)
  {
//--- özellik değerini almak için değişkeni hazırla
   long result=-1;
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini al
   if(!ChartGetInteger(chart_ID,CHART_WINDOW_HANDLE,0,result))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
     }
//--- çizelge özelliğinin değerini dön 
   return((int)result);
  }

 

  • CHART_WINDOW_YDISTANCE, gösterge penceresinin üst çerçevesi ile ana çizelge penceresinin üst çerçevesi arasındaki uzaklığı piksel bazında tanımlar.

//+------------------------------------------------------------------+
//| Fonksiyon, gösterge penceresinin üst çerçevesi ile ana çizelge   |
//| üst çerçevesi arasındaki uzaklığı piksel bazında alır.           |
//+------------------------------------------------------------------+
int ChartWindowsYDistance(const long chart_ID=0,const int sub_window=0)
  {
//--- özellik değerini almak için değişkeni hazırla
   long result=-1;
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini al
   if(!ChartGetInteger(chart_ID,CHART_WINDOW_YDISTANCE,sub_window,result))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
     }
//--- çizelge özelliğinin değerini dön 
   return((int)result);
  }

 

  • CHART_FIRST_VISIBLE_BAR, çizelgede görünen ilk çubuğun numarasına dönüş yapar (çubukların indislenmesi zaman serilerine) karşılık gelir.

//+-------------------------------------------------------------------------------------+
//| Fonksiyon, çizelgede görünen ilk çubuğun numarasını alır.                           |
//| İndisleme zaman serilerindeki gibidir, son çubuklar daha küçük indislere sahiptir.  |
//+-------------------------------------------------------------------------------------+
int ChartFirstVisibleBar(const long chart_ID=0)
  {
//--- özellik değerini almak için değişkeni hazırla
   long result=-1;
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini al
   if(!ChartGetInteger(chart_ID,CHART_FIRST_VISIBLE_BAR,0,result))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
     }
//--- çizelge özelliğinin değerini dön 
   return((int)result);
  }

 

  • CHART_WIDTH_IN_BARS, çubuk bazında çizelge genişliğine dönüş yapar.

//+------------------------------------------------------------------+
//| Fonksiyon, çubuk bazında çizelge genişliğini alır.               |
//+------------------------------------------------------------------+
int ChartWidthInBars(const long chart_ID=0)
  {
//--- özellik değerini almak için değişkeni hazırla
   long result=-1;
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini al
   if(!ChartGetInteger(chart_ID,CHART_WIDTH_IN_BARS,0,result))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
     }
//--- çizelge özelliğinin değerini dön 
   return((int)result);
  }

 

  • CHART_WIDTH_IN_PIXELS, piksel bazında çizelge genişliğine dönüş yapar.

//+------------------------------------------------------------------+
//| Fonksiyon, piksel bazında çizelge genişliğini alır.              |
//+------------------------------------------------------------------+
int ChartWidthInPixels(const long chart_ID=0)
  {
//--- özellik değerini almak için değişkeni hazırla
   long result=-1;
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini al
   if(!ChartGetInteger(chart_ID,CHART_WIDTH_IN_PIXELS,0,result))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
     }
//--- çizelge özelliğinin değerini dön 
   return((int)result);
  }

 

  • CHART_HEIGHT_IN_PIXELS piksel bazında çizelge yüksekliği özelliği.

//+------------------------------------------------------------------+
//| Fonksiyon, piksel bazında çizelge yüksekliği değerini alır.      |
//+------------------------------------------------------------------+
int ChartHeightInPixelsGet(const long chart_ID=0,const int sub_window=0)
  {
//--- özellik değerini almak için değişkeni hazırla
   long result=-1;
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini al
   if(!ChartGetInteger(chart_ID,CHART_HEIGHT_IN_PIXELS,sub_window,result))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
     }
//--- çizelge özelliğinin değerini dön 
   return((int)result);
  }
//+------------------------------------------------------------------+
//| Fonksiyon, piksel bazında çizelge yüksekliğini ayarlar.          |
//+------------------------------------------------------------------+
bool ChartHeightInPixelsSet(const int value,const long chart_ID=0,const int sub_window=0)
  {
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini ayarla
   if(!ChartSetInteger(chart_ID,CHART_HEIGHT_IN_PIXELS,sub_window,value))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- başarılı çalıştırma
   return(true);
  }

 

  • CHART_COLOR_BACKGROUND - çizelge arka plan rengi.

//+------------------------------------------------------------------+
//| Fonksiyon çizelge arka plan rengini alır.                        |
//+------------------------------------------------------------------+
color ChartBackColorGet(const long chart_ID=0)
  {
//--- rengi almak için değişkeni hazırla
   long result=clrNONE;
//--- hata değerini sıfırla
   ResetLastError();
//--- çizelge arka plan rengini al
   if(!ChartGetInteger(chart_ID,CHART_COLOR_BACKGROUND,0,result))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
     }
//--- çizelge özelliğinin değerini dön 
   return((color)result);
  }
//+------------------------------------------------------------------+
//| Fonksiyon, çizelge arka plan rengini ayarlar.                    |
//+------------------------------------------------------------------+
bool ChartBackColorSet(const color clr,const long chart_ID=0)
  {
//--- hata değerini sıfırla
   ResetLastError();
//--- çizelge arka plan rengini ayarla
   if(!ChartSetInteger(chart_ID,CHART_COLOR_BACKGROUND,clr))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- başarılı çalıştırma
   return(true);
  }

 

  • CHART_COLOR_FOREGROUND eksenin, ölçeğin ve OHLC çizgisinin rengi.

//+------------------------------------------------------------------+
//| Fonksyon, eksenin, ölçeğin ve OHLC çizgisinin rengini alır.      |
//+------------------------------------------------------------------+
color ChartForeColorGet(const long chart_ID=0)
  {
//--- rengi almak için değişkeni hazırla
   long result=clrNONE;
//--- hata değerini sıfırla
   ResetLastError();
//--- eksenin, ölçeğin ve OHLC çizgisinin rengini al
   if(!ChartGetInteger(chart_ID,CHART_COLOR_FOREGROUND,0,result))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
     }
//--- çizelge özelliğinin değerini dön 
   return((color)result);
  }
//+------------------------------------------------------------------+
//| Fonksiyon; eksenin, ölçeğin ve OHLC çizgisinin rengini ayarlar.  |
//+------------------------------------------------------------------+
bool ChartForeColorSet(const color clr,const long chart_ID=0)
  {
//--- hata değerini sıfırla
   ResetLastError();
//--- eksenin, ölçeğin ve OHLC çizgisinin rengini ayarla
   if(!ChartSetInteger(chart_ID,CHART_COLOR_FOREGROUND,clr))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- başarılı çalıştırma
   return(true);
  }

 

  • CHART_COLOR_GRID çizelge ızgara rengi

//+------------------------------------------------------------------+
//| Fonksiyon, çizelge ızgara rengini alır.                          |
//+------------------------------------------------------------------+
color ChartGridColorGet(const long chart_ID=0)
  {
//--- rengi almak için değişkeni hazırla
   long result=clrNONE;
//--- hata değerini sıfırla
   ResetLastError();
//--- çizelge ızgara rengini al
   if(!ChartGetInteger(chart_ID,CHART_COLOR_GRID,0,result))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
     }
//--- çizelge özelliğinin değerini dön 
   return((color)result);
  }
//+------------------------------------------------------------------+
//| Fonksiyon, çizelge ızgara rengini ayarlar.                       |
//+------------------------------------------------------------------+
bool ChartGridColorSet(const color clr,const long chart_ID=0)
  {
//--- hata değerini sıfırla
   ResetLastError();
//--- çizelge ızgara rengini ayarla
   if(!ChartSetInteger(chart_ID,CHART_COLOR_GRID,clr))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- başarılı çalıştırma
   return(true);
  }

 

  • CHART_COLOR_VOLUME - hacimlerin ve pozisyon açma seviyelerinin rengini gösterir.

//+------------------------------------------------------------------+
//| Fonksiyon, hacimlerin ve piyasaya giriş seviyelerinin rengini    |
//| ayarlar.                                                         |
//+------------------------------------------------------------------+
color ChartVolumeColorGet(const long chart_ID=0)
  {
//--- rengi almak için değişkeni hazırla
   long result=clrNONE;
//--- hata değerini sıfırla
   ResetLastError();
//--- hacimlerin ve piyasaya giriş seviyelerinin rengini al
   if(!ChartGetInteger(chart_ID,CHART_COLOR_VOLUME,0,result))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
     }
//--- çizelge özelliğinin değerini dön 
   return((color)result);
  }
//+------------------------------------------------------------------+
//| Fonksiyon, hacimlerin ve piyasaya giriş seviyelerinin rengini    |
//| ayarlar.                                                         |
//+------------------------------------------------------------------+
bool ChartVolumeColorSet(const color clr,const long chart_ID=0)
  {
//--- hata değerini sıfırla
   ResetLastError();
//--- hacimlerin ve piyasaya giriş seviyelerinin rengini ayarla
   if(!ChartSetInteger(chart_ID,CHART_COLOR_VOLUME,clr))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- başarılı çalıştırma
   return(true);
  }

 

  • CHART_COLOR_CHART_UP yukarı yönlü çubuğun, gölgesinin ve alım yönlü mumun gövde sınırının rengi.

//+------------------------------------------------------------------+
//| Fonksiyon, yukarı yönlü çubuğun, gölgesinin ve alım yönlü mumun  |
//| gövde sınırının rengini alır                                     |
//+------------------------------------------------------------------+
color ChartUpColorGet(const long chart_ID=0)
  {
//--- rengi almak için değişkeni hazırla
   long result=clrNONE;
//--- hata değerini sıfırla
   ResetLastError();
//--- yukarı yönlü çubuğun, gölgesinin ve alım yönlü mumun gövde sınırının rengini al
   if(!ChartGetInteger(chart_ID,CHART_COLOR_CHART_UP,0,result))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
     }
//--- çizelge özelliğinin değerini dön 
   return((color)result);
  }
//+------------------------------------------------------------------+
//| Fonksiyon, yukarı yönlü çubuğun, gölgesinin ve alım yönlü mumun  |
//| gövde sınırının rengini alır                                     |
//+------------------------------------------------------------------+
bool ChartUpColorSet(const color clr,const long chart_ID=0)
  {
//--- hata değerini sıfırla
   ResetLastError();
//--- yukarı yönlü çubuğun, gölgesinin ve alım yönlü mumun gövde sınırının rengini ayarla
   if(!ChartSetInteger(chart_ID,CHART_COLOR_CHART_UP,clr))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- başarılı çalıştırma
   return(true);
  }

 

  • CHART_COLOR_CHART_DOWN aşağı yönlü çubuğun, gölgesinin ve satım yönlü mumun gövde sınırının rengi.

//+------------------------------------------------------------------+
//| Fonksiyon, yukarı yönlü çubuğun, gölgesinin ve alım yönlü mumun  |
//| gövde sınırının rengini alır.                                    |
//+------------------------------------------------------------------+
color ChartDownColorGet(const long chart_ID=0)
  {
//--- rengi almak için değişkeni hazırla
   long result=clrNONE;
//--- hata değerini sıfırla
   ResetLastError();
//--- aşağı yönlü çubuğun, gölgesinin ve satım yönlü mumun gövde sınırının rengini al
   if(!ChartGetInteger(chart_ID,CHART_COLOR_CHART_DOWN,0,result))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
     }
//--- çizelge özelliğinin değerini dön 
   return((color)result);
  }
//+------------------------------------------------------------------+
//| Fonksiyon, aşağı yönlü çubuğun, gölgesinin ve satım yönlü mumun  |
//| gövde sınırının rengini alır.                                    |
//+------------------------------------------------------------------+
bool ChartDownColorSet(const color clr,const long chart_ID=0)
  {
//--- hata değerini sıfırla
   ResetLastError();
//--- aşağı yönlü çubuğun, gölgesinin ve satım yönlü mumun gövde sınırının rengini ayarla
   if(!ChartSetInteger(chart_ID,CHART_COLOR_CHART_DOWN,clr))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- başarılı çalıştırma
   return(true);
  }

 

  • CHART_COLOR_CHART_LINE çizelge çizgisinin ve Doji mumlarının rengi.

//+------------------------------------------------------------------------+
//| Fonksiyon, çizelge çizgisinin ve Doji mumlarının rengini alır.         |
//+------------------------------------------------------------------------+
color ChartLineColorGet(const long chart_ID=0)
  {
//--- rengi almak için değişkeni hazırla
   long result=clrNONE;
//--- hata değerini sıfırla
   ResetLastError();
//--- çizelge çizgisinin ve Doji mumlarının rengini al
   if(!ChartGetInteger(chart_ID,CHART_COLOR_CHART_LINE,0,result))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
     }
//--- çizelge özelliğinin değerini dön 
   return((color)result);
  }
//+------------------------------------------------------------------+
//| Fonksiyon, çizelge çizgisinin ve Doji mumlarının rengini ayarlar |
//+------------------------------------------------------------------+
bool ChartLineColorSet(const color clr,const long chart_ID=0)
  {
//--- hata değerini sıfırla
   ResetLastError();
//--- çizelge çizgisinin ve Doji mumlarının rengini ayarla
   if(!ChartSetInteger(chart_ID,CHART_COLOR_CHART_LINE,clr))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- başarılı çalıştırma
   return(true);
  }

 

  • CHART_COLOR_CANDLE_BULL alım yönlü mumların gövde rengi.

//+------------------------------------------------------------------+
//| Fonksiyon, alım yönlü mumların gövde rengini alır.               |
//+------------------------------------------------------------------+
color ChartBullColorGet(const long chart_ID=0)
  {
//--- rengi almak için değişkeni hazırla
   long result=clrNONE;
//--- hata değerini sıfırla
   ResetLastError();
//--- alım yönlü mumların gövde rengini al
   if(!ChartGetInteger(chart_ID,CHART_COLOR_CANDLE_BULL,0,result))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
     }
//--- çizelge özelliğinin değerini dön 
   return((color)result);
  }
//+------------------------------------------------------------------+
//| Fonksiyon, alım yönlü mumların gövde rengini ayarlar.            |
//+------------------------------------------------------------------+
bool ChartBullColorSet(const color clr,const long chart_ID=0)
  {
//--- hata değerini sıfırla
   ResetLastError();
//--- alım yönlü mumların gövde rengini ayarla
   if(!ChartSetInteger(chart_ID,CHART_COLOR_CANDLE_BULL,clr))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- başarılı çalıştırma
   return(true);
  }

 

  • CHART_COLOR_CANDLE_BEAR satış yönlü mumların gövde rengi.

//+------------------------------------------------------------------+
//| Fonksiyon, satış yönlü mumların gövde rengini alır.              |
//+------------------------------------------------------------------+
color ChartBearColorGet(const long chart_ID=0)
  {
//--- rengi almak için değişkeni hazırla
   long result=clrNONE;
//--- hata değerini sıfırla
   ResetLastError();
//--- satış yönlü mumların gövde rengini al
   if(!ChartGetInteger(chart_ID,CHART_COLOR_CANDLE_BEAR,0,result))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
     }
//--- çizelge özelliğinin değerini dön 
   return((color)result);
  }
//+------------------------------------------------------------------+
//| Fonksiyon, satış yönlü mumların gövde rengini ayarlar.           |
//+------------------------------------------------------------------+
bool ChartBearColorSet(const color clr,const long chart_ID=0)
  {
//--- hata değerini sıfırla
   ResetLastError();
//--- satış yönlü mumların gövde rengini ayarla
   if(!ChartSetInteger(chart_ID,CHART_COLOR_CANDLE_BEAR,clr))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- başarılı çalıştırma
   return(true);
  }

 

  • CHART_COLOR_BID Satış fiyatı çizgisinin rengi.

//+------------------------------------------------------------------+
//| Fonksiyon, Satış çizgisinin rengini alır.                         |
//+------------------------------------------------------------------+
color ChartBidColorGet(const long chart_ID=0)
  {
//--- rengi almak için değişkeni hazırla
   long result=clrNONE;
//--- hata değerini sıfırla
   ResetLastError();
//--- Satış fiyatının çizgisinin rengini al
   if(!ChartGetInteger(chart_ID,CHART_COLOR_BID,0,result))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
     }
//--- çizelge özelliğinin değerini dön 
   return((color)result);
  }
//+------------------------------------------------------------------+
//| Fonksiyon, Satış çizgisi rengini ayarlar.                         |
//+------------------------------------------------------------------+
bool ChartBidColorSet(const color clr,const long chart_ID=0)
  {
//--- hata değerini sıfırla
   ResetLastError();
//--- satış fiyatı çizgisi rengini ayarla
   if(!ChartSetInteger(chart_ID,CHART_COLOR_BID,clr))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- başarılı çalıştırma
   return(true);
  }

 

  • CHART_COLOR_ASK Alış fiyatı çizgisi rengi.

//+------------------------------------------------------------------+
//| Fonksiyon, Alış çizgisi rengini alır.                            |
//+------------------------------------------------------------------+
color ChartAskColorGet(const long chart_ID=0)
  {
//--- rengi almak için değişkeni hazırla
   long result=clrNONE;
//--- hata değerini sıfırla
   ResetLastError();
//--- alış fiyatı çizgisinin rengini al
   if(!ChartGetInteger(chart_ID,CHART_COLOR_ASK,0,result))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
     }
//--- çizelge özelliğinin değerini dön 
   return((color)result);
  }
//+------------------------------------------------------------------+
//| Fonksiyon, Alış çizgisi rengini ayarlar.                        |
//+------------------------------------------------------------------+
bool ChartAskColorSet(const color clr,const long chart_ID=0)
  {
//--- hata değerini sıfırla
   ResetLastError();
//--- alış fiyatı çizgisinin rengini ayarla
   if(!ChartSetInteger(chart_ID,CHART_COLOR_ASK,clr))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- başarılı çalıştırma
   return(true);
  }

 

  • CHART_COLOR_LAST son gerçekleşen işlem fiyatı (Last) çizgisinin rengi.

//+----------------------------------------------------------------------+
//| Fonksiyon, son gerçekleşen işlem fiyatı çizgisinin rengini alır.     |
//+----------------------------------------------------------------------+
color ChartLastColorGet(const long chart_ID=0)
  {
//--- rengi almak için değişkeni hazırla
   long result=clrNONE;
//--- hata değerini sıfırla
   ResetLastError();
//--- son gerçekleşen işlem fiyatı (Last) çizgisinin rengini al
   if(!ChartGetInteger(chart_ID,CHART_COLOR_LAST,0,result))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
     }
//--- çizelge özelliğinin değerini dön 
   return((color)result);
  }
//+------------------------------------------------------------------+
//| Fonksiyon, son gerçekleşen işlem fiyatı çizgisinin rengini       |
//| ayarlar.                                                         |
//+------------------------------------------------------------------+
bool ChartLastColorSet(const color clr,const long chart_ID=0)
  {
//--- hata değerini sıfırla
   ResetLastError();
//--- son gerçekleşen işlem fiyatı (Last) çizgisinin rengini ayarla
   if(!ChartSetInteger(chart_ID,CHART_COLOR_LAST,clr))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- başarılı çalıştırma
   return(true);
  }

 

  • CHART_COLOR_STOP_LEVEL stop emri seviyesinin rengi (Stop Loss ve Take Profit).

//+--------------------------------------------------------------------+
//| Fonksiyon, Stop Loss ve Take Profit seviyelerinin rengini alır.    |
//+--------------------------------------------------------------------+
color ChartStopLevelColorGet(const long chart_ID=0)
  {
//--- rengi almak için değişkeni hazırla
   long result=clrNONE;
//--- hata değerini sıfırla
   ResetLastError();
//--- stop (durdurma) emri seviyelerinin (Stop Loss ve Take Profit) rengini al
   if(!ChartGetInteger(chart_ID,CHART_COLOR_STOP_LEVEL,0,result))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
     }
//--- çizelge özelliğinin değerini dön 
   return((color)result);
  }
//+--------------------------------------------------------------------+
//| Fonksiyon, Stop Loss ve Take Profit seviyelerinin rengini ayarlar. |
//+--------------------------------------------------------------------+
bool ChartStopLevelColorSet(const color clr,const long chart_ID=0)
  {
//--- hata değerini sıfırla
   ResetLastError();
//--- durdurma emri seviyelerinin (Stop Loss ve Take Profit) rengini ayarla
   if(!ChartSetInteger(chart_ID,CHART_COLOR_STOP_LEVEL,clr))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- başarılı çalıştırma
   return(true);
  }

 

  • CHART_SHOW_TRADE_LEVELS alım-satım seviyelerini çizelgede gösterme özelliği(Açık pozisyonların seviyeleri, Stop Loss, Take Profit ve bekleyen emirler).

//+----------------------------------------------------------------------+
//| Fonksiyon, alım-satım seviyelerinin çizelgedeki gösterimini tanımlar |
//+----------------------------------------------------------------------+
bool ChartShowTradeLevelsGet(bool &result,const long chart_ID=0)
  {
//--- özellik değerini almak için değişkeni hazırla
   long value;
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini al
   if(!ChartGetInteger(chart_ID,CHART_SHOW_TRADE_LEVELS,0,value))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- çizelge özelliğinin değerini bellekte sakla
   result=value;
//--- başarılı çalıştırma
   return(true);
  }
//+--------------------------------------------------------------------------------------------+
//| Fonksiyon, alım-satım seviyelerinin gösterim modunu etkinleştirir/devre dışı bırakır       |
//+--------------------------------------------------------------------------------------------+
bool ChartShowTradeLevelsSet(const bool value,const long chart_ID=0)
  {
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini ayarla
   if(!ChartSetInteger(chart_ID,CHART_SHOW_TRADE_LEVELS,0,value))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- başarılı çalıştırma
   return(true);
  }

 

  • CHART_DRAG_TRADE_LEVELS alım-satım seviyelerinin çizelge üstüne fare ile sürüklenmesi özelliği.

//+---------------------------------------------------------------------------+
//| Fonksiyon, alım-satım seviyelerinin çizelgede fare ile sürüklenmesine     |
//| izin veriliyor mu, tanımlar.                                              |
//+---------------------------------------------------------------------------+
bool ChartDragTradeLevelsGet(bool &result,const long chart_ID=0)
  {
//--- özellik değerini almak için değişkeni hazırla
   long value;
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini al
   if(!ChartGetInteger(chart_ID,CHART_DRAG_TRADE_LEVELS,0,value))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- çizelge özelliğinin değerini bellekte sakla
   result=value;
//--- başarılı çalıştırma
   return(true);
  }
//+------------------------------------------------------------------+
//| Fonksiyon, alım-satım seviyelerinin çizelgede fare ile           |
//| sürüklenmesini etkinleştirir/devre dışı bırakır.              |
//+------------------------------------------------------------------+
bool ChartDragTradeLevelsSet(const bool value,const long chart_ID=0)
  {
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini ayarla
   if(!ChartSetInteger(chart_ID,CHART_DRAG_TRADE_LEVELS,0,value))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- başarılı çalıştırma
   return(true);
  }

 

  • CHART_SHOW_DATE_SCALE zaman ölçeğini çizelge üzerinde gösterme özelliği.

//+--------------------------------------------------------------------+
//| Fonksiyon, zaman ölçeği çizelgede gösteriliyor mu, tanımlar.       |
//+--------------------------------------------------------------------+
bool ChartShowDateScaleGet(bool &result,const long chart_ID=0)
  {
//--- özellik değerini almak için değişkeni hazırla
   long value;
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini al
   if(!ChartGetInteger(chart_ID,CHART_SHOW_DATE_SCALE,0,value))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- çizelge özelliğinin değerini bellekte sakla
   result=value;
//--- başarılı çalıştırma
   return(true);
  }
//+-----------------------------------------------------------------------------+
//| Fonksiyon, zaman ölçeğinin çizelgede gösterimini etkinleştirir veya         |
//| devre dışı bırakır.                                                         |
//+-----------------------------------------------------------------------------+
bool ChartShowDateScaleSet(const bool value,const long chart_ID=0)
  {
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini ayarla
   if(!ChartSetInteger(chart_ID,CHART_SHOW_DATE_SCALE,0,value))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- başarılı çalıştırma
   return(true);
  }

 

  • CHART_SHOW_PRICE_SCALE çizelgede fiyat ölçeğinin gösterilmesi özelliği.

//+--------------------------------------------------------------------+
//| Fonksiyon, çizelgede fiyat ölçeği gösterilmiş mi, tanımlar.        |
//+--------------------------------------------------------------------+
bool ChartShowPriceScaleGet(bool &result,const long chart_ID=0)
  {
//--- özellik değerini almak için değişkeni hazırla
   long value;
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini al
   if(!ChartGetInteger(chart_ID,CHART_SHOW_PRICE_SCALE,0,value))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- çizelge özelliğinin değerini bellekte sakla
   result=value;
//--- başarılı çalıştırma
   return(true);
  }
//+----------------------------------------------------------------------+
//| Fonksiyon, göstergede fiyat ölçeğinin gösterimini devreye sokar veya |
//| devre dışı bırakır.                                                  |
//+----------------------------------------------------------------------+
bool ChartShowPriceScaleSet(const bool value,const long chart_ID=0)
  {
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini ayarla
   if(!ChartSetInteger(chart_ID,CHART_SHOW_PRICE_SCALE,0,value))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- başarılı çalıştırma
   return(true);
  }

 

  • CHART_SHOW_ONE_CLICK property of displaying the "One click trading" panel on a chart.

//+------------------------------------------------------------------+
//| Checks if the "One click trading" panel is displayed on chart    |
//+------------------------------------------------------------------+
bool ChartShowOneClickPanelGet(bool &result,const long chart_ID=0)
  {
//--- özellik değerini almak için değişkeni hazırla
   long value;
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini al
   if(!ChartGetInteger(chart_ID,CHART_SHOW_ONE_CLICK,0,value))
     {
      //--- Uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- çizelge özelliğinin değerini bellekte sakla
   result=value;
//--- başarılı çalıştırma
   return(true);
  }
//+------------------------------------------------------------------+
//| Enables/disables displaying of the "One click trading" panel     |
//| on chart                                                         |
//+------------------------------------------------------------------+
bool ChartShowOneClickPanelSet(const bool value,const long chart_ID=0)
  {
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini ayarla
   if(!ChartSetInteger(chart_ID,CHART_SHOW_ONE_CLICK,0,value))
     {
      //--- Uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- başarılı çalıştırma
   return(true);
  }

 

  • CHART_SHIFT_SIZE sıfır çubuğunun sağ sınırdan yüzdelik değerlerle kaydırılma boyutu.

//+-------------------------------------------------------------+
//| Fonksiyon, sıfır çubuğunun sağ sınırdan yüzdelik değerlerle |
//| (10%'dan 50%'ye kadar) kaydırılma boyutunu alır.            |
//+-------------------------------------------------------------+
double ChartShiftSizeGet(const long chart_ID=0)
  {
//--- sonucu almak için değişkeni hazırla
   double result=EMPTY_VALUE;
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini al
   if(!ChartGetDouble(chart_ID,CHART_SHIFT_SIZE,0,result))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
     }
//--- çizelge özelliğinin değerini dön 
   return(result);
  }
//+---------------------------------------------------------------------+
//| Fonksiyon, sıfır çubuğunun sağ sınırdan yüzdelik değerlerle         |
//| (10%'dan 50%'ye kadar) kaydırılma boyutunu ayarlar. Kaydırma modunu |
//| devreye sokmak için, CHART_SHIFT özelliğinin değeri true olarak     |
//| ayarlanmalıdır.                                                     |
//+---------------------------------------------------------------------+
bool ChartShiftSizeSet(const double value,const long chart_ID=0)
  {
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini ayarla
   if(!ChartSetDouble(chart_ID,CHART_SHIFT_SIZE,value))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- başarılı çalıştırma
   return(true);
  }

 

  • CHART_FIXED_POSITION sol sınırdan yüzdelik değerlerle çizelge sabitlenmiş konumu.

//+-----------------------------------------------------------------+
//| Fonksiyon, sol sınırdan yüzdelik değerlerle çizelge sabitlenmiş |
//| konumunu ayarlar.                                               |
//+-----------------------------------------------------------------+
double ChartFixedPositionGet(const long chart_ID=0)
  {
//--- sonucu almak için değişkeni hazırla
   double result=EMPTY_VALUE;
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini al
   if(!ChartGetDouble(chart_ID,CHART_FIXED_POSITION,0,result))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
     }
//--- çizelge özelliğinin değerini dön 
   return(result);
  }
//+-----------------------------------------------------------------+
//| Fonksiyon, sol sınırdan yüzdelik değerlerle çizelge sabitlenmiş |
//| konumunu ayarlar.                Çizelge sabitlenmiş konumunun  |
//| yerini göstermek için, CHART_AUTOSCROLL özelliğinin             |
//| false şeklinde ayarlanmış olması gerekir.                       |
//+-----------------------------------------------------------------+
bool ChartFixedPositionSet(const double value,const long chart_ID=0)
  {
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini ayarla
   if(!ChartSetDouble(chart_ID,CHART_FIXED_POSITION,value))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- başarılı çalıştırma
   return(true);
  }

 

  • CHART_FIXED_MAX çizelgenin sabitlenmiş maksimum özelliği.

//+----------------------------------------------------------+
//| Fonksiyon, çizelgenin sabitlenmiş maksimum değerini alır |
//+----------------------------------------------------------+
double ChartFixedMaxGet(const long chart_ID=0)
  {
//--- sonucu almak için değişkeni hazırla
   double result=EMPTY_VALUE;
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini al
   if(!ChartGetDouble(chart_ID,CHART_FIXED_MAX,0,result))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
     }
//--- çizelge özelliğinin değerini dön 
   return(result);
  }
//+--------------------------------------------------------------+
//| Fonksiyon, çizelgenin sabitlenmiş maksimum değerini ayarlar. |
//| Özelliğin değerini değiştirmek için,                         |
//| CHART_SCALEFIX özelliğinin değeri öncelikle true şeklinde    |
//| ayarlanmalıdır.                                              |
//+--------------------------------------------------------------+
bool ChartFixedMaxSet(const double value,const long chart_ID=0)
  {
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini ayarla
   if(!ChartSetDouble(chart_ID,CHART_FIXED_MAX,value))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- başarılı çalıştırma
   return(true);
  }

 

  • CHART_FIXED_MIN çizelgenin sabitlenmiş minimum özelliği.

//+------------------------------------------------------------------+
//| Fonksiyon, çizelgenin sabitlenmiş minimum değerini alır.         |
//+------------------------------------------------------------------+
double ChartFixedMinGet(const long chart_ID=0)
  {
//--- sonucu almak için değişkeni hazırla
   double result=EMPTY_VALUE;
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini al
   if(!ChartGetDouble(chart_ID,CHART_FIXED_MIN,0,result))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
     }
//--- çizelge özelliğinin değerini dön 
   return(result);
  }
//+------------------------------------------------------------------+
//| Fonksiyon, çizelgenin sabitlenmiş minimum değerini ayarlar.      |
//| Özelliğin değerini değiştirmek için,                             |
//| CHART_SCALEFIX özelliğinin değeri öncelikle true şeklinde        |
//| ayarlanmalıdır.                                                  |
//+------------------------------------------------------------------+
bool ChartFixedMinSet(const double value,const long chart_ID=0)
  {
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini ayarla
   if(!ChartSetDouble(chart_ID,CHART_FIXED_MIN,value))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- başarılı çalıştırma
   return(true);
  }

 

  • CHART_POINTS_PER_BAR çubuk başına düşen puan bazında ölçek değeri.

//+---------------------------------------------------------------------------+
//| Fonksiyon, çubuk başına düşen puan bazında çizelge ölçek değerini alır.   |
//+---------------------------------------------------------------------------+
double ChartPointsPerBarGet(const long chart_ID=0)
  {
//--- sonucu almak için değişkeni hazırla
   double result=EMPTY_VALUE;
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini al
   if(!ChartGetDouble(chart_ID,CHART_POINTS_PER_BAR,0,result))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
     }
//--- çizelge özelliğinin değerini dön 
   return(result);
  }
//+-------------------------------------------------------------------------+
//| Fonksiyon, nokta bölü çubuk şeklindeki çizelge ölçek değerini ayarlar   |
//| Bu özelliğin değerinin değişmesinin sonucunu göstermek için,            |
//| CHART_SCALE_PT_PER_BAR özelliğinin değeri,                              |
//| öncelikli olarak true şeklinde ayarlanmalıdır.                          |
//+-------------------------------------------------------------------------+
bool ChartPointsPerBarSet(const double value,const long chart_ID=0)
  {
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini ayarla
   if(!ChartSetDouble(chart_ID,CHART_POINTS_PER_BAR,value))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- başarılı çalıştırma
   return(true);
  }

 

  • CHART_PRICE_MIN çizelgenin minimum değerine dönüş yapar.

//+---------------------------------------------------------------------------------+
//| Fonksiyon, ana pencerenin veya alt pencerenin çizelge minimum değerini alır.    |
//|                                                                                 |
//+---------------------------------------------------------------------------------+
double ChartPriceMin(const long chart_ID=0,const int sub_window=0)
  {
//--- sonucu almak için değişkeni hazırla
   double result=EMPTY_VALUE;
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini al
   if(!ChartGetDouble(chart_ID,CHART_PRICE_MIN,sub_window,result))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
     }
//--- çizelge özelliğinin değerini dön 
   return(result);
  }

 

  • CHART_PRICE_MAX çizelgenin maksimum değerine dönüş yapar.

//+--------------------------------------------------------------------------------+
//| Fonksiyon, ana pencerenin veya alt pencerenin çizelge maksimum değerini alır.  |
//|                                                                                |
//+--------------------------------------------------------------------------------+
double ChartPriceMax(const long chart_ID=0,const int sub_window=0)
  {
//--- sonucu almak için değişkeni hazırla
   double result=EMPTY_VALUE;
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini al
   if(!ChartGetDouble(chart_ID,CHART_PRICE_MAX,sub_window,result))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
     }
//--- çizelge özelliğinin değerini dön 
   return(result);
  }

 

  • CHART_COMMENT çizelge üstünde yorum.

//+----------------------------------------------------------------------+
//| Fonksiyon, çizelgenin sol üst köşesindeki yorumu alır.               |
//+----------------------------------------------------------------------+
bool ChartCommentGet(string &result,const long chart_ID=0)
  {
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini al
   if(!ChartGetString(chart_ID,CHART_COMMENT,result))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- başarılı çalıştırma
   return(true);
  }
//+------------------------------------------------------------------+
//| Fonksiyon, çizelgenin sol üst köşesindeki yorumu ayarlar.        |
//| devre dışı bırakır.                                              |
//+------------------------------------------------------------------+
bool ChartCommentSet(const string str,const long chart_ID=0)
  {
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini ayarla
   if(!ChartSetString(chart_ID,CHART_COMMENT,str))
     {
      //--- uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- başarılı çalıştırma
   return(true);
  }

 

  • CHART_IS_MAXIMIZED - çizelge penceresi maksimize edildi.

//+------------------------------------------------------------------+
//| Mevcut çizelge penceresinin maksimize olup olmadığını denetler   |
//+------------------------------------------------------------------+
bool ChartWindowsIsMaximized(bool &result,const long chart_ID=0)
  {
//--- özellik değerinin kaydedileceği değişkeni hazırla
   long value;
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini al
   if(!ChartGetInteger(chart_ID,CHART_IS_MAXIMIZED))
     {
      //--- Uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- çizelge özelliğinin değerini değişkene ata
   result=value;
//--- işlem başarılı
   return(true);
  }
  

 

  • CHART_IS_MINIMIZED çizelge penceresi minimize edildi.

//+------------------------------------------------------------------+
//| Mevcut çizelge penceresinin minimize olup olmadığını denetler    |
//+------------------------------------------------------------------+
bool ChartWindowsIsMinimized(bool &result,const long chart_ID=0)
  {
//--- özellik değerinin kaydedileceği değişkeni hazırla
   long value;
//--- hata değerini sıfırla
   ResetLastError();
//--- özellik değerini al
   if(!ChartGetInteger(chart_ID,CHART_IS_MINIMIZED))
     {
      //--- Uzmanlar günlüğünde hata mesajını görüntüle
      Print(__FUNCTION__+", Hata Kodu = ",GetLastError());
      return(false);
     }
//--- çizelge özelliğinin değerini değişkene ata
   result=value;
//--- işlem başarılı
   return(true);
  }
  

 

Çizelge özellikleri için panel

//--- kontrol elemanlarının kütüphanesine bağlan
#include <ChartObjects\ChartObjectsTxtControls.mqh>
//--- ön tanımlı sabitler
#define X_PROPERTY_NAME_1    10  // ilk sütundaki özellik isminin x koordinatı
#define X_PROPERTY_VALUE_1   225 // ilk sütundaki özellik değerinin x koordinatı
#define X_PROPERTY_NAME_2    345 // ikinci ve üçüncü sütundaki özellik isminin x koordinatı
#define X_PROPERTY_VALUE_2   550 // ikinci ve üçüncü sütundaki özellik değerinin x koordinatı
#define X_BUTTON_1           285 // ilk sütundaki düğmenin x koordinatı
#define X_BUTTON_2           700 // ikinci ve üçüncü sütundaki düğmenin x koordinatı
#define Y_PROPERTY_1         30  // ilk ve ikinci sütunların başlangıç y koordinatları
#define Y_PROPERTY_2         286 // üçüncü sütunun başlangıç y koordinatı
#define Y_DISTANCE           16  // çizgiler arasındaki y eksensel uzaklıklar
#define LAST_PROPERTY_NUMBER 111 // son grafiksel özelliğin numarası
//--- giriş parametreleri
input color InpFirstColor=clrDodgerBlue// Tek çizgilerin rengi
input color InpSecondColor=clrGoldenrod// Çift çizgilerin rengi
//--- değişkenler ve diziler
CChartObjectLabel  ExtLabelsName[];  // özellik isimlerinin görüntülenmesi için etiketler
CChartObjectLabel  ExtLabelsValue[]; // özellik değerlerinin görüntülenmesi için etiketler
CChartObjectButton ExtButtons[];     // düğmeler
int                ExtNumbers[];     // özellik indisleri
string             ExtNames[];       // özellik isimleri
uchar              ExtDataTypes[];   // özellik veri tipleri (tamsayı, double, string)
uint               ExtGroupTypes[];  // özelliklere ait veriyi gruplardan birine depolayan dizi
uchar              ExtDrawTypes[];   // özellik görünümü tipine veri kaydeden dizi
double             ExtMaxValue[];    // panelle çalışırken gerçekleşen maksimum özellik değerleri
double             ExtMinValue[];    // panelle çalışırken gerçekleşen minimum özellik değerleri
double             ExtStep[];        // özelliklerin değiştirilmesi için adımlar
int                ExtCount;         // tüm özelliklerin toplam sayısı
color              ExtColors[2];     // çizgileri görüntülemek için gereken renklerin dizisi
string             ExtComments[2];   // yorumların dizisi (CHART_COMMENT özelliği için)
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- çizelgede bir yorum göster
   Comment("SomeComment");
//--- renkleri, daha sonra aralarında değişim yapabilmek için diziye depola
   ExtColors[0]=InpFirstColor;
   ExtColors[1]=InpSecondColor;
//--- yorumları, daha sonra aralarında değişim yapabilmek için diziye depola
   ExtComments[0]="FirstComment";
   ExtComments[1]="SecondComment";
//--- çizelge özelliklerini yönetmek için, kontrol panelini hazırla ve göster
   if(!PrepareControls())
      return(INIT_FAILED);
//--- başarılı çalıştırma
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Deinitialization function of the expert                          |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//--- yorumu çizelgeden kaldır
   Comment("");
  }
//+------------------------------------------------------------------+
//| Handler of a chart event                                         |
//+------------------------------------------------------------------+
void OnChartEvent(const int id,
                  const long &lparam,
                  const double &dparam,
                  const string &sparam)
  {
//--- çizelge nesnesinin tıklanma olayını kontrol et
   if(id==CHARTEVENT_OBJECT_CLICK)
     {
      //--- nesne ismini ayraç ile böl
      string obj_name[];
      StringSplit(sparam,'_',obj_name);
      //--- nesne bir düğme mi, kontrol et
      if(obj_name[0]=="Button")
        {
         //--- düğmenin indisini al
         int index=(int)StringToInteger(obj_name[1]);
         //--- düğmeyi serbest bırak
         ExtButtons[index].State(false);
         //--- tipine bağlı olarak özelliğin yeni değerini ayarla
         if(ExtDataTypes[index]=='I')
            ChangeIntegerProperty(index);
         if(ExtDataTypes[index]=='D')
            ChangeDoubleProperty(index);
         if(ExtDataTypes[index]=='S')
            ChangeStringProperty(index);
        }
     }
//--- özellik değerlerini yeniden çiz
   RedrawProperties();
   ChartRedraw();
  }
//+------------------------------------------------------------------+
//| Çizelgenin tamsayı özelliğini değiştir                          |
//+------------------------------------------------------------------+
void ChangeIntegerProperty(const int index)
  {
//--- mevcut özellik değerini al
   long value=ChartGetInteger(0,(ENUM_CHART_PROPERTY_INTEGER)ExtNumbers[index]);
//--- sonraki özellik değerini ayarla
   switch(ExtDrawTypes[index])
     {
      case 'C':
         value=GetNextColor((color)value);
         break;
      default:
         value=(long)GetNextValue((double)value,index);
         break;
     }
//--- yeni özellik değerini ayarla
   ChartSetInteger(0,(ENUM_CHART_PROPERTY_INTEGER)ExtNumbers[index],0,value);
  }
//+------------------------------------------------------------------+
//| Çizelgenin double özelliğini değiştir                            |
//+------------------------------------------------------------------+
void ChangeDoubleProperty(const int index)
  {
//--- mevcut özellik değerini al
   double value=ChartGetDouble(0,(ENUM_CHART_PROPERTY_DOUBLE)ExtNumbers[index]);
//--- sonraki özellik değerini ayarla
   value=GetNextValue(value,index);
//--- yeni özellik değerini ayarla
   ChartSetDouble(0,(ENUM_CHART_PROPERTY_DOUBLE)ExtNumbers[index],value);
  }
//+------------------------------------------------------------------+
//| Çizelgenin string özelliğini değiştir                            |
//+------------------------------------------------------------------+
void ChangeStringProperty(const int index)
  {
//--- ExtComments dizisi içinde değişim yapmak için statik değişken
   static uint comment_index=1;
//--- başka bir yorum almak için değişim indisi
   comment_index=1-comment_index;
//--- yeni özellik değerini ayarla
   ChartSetString(0,(ENUM_CHART_PROPERTY_STRING)ExtNumbers[index],ExtComments[comment_index]);
  }
//+------------------------------------------------------------------+
//| Sonraki özellik değerini tanımla                                 |
//+------------------------------------------------------------------+
double GetNextValue(const double value,const int index)
  {
   if(value+ExtStep[index]<=ExtMaxValue[index])
      return(value+ExtStep[index]);
   else
      return(ExtMinValue[index]);
  }
//+------------------------------------------------------------------+
//| color tipi özellik için sonraki rengi al                         |
//+------------------------------------------------------------------+
color GetNextColor(const color clr)
  {
//--- sonraki renk değerine dönüş yap
   switch(clr)
     {
      case clrWhitereturn(clrRed);
      case clrRed:   return(clrGreen);
      case clrGreenreturn(clrBlue);
      case clrBlue:  return(clrBlack);
      default:       return(clrWhite);
     }
  }
//+------------------------------------------------------------------+
//| Yeniden çizim özelliği değeri                                    |
//+------------------------------------------------------------------+
void RedrawProperties(void)
  {
//--- özellik değeri metni
   string text;
   long   value;
//--- özelliklerin sayısının döngüsü
   for(int i=0;i<ExtCount;i++)
     {
      text="";
      switch(ExtDataTypes[i])
        {
         case 'I':
            //--- mevcut özelliğin değerini al
            if(!ChartGetInteger(0,(ENUM_CHART_PROPERTY_INTEGER)ExtNumbers[i],0,value))
            break;
            //--- tamsayı özellik metni
            switch(ExtDrawTypes[i])
              {
               //--- color özelliği
               case 'C':
                  text=(string)((color)value);
                  break;
                  //--- mantıksal özellik
               case 'B':
                  text=(string)((bool)value);
                  break;
                  //--- ENUM_CHART_MODE sayımı özelliği
               case 'M':
                  text=EnumToString((ENUM_CHART_MODE)value);
                  break;
                  //--- ENUM_CHART_VOLUME_MODE sayımı özelliği
               case 'V':
                  text=EnumToString((ENUM_CHART_VOLUME_MODE)value);
                  break;
                  //--- int tipli sayı
               default:
                  text=IntegerToString(value);
                  break;
              }
            break;
         case 'D':
            //--- double özellik metni
            text=DoubleToString(ChartGetDouble(0,(ENUM_CHART_PROPERTY_DOUBLE)ExtNumbers[i]),4);
            break;
         case 'S':
            //--- string özellik metni
            text=ChartGetString(0,(ENUM_CHART_PROPERTY_STRING)ExtNumbers[i]);
            break;
        }
      //--- özellik değerini görüntüle
      ExtLabelsValue[i].Description(text);
     }
  }
//+------------------------------------------------------------------+
//| Çizelge özelliklerini yönetmek için panel oluştur                  |
//+------------------------------------------------------------------+
bool PrepareControls(void)
  {
//--- diziler için rezerv kullanarak bellek tahsis et
   MemoryAllocation(LAST_PROPERTY_NUMBER+1);
//--- değişkenler
   int i=0;     // döngü değişkeni
   int col_1=0; // ilk sütundaki özelliklerin sayısı
   int col_2=0; // ikinci sütundaki özelliklerin sayısın
   int col_3=0; // üçüncü sütundaki özelliklerin sayısı
//--- mevcut özellik sayısı - 0
   ExtCount=0;
//--- özellikleri döngüyle ara
   while(i<=LAST_PROPERTY_NUMBER)
     {
      //--- mevcut özellik sayısını muhafaza et
      ExtNumbers[ExtCount]=i;
      //--- döngü değişkeninin değerini artır
      i++;
      //--- bu numaraya sahip bir özellik var mı kontrol et
      if(CheckNumber(ExtNumbers[ExtCount],ExtNames[ExtCount],ExtDataTypes[ExtCount],ExtGroupTypes[ExtCount],ExtDrawTypes[ExtCount]))
        {
         //--- özellik için kontrol elemanları oluştur
         switch(ExtGroupTypes[ExtCount])
           {
            case 1:
               //--- özellik için etiketler ve bir düğme oluştur
               if(!ShowProperty(ExtCount,0,X_PROPERTY_NAME_1,X_PROPERTY_VALUE_1,X_BUTTON_1,Y_PROPERTY_1+col_1*Y_DISTANCE,true))
               return(false);
               //--- ilk sütundaki elemanların sayısı arttı
               col_1++;
               break;
            case 2:
               //--- özellik için etiketler ve bir düğme oluştur
               if(!ShowProperty(ExtCount,1,X_PROPERTY_NAME_2,X_PROPERTY_VALUE_2,X_BUTTON_2,Y_PROPERTY_1+col_2*Y_DISTANCE,true))
               return(false);
               //--- ikinci sütundaki elemanların sayısı arttı
               col_2++;
               break;
            case 3:
               //--- özellik için sadece etiketler oluştur
               if(!ShowProperty(ExtCount,2,X_PROPERTY_NAME_2,X_PROPERTY_VALUE_2,0,Y_PROPERTY_2+col_3*Y_DISTANCE,false))
               return(false);
               //--- üçüncü sütundaki elemanların sayısı arttı
               col_3++;
               break;
           }
         //--- maksimum ve minimum özellik değerini ve adımı tanımla
         GetMaxMinStep(ExtNumbers[ExtCount],ExtMaxValue[ExtCount],ExtMinValue[ExtCount],ExtStep[ExtCount]);
         //--- özellik değerini artır
         ExtCount++;
        }
     }
//--- diziler tarafından kullanılmayan belleği serbest bırak
   MemoryAllocation(ExtCount);
//--- özellik değerlerini yeniden çiz
   RedrawProperties();
   ChartRedraw();
//--- başarılı çalıştırma
   return(true);
  }
//+------------------------------------------------------------------+
//| Diziler için bellek tahsis et                                    |
//+------------------------------------------------------------------+
void MemoryAllocation(const int size)
  {
   ArrayResize(ExtLabelsName,size);
   ArrayResize(ExtLabelsValue,size);
   ArrayResize(ExtButtons,size);
   ArrayResize(ExtNumbers,size);
   ArrayResize(ExtNames,size);
   ArrayResize(ExtDataTypes,size);
   ArrayResize(ExtGroupTypes,size);
   ArrayResize(ExtDrawTypes,size);
   ArrayResize(ExtMaxValue,size);
   ArrayResize(ExtMinValue,size);
   ArrayResize(ExtStep,size);
  }
//+------------------------------------------------------------------+
//| özellik indisinin, ENUM_CHART_PROPERTIES sayımlarından           |
//| biri olup olmadığını kontrol et                                  |
//+------------------------------------------------------------------+
bool CheckNumber(const int ind,string &name,uchar &data_type,uint &group_type,uchar &draw_type)
  {
//--- özellik tamsayı tipinde mi kontrol et
   ResetLastError();
   name=EnumToString((ENUM_CHART_PROPERTY_INTEGER)ind);
   if(_LastError==0)
     {
      data_type='I';                      // ENUM_CHART_PROPERTY_INTEGER sayımından özellik
      GetTypes(ind,group_type,draw_type); // özellik görüntüleme parametrelerini tanımla
      return(true);
     }
//--- özellik double tipli mi kontrol et
   ResetLastError();
   name=EnumToString((ENUM_CHART_PROPERTY_DOUBLE)ind);
   if(_LastError==0)
     {
      data_type='D';                      // ENUM_CHART_PROPERTY_DOUBLE sayımından özellik
      GetTypes(ind,group_type,draw_type); // özellik görüntüleme parametrelerini tanımla
      return(true);
     }
//--- özellik string tipli mi kontrol et
   ResetLastError();
   name=EnumToString((ENUM_CHART_PROPERTY_STRING)ind);
   if(_LastError==0)
     {
      data_type='S';                      // ENUM_CHART_PROPERTY_STRING sayımından özellik
      GetTypes(ind,group_type,draw_type); // özellik görüntüleme parametrelerini tanımla
      return(true);
     }
//--- özellik hiç bir sayıma ait değil
   return(false);
  }
//+------------------------------------------------------------------+
//| Özelliğin depolanacağı grubu ve aynı zamanda                     |
//| görüntülenme tipini tanımla                                      |
//+------------------------------------------------------------------+
void GetTypes(const int property_number,uint &group_type,uchar &draw_type)
  {
//--- özellik üçüncü gruba mı ait, kontrol et
//--- üçüncü grup özellikleri üçüncü sütunda CHART_BRING_TO_TOP'dan başlayarak görüntülenir
   if(CheckThirdGroup(property_number,group_type,draw_type))
      return;
//--- özellik ikinci gruba mı ait, kontrol et
//--- ikinci grup özellikleri ikinci sütunun başında gösterilir
   if(CheckSecondGroup(property_number,group_type,draw_type))
      return;
//--- eğer kendini burada bulduysan, özellik ilk gruba (ilk sütuna) aittir
   CheckFirstGroup(property_number,group_type,draw_type);
  }
//+----------------------------------------------------------------------+
//| Fonksiyon, özelliğin üçüncü gruba aitliğini kontrol eder ve          |
//| pozitif cevap durumunda onun görünüm tipini belirler                 |
//+----------------------------------------------------------------------+
bool CheckThirdGroup(const int property_number,uint &group_type,uchar &draw_type)
  {
//--- özellik üçüncü gruba mı ait, kontrol et
   switch(property_number)
     {
      //--- mantıksal özellikler
      case CHART_IS_OBJECT:
      case CHART_WINDOW_IS_VISIBLE:
         draw_type='B';
         break;
         //--- tamsayı özellikler
      case CHART_VISIBLE_BARS:
      case CHART_WINDOWS_TOTAL:
      case CHART_WINDOW_HANDLE:
      case CHART_WINDOW_YDISTANCE:
      case CHART_FIRST_VISIBLE_BAR:
      case CHART_WIDTH_IN_BARS:
      case CHART_WIDTH_IN_PIXELS:
         draw_type='I';
         break;
         //--- double özellikler
      case CHART_PRICE_MIN:
      case CHART_PRICE_MAX:
         draw_type='D';
         break;
         //--- gerçekte bu özellik, çizelge penceresinin diğer hepsinin üstünde gösterilmesi için bir komuttur
         //--- pencere diğerlerinin üstünde olduğu sürece, onu kullanmadan önce
         //--- panelin uygulanmasına gerek yoktur
      case CHART_BRING_TO_TOP:
         draw_type=' ';
         break;
         //--- özellik üçüncü gruba ait değil
      default:
         return(false);
     }
//--- özellik üçüncü gruba ait
   group_type=3;
   return(true);
  }
//+----------------------------------------------------------------------+
//| Fonksiyon, özelliğin ikinci gruba aitliğini kontrol eder             |
//| pozitif cevap durumunda onun görünüm tipini belirler                 |
//+----------------------------------------------------------------------+
bool CheckSecondGroup(const int property_number,uint &group_type,uchar &draw_type)
  {
//--- özellik ikinci gruba mı ait, kontrol et
   switch(property_number)
     {
      //--- ENUM_CHART_MODE tipi özellik
      case CHART_MODE:
         draw_type='M';
         break;
         //--- ENUM_CHART_VOLUME_MODE tipi özellik
      case CHART_SHOW_VOLUMES:
         draw_type='V';
         break;
         //--- dizgi özellik
      case CHART_COMMENT:
         draw_type='S';
         break;
         //--- renk özelliği
      case CHART_COLOR_BACKGROUND:
      case CHART_COLOR_FOREGROUND:
      case CHART_COLOR_GRID:
      case CHART_COLOR_VOLUME:
      case CHART_COLOR_CHART_UP:
      case CHART_COLOR_CHART_DOWN:
      case CHART_COLOR_CHART_LINE:
      case CHART_COLOR_CANDLE_BULL:
      case CHART_COLOR_CANDLE_BEAR:
      case CHART_COLOR_BID:
      case CHART_COLOR_ASK:
      case CHART_COLOR_LAST:
      case CHART_COLOR_STOP_LEVEL:
         draw_type='C';
         break;
         //--- özellik ikinci gruba ait değil
      default:
         return(false);
     }
//--- özellik ikinci gruba ait
   group_type=2;
   return(true);
  }
//+-----------------------------------------------------------------------+
//| Bu fonksiyon sadece, özelliğin ikinci ve üçüncü gruplara              |
//| ait olmadığı zaten bilinmekteyse çağrılır                             |
//+-----------------------------------------------------------------------+
void CheckFirstGroup(const int property_number,uint &group_type,uchar &draw_type)
  {
//--- özellik ilk gruba ait
   group_type=1;
//--- özellik görüntüleme tipini tanımla
   switch(property_number)
     {
      //--- tamsayı özellikler
      case CHART_SCALE:
      case CHART_HEIGHT_IN_PIXELS:
         draw_type='I';
         return;
         //--- double özellikler
      case CHART_SHIFT_SIZE:
      case CHART_FIXED_POSITION:
      case CHART_FIXED_MAX:
      case CHART_FIXED_MIN:
      case CHART_POINTS_PER_BAR:
         draw_type='D';
         return;
         //--- sadece mantıksal özellikler kaldı
      default:
         draw_type='B';
         return;
     }
  }
//+------------------------------------------------------------------+
//| Özellik için bir etiket ve bir düğme oluştur                       |
//+------------------------------------------------------------------+
bool ShowProperty(const int ind,const int type,const int x1,const int x2,
                  const int xb,const int y,const bool btn)
  {
//--- ExtColors renk dizisi içinde değişim için statik dizi
   static uint color_index[3]={1,1,1};
//--- başka bir renk almak için değişim indisi
   color_index[type]=1-color_index[type];
//--- (btn=true ise) özellik için etiketleri ve düğmeyi göster
   if(!LabelCreate(ExtLabelsName[ind],"name_"+(string)ind,ExtNames[ind],ExtColors[color_index[type]],x1,y))
      return(false);
   if(!LabelCreate(ExtLabelsValue[ind],"value_"+(string)ind,"",ExtColors[color_index[type]],x2,y))
      return(false);
   if(btn && !ButtonCreate(ExtButtons[ind],(string)ind,xb,y+1))
      return(false);
//--- başarılı çalıştırma
   return(true);
  }
//+------------------------------------------------------------------+
//| Bir etiket oluştur                                               |
//+------------------------------------------------------------------+
bool LabelCreate(CChartObjectLabel &lbl,const string name,const string text,
                 const color clr,const int x,const int y)
  {
   if(!lbl.Create(0,"Label_"+name,0,x,y)) return(false);
   if(!lbl.Description(text))             return(false);
   if(!lbl.FontSize(10))                  return(false);
   if(!lbl.Color(clr))                    return(false);
//--- başarılı çalıştırma
   return(true);
  }
//+------------------------------------------------------------------+
//| Düğmeyi oluştur                                                  |
//+------------------------------------------------------------------+
bool ButtonCreate(CChartObjectButton &btn,const string name,
                  const int x,const int y)
  {
   if(!btn.Create(0,"Button_"+name,0,x,y,50,15)) return(false);
   if(!btn.Description("Next"))                  return(false);
   if(!btn.FontSize(10))                         return(false);
   if(!btn.Color(clrBlack))                      return(false);
   if(!btn.BackColor(clrWhite))                  return(false);
   if(!btn.BorderColor(clrBlack))                return(false);
//--- başarılı çalıştırma
   return(true);
  }
//+------------------------------------------------------------------+
//| Maksimum ve minimum özellik değerini ve adımını tanımla          |
//+------------------------------------------------------------------+
void GetMaxMinStep(const int property_number,double &max,double &min,double &step)
  {
   double value;
//--- özellik tipine bağlı olarak değeri ayarla
   switch(property_number)
     {
      case CHART_SCALE:
         max=5;
         min=0;
         step=1;
         break;
      case CHART_MODE:
      case CHART_SHOW_VOLUMES:
         max=2;
         min=0;
         step=1;
         break;
      case CHART_SHIFT_SIZE:
         max=50;
         min=10;
         step=2.5;
         break;
      case CHART_FIXED_POSITION:
         max=90;
         min=0;
         step=15;
         break;
      case CHART_POINTS_PER_BAR:
         max=19;
         min=1;
         step=3;
         break;
      case CHART_FIXED_MAX:
         value=ChartGetDouble(0,CHART_FIXED_MAX);
         max=value*1.25;
         min=value;
         step=value/32;
         break;
      case CHART_FIXED_MIN:
         value=ChartGetDouble(0,CHART_FIXED_MIN);
         max=value;
         min=value*0.75;
         step=value/32;
         break;
      case CHART_HEIGHT_IN_PIXELS:
         max=700;
         min=520;
         step=30;
         break;
         //--- varsayılan değerler
      default:
         max=1;
         min=0;
         step=1;
     }
  }