ChartNavigate

Çizelgede belirlenen konuma bağlı olarak, belirtilen çizelgenin, belirlenen çubuk sayısı kadar kaydırılmasını sağlar.

bool  ChartNavigate(
   long                  chart_id,     // Çizelge tanımlayıcı
   ENUM_CHART_POSITION   position,     // Konum
   int                   shift=0       // Kaydırma değeri
   );

Parametreler

chart_id

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

position

[in]  Kaydırmanın gerçekleştirileceği çizelge konumu. ENUM_CHART_POSITION değerlerinden biri olabilir.

shift=0

[in]  Çizelgenin kaydırılacağı çubuk sayısı. Pozitif sayılar, sağa kaydırma anlamına gelir (çizelgenin sonuna doğru); negatif sayılar ise sola kaydırma anlamına gelir (çizelgenin başına doğru). Sıfır kaydırma değeri çizelgenin başına veya sonuna gidilmek için kullanılabilir.

Dönüş değeri

Başarı durumunda 'true', aksi durumda 'false' dönüşü yapar.

Örnek:

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- mevcut çizelgenin işleyicisini al
   long handle=ChartID();
   string comm="";
   if(handle>0) // başarılıysa, çizelgeyi ayrıyeten başlat
     {
      //--- otomatik kaydırmayı devre dışı bırak
      ChartSetInteger(handle,CHART_AUTOSCROLL,false);
      //--- sağ çizelge sınırından bir kaydırma ayarla
      ChartSetInteger(handle,CHART_SHIFT,true);
      //--- mumları çiz
      ChartSetInteger(handle,CHART_MODE,CHART_CANDLES);
      //--- görünüm modunu tik hacimleri için ayarla
      ChartSetInteger(handle,CHART_SHOW_VOLUMES,CHART_VOLUME_TICK);
 
      //--- Comment() çıktısı için bir metin ayarla
      comm="Tarih başlangıcının sağına doğru 10 çubuk kaydır";
      //--- yorumu göster
      Comment(comm);
      //--- tarih başlangıcının sağına doğru 10 çubuk kaydır
      ChartNavigate(handle,CHART_BEGIN,10);
      //--- çizelgede görünen ilk çubuğun indisini al (indisleme zaman serilerindeki gibi)
      long first_bar=ChartGetInteger(0,CHART_FIRST_VISIBLE_BAR,0);
      //--- satır atlama karakterini ekle
      comm=comm+"\r\n";
      //--- yoruma ekle
      comm=comm+"Çizelgedeki ilk çubuğun indisi "+IntegerToString(first_bar)+"\r\n";
      //--- yorumu göster
      Comment(comm);
      //--- çizelgenin nasıl hareket edeceğini görmek için 5 saniye bekle
      Sleep(5000);
 
      //--- yorum metnine ekle
      comm=comm+"\r\n"+"Sağ çizelge sınırına doğru 10 çubuk kaydır";
      Comment(comm);
      //--- sağ çizelge sınırının soluna doğru 10 çubuk kaydır
      ChartNavigate(handle,CHART_END,-10);
      //--- çizelgede görünen ilk çubuğun indisini al (indisleme zaman serilerindeki gibi)
      first_bar=ChartGetInteger(0,CHART_FIRST_VISIBLE_BAR,0);
      comm=comm+"\r\n";
      comm=comm+"Çizelgedeki ilk çubuğun indisi "+IntegerToString(first_bar)+"\r\n";
      Comment(comm);
      //--- çizelgenin nasıl hareket edeceğini görmek için 5 saniye bekle
      Sleep(5000);
 
      //--- yeni çizelge kaydırma bloğu
      comm=comm+"\r\n"+"Tarih başlangıcına doğru 300 çubuk sağa kaydır";
      Comment(comm);
      //--- tarih başlangıcına doğru 300 çubuk sağa kaydır
      ChartNavigate(handle,CHART_BEGIN,300);
      first_bar=ChartGetInteger(0,CHART_FIRST_VISIBLE_BAR,0);
      comm=comm+"\r\n";
      comm=comm+"Çizelgedeki ilk çubuğun indisi "+IntegerToString(first_bar)+"\r\n";
      Comment(comm);
      //--- çizelgenin nasıl hareket edeceğini görmek için 5 saniye bekle
      Sleep(5000);
 
      //--- yeni çizelge kaydırma bloğu
      comm=comm+"\r\n"+"Sağ çizelge sınırının soluna doğru 300 çubuk kaydır";
      Comment(comm);
      //--- sağ çizelge sınırının soluna doğru 300 çubuk kaydır
      ChartNavigate(handle,CHART_END,-300);
      first_bar=ChartGetInteger(0,CHART_FIRST_VISIBLE_BAR,0);
      comm=comm+"\r\n";
      comm=comm+"Çizelgedeki ilk çubuğun indisi "+IntegerToString(first_bar)+"\r\n";
      Comment(comm);
     }
  }