Nesnelerin Görünürlükleri

Nesne görünürlük bayraklarının kombinasyonu, nesnenin görünür olduğu çizelge zaman dilimlerini belirler. OBJPROP_TIMEFRAMES özelliğini ayarlamak/almak için, ObjectSetInteger()/ObjectGetInteger() fonksiyonlarını kullanabilirsiniz.

Tanıtıcı

Değer

Açıklama

OBJ_NO_PERIODS

0

Nesne tüm zaman dilimlerinde çizilmez

OBJ_PERIOD_M1

0x00000001

Nesne 1-dakikalık çizelgede çizilir

OBJ_PERIOD_M2

0x00000002

Nesne 2-dakikalık çizelgede çizilir

OBJ_PERIOD_M3

0x00000004

Nesne 3-dakikalık çizelgede çizilir

OBJ_PERIOD_M4

0x00000008

Nesne 4-dakikalık çizelgede çizilir

OBJ_PERIOD_M5

0x00000010

Nesne 5-dakikalık çizelgede çizilir

OBJ_PERIOD_M6

0x00000020

Nesne 6-dakikalık çizelgede çizilir

OBJ_PERIOD_M10

0x00000040

Nesne 10-dakikalık çizelgede çizilir

OBJ_PERIOD_M12

0x00000080

Nesne 12-dakikalık çizelgede çizilir

OBJ_PERIOD_M15

0x00000100

Nesne 15-dakikalık çizelgede çizilir

OBJ_PERIOD_M20

0x00000200

Nesne 20-dakikalık çizelgede çizilir

OBJ_PERIOD_M30

0x00000400

Nesne 30-dakikalık çizelgede çizilir

OBJ_PERIOD_H1

0x00000800

Nesne 1-saatlik çizelgede çizilir

OBJ_PERIOD_H2

0x00001000

Nesne 2-saatlik çizelgede çizilir

OBJ_PERIOD_H3

0x00002000

Nesne 3-saatlik çizelgede çizilir

OBJ_PERIOD_H4

0x00004000

Nesne 4-saatlik çizelgede çizilir

OBJ_PERIOD_H6

0x00008000

Nesne 6-saatlik çizelgede çizilir

OBJ_PERIOD_H8

0x00010000

Nesne 8-saatlik çizelgede çizilir

OBJ_PERIOD_H12

0x00020000

Nesne 12-saatlik çizelgede çizilir

OBJ_PERIOD_D1

0x00040000

Nesne günlük çizelgelerde çizilir

OBJ_PERIOD_W1

0x00080000

Nesne haftalık çizelgelerde çizilir

OBJ_PERIOD_MN1

0x00100000

Nesne haftalık çizelgelerde çizilir

OBJ_ALL_PERIODS

0x001fffff

Nesne tüm zaman dilimlerinde çizilir

Görünürlük bayrakları "|" sembolü kullanılarak kombine edilebilir. Örneğin, OBJ_PERIOD_M10|OBJ_PERIOD_H4 kombinasyonu, nesnenin 10-dakikalık ve 4-saatlik zaman dilimlerinde görüntüleneceğini belirtir.

Örnek:

void OnStart()
  {
//---
   string highlevel="PreviousDayHigh";
   string lowlevel="PreviousDayLow";
   double prevHigh;           // Önceki günün yüksek (High) fiyatı
   double prevLow;            // Önceki günün düşük (Low) fiyatı
   double highs[],lows[];     // High ve Low için diziler
 
//--- Son hata değerini sıfırla
   ResetLastError();
//--- Günlük zaman aralığındaki son 2 High değerini al
   int highsgot=CopyHigh(Symbol(),PERIOD_D1,0,2,highs);
   if(highsgot>0) // Eğer kopyalama başarılı olduysa
     {
      Print("Son iki günün High (yüksek) fiyatları başarıyla alındı");
      prevHigh=highs[0]; // Önceki günün High değeri
      Print("prevHigh = ",prevHigh);
      if(ObjectFind(0,highlevel)<0) // highlevel isminde bir nesne bulunamadı
        {
         ObjectCreate(0,highlevel,OBJ_HLINE,0,0,0); // Yatal çizgi nesnesini oluştur
        }
      //--- highlevel çizgisi için fiyat seviyesinin değerini ayarla
      ObjectSetDouble(0,highlevel,OBJPROP_PRICE,0,prevHigh);
      //--- Görünürlüğü sadece PERIOD_M10 ve PERIOD_H4 için ayarla
      ObjectSetInteger(0,highlevel,OBJPROP_TIMEFRAMES,OBJ_PERIOD_M10|OBJ_PERIOD_H4);
     }
   else
     {
      Print("Son 2 günün High fiyatları alınamadı, Hata = ",GetLastError());
     }
 
//--- Son hata değerini sıfırla
   ResetLastError();
//--- Son 2 günün, günlük High fiyatlarını al
   int lowsgot=CopyLow(Symbol(),PERIOD_D1,0,2,lows);
   if(lowsgot>0) // Eğer kopyalama başarılıysa
     {
      Print("Son iki günün Low (düşük) fiyatları başarıyla alındı");
      prevLow=lows[0]; // Önceki günün Low değeri
      Print("prevLow = ",prevLow);
      if(ObjectFind(0,lowlevel)<0) // lowlevel isimli bir nesne bulunmadı
        {
         ObjectCreate(0,lowlevel,OBJ_HLINE,0,0,0); // Yatay Çizgi nesnesini oluştur 
        }
      //--- lowlevel çizgisi fiyat seviyesini ayarla
      ObjectSetDouble(0,lowlevel,OBJPROP_PRICE,0,prevLow);
      //--- Görünürlüğü sadece PERIOD_M10 ve PERIOD_H4 için ayarla
      ObjectSetInteger(0,lowlevel,OBJPROP_TIMEFRAMES,OBJ_PERIOD_M10|OBJ_PERIOD_H4);
     }
   else Print("Son iki gün için Low (düşük) fiyatlar alınamadı, Error = ",GetLastError());
 
   ChartRedraw(0); // çizelgeyi zorla yenile
  }

Ayrıca Bakınız

PeriodSeconds, Period, Çizelge zaman aralıkları, Zaman ve Tarih