ChartSetDouble

Belirlenen çizelgenin karşılık gelen özelliği için değer ayarlar. Çizelge özelliği double tipinde olmalıdır. Komut, çizelge mesajları kuyruğuna eklendi ve önceki komutların işlenmesinin hemen ardından uygulanacak.

bool  ChartSetDouble(
   long                           chart_id,     // Çizelge tanımlayıcısı
   ENUM_CHART_PROPERTY_DOUBLE     prop_id,      // Özellik tanımlayıcısı
   double                         value         // Değer
   );

Parametreler

chart_id

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

prop_id

[in]  Çizelge özelliğinin tanımlayıcısı. ENUM_CHART_PROPERTY_DOUBLE değerlerinden biri olabilir (sadece-okunur olanlar hariç).

value

[in] Özellik değeri.

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

İşlev eşzamansızdır; bu, işlevin, belirtilen grafik sırasına başarıyla eklenmiş olan komutun yürütülmesini beklemediği anlamına gelir. Bunun yerine, kontrolü hemen geri döndürür. Özellik yalnızca, uygun komutun grafik sırasından kaldırılmasından sonra değişecektir. Grafik sırasından komutları hemen yürütmek için ChartRedraw işlevini çağırın.

Bir kerede birkaç grafik özelliğini hemen değiştirmek isterseniz, o zaman ilgili işlevler (ChartSetString, ChartSetDouble, ChartSetString) bir kod bloğunda çalıştırılmalı, sonra aramanız gerekir ChartRedraw bir kere.

Komut yürütme sonucunu kontrol etmek için, belirtilen grafik özelliğini isteyen bir işlev kullanabilirsiniz. (ChartGetInteger, ChartGetDouble, ChartSetString). Ancak, bu işlevlerin senkron olduğunu ve yürütme sonuçlarını beklediğini unutmayın.

Örnek:

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- geçerli grafik kimliğini al
   long chart_id = ChartID();
   
//--- sıfır çubuğunun sağ kenardan yüzde olarak başlangıç ofsetini ve otomatik kaydırma bayrağını kaydet
   double shift = ChartGetDouble(chart_idCHART_SHIFT_SIZE);
   bool   scrollChartGetInteger(chart_id,CHART_AUTOSCROLL);
   
//--- grafiğin otomatik kaydırma bayrağını sıfırla
   ChartSetInteger(chart_idCHART_AUTOSCROLLtrue);
   PrintFormat("Initial chart shift size: %.2f"shift);
 
//--- döngü içerisinde %0.5'lik adımla %2.0 ila %50.0 arasında
   for(int i=20i<=500i+=5)
     {
      //--- kaydırma boyutunu i/10 olarak ayarla ve belirtilen değeri günlüğe yazdır
      ChartSetDouble(chart_idCHART_SHIFT_SIZEi/10.0);
      PrintFormat("Set chart shift size to %.1f%%"i/10.0);
      
      //--- grafiğin sıfır çubuğunu belirtilen kaydırma mesafesinde tut
      ChartNavigate(chart_idCHART_END0);
      
      //--- biraz bekle
      Sleep(16);
     }
 
//--- ilk grafik kaymasını ve otomatik kaydırmayı ayarla
   Print("Set the chart shift size to the initial value of "shift);
   ChartSetDouble(ChartID(), CHART_SHIFT_SIZEshift);
   ChartSetInteger(chart_idCHART_AUTOSCROLLscroll);
  }