ObjectsTotal

A função retorna o número de objetos na tabela determinada, sub-janela especifica, do tipo especificado.

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

Parâmetros

chart_id

[in]  Identificador do gráfico. Significa o gráfico atual.

sub_window=-1

[in]  Número de sub-janela do gráfico. 0 significa janela do gráfico principal, -1 significa todas sub-janelas do gráfico, incluindo a janela principal.

type=-1

[in]  Tipo de objeto. O valor pode ser um dos valores do enumerador ENUM_OBJECT. -1 significa todos os tipos.

Valor do Retorno

O número de objetos.

Observação

A função utiliza uma chamada síncrona, isso significa que a função espera a execução de todos os comandos que foram colocados na fila do gráfico antes de sua chamada, e por isso este recurso pode consumir muito tempo. Deve ter isso em mente, se você estiver trabalhando com um grande número de objetos no gráfico.

 

Exemplo:

#property copyright "Copyright 2025, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- identificador do gráfico
   long chart_id=ChartID();
   
//--- obtém o número de subjanelas do gráfico juntamente com a janela principal
   long wnd=0;
   ResetLastError();
   if(!ChartGetInteger(chart_idCHART_WINDOWS_TOTAL0wnd))
     {
      Print("ChartGetInteger() failed. Error "GetLastError());
      return;
     }
   
//--- para cada subjanela do gráfico obtemos e exibimos no log a quantidade 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 a janela principal com duas subjanelas,
   onde na janela principal há marcas de trade,
   e nas subjanelas há dois 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
   */
  }