IndicatorParameters

Belirtilen tanıtıcı değere bağlı olarak, gösterge giriş parametrelerinin sayısına, değerlerine ve tiplerine dönüş yapar.

int  IndicatorParameters(
   int               indicator_handle,     // gösterge tanıtıcı değeri
   ENUM_INDICATOR&   indicator_type,       // gösterge tipini almak için bir değişken
   MqlParam&         parameters[]          // parametreleri almak için bir dizi
   );

Parametreler

indicator_handle

[in]  Parametre sayısının öğrenilmek istendiği göstergenin tanıtıcı değeri.

indicator_type

[out]  Gösterge tipinin depolanması için ENUM_INDICATOR tipi bir değişken.

parameters[]

[out]  Gösterge parametrelerinin listesinin kaydedileceği, MqlParam tipi değerlerden oluşan bir dinamik dizi. Dizi büyüklüğü IndicatorParameters() fonksiyonu ile alınabilir.

Dönüş değeri

Belirtilen tanıtıcı değere sahip göstergenin giriş parametrelerinin sayısı. Hata durumunda -1 dönüşü yapar. Hata hakkında daha çok bilgi için GetLastError() fonksiyonunu çağırın.

Örnek:

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
 
//--- Çizelgedeki pencerelerin sayısı (en azından bir ana pencere her zaman mevcuttur)
   int windows=(int)ChartGetInteger(0,CHART_WINDOWS_TOTAL);
//--- Çizelge pencerelerini incele
   for(int w=0;w<windows;w++)
     {
      //--- Söz konusu (alt)penceredeki göstergelerin sayısı
      int total=ChartIndicatorsTotal(0,w);
      //--- Penceredeki tüm göstergeleri alır
      for(int i=0;i<total;i++)
        {
         //--- Göstergenin kısa ismini al
         string name=ChartIndicatorName(0,w,i);
         //--- Gösterge tanıtıcı değerini al
         int handle=ChartIndicatorGet(0,w,name);
         //--- Günlüğe ekle
         PrintFormat("Pencere=%d,  gösterge #%d,  tanıtıcı değer=%d",w,i,handle);
         //---
         MqlParam parameters[];
         ENUM_INDICATOR indicator_type;
         int params=IndicatorParameters(handle,indicator_type,parameters);
         //--- Mesajın tanıtıcı değeri
         string par_info="Kısa isim "+name+", tip "
                         +EnumToString(ENUM_INDICATOR(indicator_type))+"\r\n";
         //--- 
         for(int p=0;p<params;p++)
           {
            par_info+=StringFormat("parametre %d: tip=%s, long_value=%d, double_value=%G,string_value=%s\r\n",
                                   p,
                                   EnumToString((ENUM_DATATYPE)parameters[p].type),
                                   parameters[p].integer_value,
                                   parameters[p].double_value,
                                   parameters[p].string_value
                                   );
           }
         Print(par_info);
        }
      //--- Penceredeki tüm göstergelere uygulandı
     }
//---    
  }

Ayrıca Bakınız

ChartIndicatorGet()