ObjectsTotal

La funzione restituisce il numero di oggetti nel grafico specificato, sottofinestra specificata, del tipo specificato.

int  ObjectsTotal(
   long  chart_id,           // identificatore del grafico
   int   sub_window=-1,      // indice finestra
   int   type=-1             // tipo di oggetto
   );

Parametri

chart_id

[in] Identificatore del Grafico. 0 significa il grafico corrente.

sub_window=-1

[in] Numero di sottofinestra grafico. 0 significa la finestra grafico principale, -1 significa tutte le sotto-finestre del grafico, compresa la finestra principale.

type=-1

[in] Tipo dell' oggetto. Il valore può essere uno dei valori dell'enumerazione ENUM_OBJECT. -1 means all types.

Valore restituito

Il numero di oggetti.

Note

La funzione utilizza una chiamata sincrona, il che significa che la funzione attende l'esecuzione di tutti i comandi che sono stati accodati per questo chart prima della sua chiamata, per cui questa funzione può richiedere molto tempo. Questa funzione deve essere presa in considerazione quando si lavora con un gran numero di oggetti su un chart.

 

Esempio:

#property copyright "Copyright 2025, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- ID del grafico
   long chart_id=ChartID();
   
//--- ottenere il numero di sottofinestre del grafico insieme alla finestra principale
   long wnd=0;
   ResetLastError();
   if(!ChartGetInteger(chart_idCHART_WINDOWS_TOTAL0wnd))
     {
      Print("ChartGetInteger() failed. Error "GetLastError());
      return;
     }
   
//--- ottenere e visualizzare nel journal il numero di oggetti grafici per ciascuna sottofinestra del grafico
   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);
     }
   /*
   risultato per la finestra principale con due sottofinestre,
   dove la finestra principale contiene le etichette delle operazioni,
   e nelle sottofinestre ci sono due oggetti grafici:
   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
   */
  }