ArrayPrint

No log, exibe uma matriz de tipo ou estrutura simples.

void  ArrayPrint(
   const void&   array[],             // matriz de saída
   uint          digits=_Digits,      // número de casas decimais
   const string  separator=NULL,      // separador entre os valores dos campos de estrutura
   ulong         start=0,             // índice do primeiro elemento de saída
   ulong         count=WHOLE_ARRAY,   // número de elementos exibidos
   ulong         flags=ARRAYPRINT_HEADER|ARRAYPRINT_INDEX|ARRAYPRINT_LIMIT|ARRAYPRINT_ALIGN    
   );

Parâmetros

array[]

[in]  Matriz de tipo ou estrutura simples..

digits=_Digits

[in]  Número de casas decimais para tipos reais. Por padrão igual a _Digits.

separator=NULL

[in]  Separador entre os valores dos campos do elemento de estrutura. O valor padrão NULL indica que existe uma cadeia de caracteres vazia, neste caso, o separador é um espaço.

start=0

[in]  Índice da primeira saída do elemento da matriz.  Por padrão, exibe-se a partir do índice zero.

count=WHOLE_ARRAY

[in]  Número de elementos de matriz que você deseja exibir. Por padrão, ele exibe toda a matriz (count=WHOLE_ARRAY).

flags=ARRAYPRINT_HEADER|ARRAYPRINT_INDEX|ARRAYPRINT_LIMIT|ARRAYPRINT_ALIGN

[in]  A combinação de sinalizadores especificada pelo modo de saída. Por padrão, todas os sinalizadores:

  • ARRAYPRINT_HEADER — exibição dos cabeçalhos para a matriz das estruturas
  • ARRAYPRINT_INDEX — exibição à esquerda do número de índice
  • ARRAYPRINT_LIMIT — exibição somente dos 100 primeiros e os últimos 100 elementos da matriz. É usado quando você deseja exibir apenas parte de uma matriz maior.
  • ARRAYPRINT_ALIGN — permitir o alinhamento dos valores de saída, quer dizer, os números serão alinhados à direita, enquanto as cadeias de caracteres à esquerda.
  • ARRAYPRINT_DATE — ao exibir datetime, mostra a data no formato dd.mm.yyyy
  • ARRAYPRINT_MINUTES — ao exibir datetime, mostra a data no formato HH:MM
  • ARRAYPRINT_SECONDS — ao exibir datetime, mostra a data no formato HH:MM:SS

Valor de retorno

Não

Observação

ArrayPrint() não exibe, no log, todos os campos da matriz de estruturas, uma vez que os campos tanto de matriz como de indicadores de objetos são omitidos. Estas colunas simplesmente não serão exibidas para impressão, com o propósito de obter uma apresentação simples e conveniente. Se você precisar da exibição de todos os campos dessa estrutura, necessitará escrever sua própria função de saída em massa com a formatação desejada.

Exemplo:

//--- exibir os valores das últimas 10 barras
   MqlRates rates[];
   if(CopyRates(_Symbol,_Period,1,10,rates))
     {
      ArrayPrint(rates);
      Print("Verificação\n[time]\t[open]\t[high]\t[low]\t[close]\t[tick_volume]\t[spread]\t[real_volume]");
      for(int i=0;i<10;i++)
        {
         PrintFormat("[%d]\t%s\t%G\t%G\t%G\t%G\t%G\t%G\t%I64d\t",i,
         TimeToString(rates[i].time,TIME_DATE|TIME_MINUTES|TIME_SECONDS),
         rates[i].open,rates[i].high,rates[i].low,rates[i].close,
         rates[i].tick_volume,rates[i].spread,rates[i].real_volume);
        }
     }
   else
      PrintFormat("CopyRates failed, error code=%d",GetLastError());
//--- exemplo de saída
/*
                    [time]  [open]  [high]   [low] [close] [tick_volume] [spread] [real_volume]
   [0] 2016.11.09 04:00:00 1.11242 1.12314 1.11187 1.12295         18110       10   17300175000
   [1] 2016.11.09 05:00:00 1.12296 1.12825 1.11930 1.12747         17829        9   15632176000
   [2] 2016.11.09 06:00:00 1.12747 1.12991 1.12586 1.12744         13458       10    9593492000
   [3] 2016.11.09 07:00:00 1.12743 1.12763 1.11988 1.12194         15362        9   12352245000
   [4] 2016.11.09 08:00:00 1.12194 1.12262 1.11058 1.11172         16833        9   12961333000
   [5] 2016.11.09 09:00:00 1.11173 1.11348 1.10803 1.11052         15933        8   10720384000
   [6] 2016.11.09 10:00:00 1.11052 1.11065 1.10289 1.10528         11888        9    8084811000
   [7] 2016.11.09 11:00:00 1.10512 1.11041 1.10472 1.10915          7284       10    5087113000
   [8] 2016.11.09 12:00:00 1.10915 1.11079 1.10892 1.10904          8710        9    6769629000
   [9] 2016.11.09 13:00:00 1.10904 1.10913 1.10223 1.10263          8956        7    7192138000
   Verificação
   [time] [open] [high] [low] [close] [tick_volume] [spread] [real_volume]
   [0] 2016.11.09 04:00:00 1.11242 1.12314 1.11187 1.12295 18110 10 17300175000 
   [1] 2016.11.09 05:00:00 1.12296 1.12825 1.1193 1.12747 17829 9 15632176000 
   [2] 2016.11.09 06:00:00 1.12747 1.12991 1.12586 1.12744 13458 10 9593492000 
   [3] 2016.11.09 07:00:00 1.12743 1.12763 1.11988 1.12194 15362 9 12352245000 
   [4] 2016.11.09 08:00:00 1.12194 1.12262 1.11058 1.11172 16833 9 12961333000 
   [5] 2016.11.09 09:00:00 1.11173 1.11348 1.10803 1.11052 15933 8 10720384000 
   [6] 2016.11.09 10:00:00 1.11052 1.11065 1.10289 1.10528 11888 9 8084811000 
   [7] 2016.11.09 11:00:00 1.10512 1.11041 1.10472 1.10915 7284 10 5087113000 
   [8] 2016.11.09 12:00:00 1.10915 1.11079 1.10892 1.10904 8710 9 6769629000 
   [9] 2016.11.09 13:00:00 1.10904 1.10913 1.10223 1.10263 8956 7 7192138000 
*/

Veja também

FileSave, FileLoad