Gann Nesneleri

Gann Yelpazesi (OBJ_GANNFAN) ve Gann Izgarası (OBJ_GANNGRID) nesneleri için, trend yönünü ayarlayan ENUM_GANN_DIRECTION sayımından iki değer kullanabilirsiniz.

ENUM_GANN_DIRECTION

Tanıtıcı

Açıklama

GANN_UP_TREND

Yukarı yönlü trende karşılık gelen çizgi

GANN_DOWN_TREND

Aşağı yönlü trende karşılık gelen çizgi

Ana çizginin ölçeğini 1x1 olarak ayarlamak için, ObjectSetDouble(chart_handle, gann_object_name, OBJPROP_SCALE, scale) fonksiyonunu kullanın, burada:

  • chart_handle – nesnenin konumlandırıldığı çizelge penceresidir;
  • gann_object_name – nesne ismidir;
  • OBJPROP_SCALE – "Scale" (ölçek) özelliğidir;
  • scale – Pip/Çubuk birimleri bazında istenen ölçek değeridir.

Gann Yelpazesi nesnesinin Parametreleri

Gann Yelpazesi oluşturma örneği:

void OnStart()
  {
//---
   string my_gann="OBJ_GANNFAN object";
   if(ObjectFind(0,my_gann)<0)// Nesne bulunamadı
     {
      //--- Hata hakkında bilgilendir
      Print("Nesne ",my_gann," bulunamadı. Hata kodu = ",GetLastError());
      //--- Çizelgedeki maksimal fiyat değerini al
      double chart_max_price=ChartGetDouble(0,CHART_PRICE_MAX,0);
      //--- Çizelgedeki minimal fiyat değerini al
      double chart_min_price=ChartGetDouble(0,CHART_PRICE_MIN,0);
      //--- Çizelgede kaç tane çubuk gösteriliyor?
      int bars_on_chart=ChartGetInteger(0,CHART_VISIBLE_BARS);
      //--- Her bir çubuğun açılış anını içeren bir dizi oluştur
      datetime Time[];
      //--- Diziye erişimi zaman serilerindeki gibi ayarla
      ArraySetAsSeries(Time,true);
      //--- Şimdi çizelgede görünür olan çubukların verilerini bu diziye kopyala
      int times=CopyTime(NULL,0,0,bars_on_chart,Time);
      if(times<=0)
        {
         Print("Açılış zamanlarını içeren dizi kopyalanamadı!");
         return;
        }
      //--- Ön hazırlıklar tamamlandı
 
      //--- Çizelgede ortadaki çubuğun indisi
      int center_bar=bars_on_chart/2;
      //--- Çizelge ortası - maksimum ve minimum arası
      double mean=(chart_max_price+chart_min_price)/2.0;
      //--- Ilk tutturma noktasının koordinatlarını merkeze ayarla
      ObjectCreate(0,my_gann,OBJ_GANNFAN,0,Time[center_bar],mean,
                   //--- İkinci tutturma noktası sağa
                   Time[center_bar/2],(mean+chart_min_price)/2.0);
      Print("Time[center_bar] = "+(string)Time[center_bar]+"  Time[center_bar/2] = "+(string)Time[center_bar/2]);
      //Print("Time[center_bar]/="+Time[center_bar]+"  Time[center_bar/2]="+Time[center_bar/2]);
      //--- Ölçeği Pip / Çubuk birimleriyle ayarla
      ObjectSetDouble(0,my_gann,OBJPROP_SCALE,10);
      //--- Çizgi trendini ayarla
      ObjectSetInteger(0,my_gann,OBJPROP_DIRECTION,GANN_UP_TREND);
      //--- Çizgi genişliğini ayarla
      ObjectSetInteger(0,my_gann,OBJPROP_WIDTH,1);
      //--- Çizgi stilini tanımla
      ObjectSetInteger(0,my_gann,OBJPROP_STYLE,STYLE_DASHDOT);
      //--- Çizgi rengini ayarla
      ObjectSetInteger(0,my_gann,OBJPROP_COLOR,clrYellowGreen);
      //--- Kullanıcıya bir nesne seçmesi için izin ver
      ObjectSetInteger(0,my_gann,OBJPROP_SELECTABLE,true);
      //--- Kendin seç
      ObjectSetInteger(0,my_gann,OBJPROP_SELECTED,true);
      //--- Bunu çizelge üzerine çiz
      ChartRedraw(0);
     }
  }