ChartSetSymbolPeriod

Belirlenen çizelgenin sembolünü ve periyodunu değiştirir. Fonksiyon asenkrondur, yani komutu gönderir ve çalışmanın tamamlanması için beklemez. Komut çizelge mesajları kuyruğuna eklendi ve önceki komutların işlenmesinin hemen ardından uygulanacak.

bool  ChartSetSymbolPeriod(
   long             chart_id,     // Çizelge tanımlayıcısı
   string           symbol,       // Sembol ismi
   ENUM_TIMEFRAMES  period        // Periyot
   );

Parametreler

chart_id

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

symbol

[in]  Çizelge sembolü. NULL değeri mevcut çizelgeyi gösterir (Uzman danışmanın eklendiği)

period

[in]  Çizelge periyodu. ENUM_TIMEFRAMES sayımının değerlerinden birini alabilir. 0 mevcut çizelge periyodu anlamına gelir.

Dönüş değeri

Komutun çizelge mesajları kuyruğuna eklenmesi durumunda 'true', aksi durumda 'false' dönüşü yapar. Hata hakkında bilgi almak için GetLastError() fonksiyonunu çağırın.

Not

Sembol/periyot değişimi çizelgeye eklenmiş Uzman Danışmanın yeniden başlatılmasına yol açar.

Aynı sembol ve periyot değerleri ile yapılan ChartSetSymbolPeriod çağrısı çizelgeyi güncellemek için kullanılabilir (terminaldeki Yenile komutu gibi). Bunun sonucunda çizelgeye eklenmiş olan tüm göstergeler de yeniden hesaplanacaktır. Böylece yeni tik fiyatı gelmeden de göstergeleri hesaplayabilirsiniz (örneğin haftasonları).

Örnek:

#define   SYMBOL    "GBPUSD"
#define   PERIOD    PERIOD_H1
 
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- mevcut grafik kimliğini, sembolünü ve zaman dilimini al
   long            chart_idChartID();
   string          symbol  = Symbol();
   ENUM_TIMEFRAMES period  = Period();
 
//--- mevcut grafik sembolü ve zaman diliminin SYMBOL ve PERIOD'da ayarlananlarla değiştirilmesi hakkında günlüğe rapor yaz
   PrintFormat("Change the %s symbol and the %s period of the chart %I64u to %s %s",
               symbolTimeframeDescrioption(period), chart_idSYMBOLTimeframeDescrioption(PERIOD));
               
//--- grafik sembolünü ve zaman dilimini değiştir
   ChartSetSymbolPeriod(chart_idSYMBOLPERIOD);
   /*
   sonuç:
   Change the EURUSD symbol and the M1 period of the chart 133246248352168440 to GBPUSD H1
   */
  }
//+------------------------------------------------------------------+
//| Grafik zaman dilimi açıklamasını geri döndür                     |
//+------------------------------------------------------------------+
string TimeframeDescrioption(const ENUM_TIMEFRAMES timeframe)
  {
   return(StringSubstr(EnumToString(timeframe), 7));
  }

Ayrıca Bakınız

ChartSymbol, ChartPeriod