ObjectsTotal

Devuelve el número de objetos del tipo especificado en el gráfico especificado (subventana del gráfico especificada).

int  ObjectsTotal(
   long  chart_id,           // identificador del gráfico
   int   sub_window=-1,      // índice de ventana
   int   type=-1             // tipo de objeto     
   );

Parámetros

chart_id

[in]  Identificador del gráfico. 0 significa el gráfico actual.

nwin=-1

[in]  Número de subventana del gráfico. 0 significa la ventana principal, -1 significa todas las subventanas del gráfico, incluyendo la ventana principal.

type=-1

[in]  Tipo del objeto. Su valor puede ser uno de los valores de la enumeración ENUM_OBJECT. -1 significa todos los tipos.

Valor devuelto

Número de objetos.

Nota

La función usa una llamada sincrónica, esto significa que la función espera a la ejecución de todos los comandos que han sido ubicados en la cola del gráfico antes de su llamada, y por eso puede consumir un tiempo considerable. Hay que tener esta circunstancia en cuenta al trabajar con multitud de objetos en el gráfico.

 

Ejemplo:

#property copyright "Copyright 2025, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- identificador del gráfico
   long chart_id=ChartID();
   
//--- obtenemos el número de subventanas del gráfico junto con la ventana principal
   long wnd=0;
   ResetLastError();
   if(!ChartGetInteger(chart_idCHART_WINDOWS_TOTAL0wnd))
     {
      Print("ChartGetInteger() failed. Error "GetLastError());
      return;
     }
   
//--- para cada subventana del gráfico, obtenemos y mostramos en el diario el número de objetos gráficos
   for(int i=0i<(int)wndi++)
     {
      int objects=ObjectsTotal(chart_idi);
      string wnd_head=(i==0 ? "The main chart window" : StringFormat("The window with index %d of the chart"i));
      PrintFormat("%s contains %d graphic objects"wnd_headobjects);
     }
   /*
  resultado para la ventana principal con dos subventanas,
  donde, en la ventana principal, se contienen las etiquetas de transacciones,
  mientras que en las subventanas hay dos objetos gráficos:
   The main chart window contains 656 graphic objects
   The window with index 1 of the chart contains 2 graphic objects 
   The window with index 2 of the chart contains 2 graphic objects
   */
  }