ArrayPrint

Gibt Arrays eines einfachen Typs oder einer einfachen Struktur im Journal aus.

void  ArrayPrint(
   const void&   array[],             // ausgegebenes Array
   uint          digits=_Digits,      // Anzahl von Dezimalstellen nach dem Komma
   const string  separator=NULL,      // Trennzeichen zwischen den Werten der Felder einer Struktur
   ulong         start=0,             // Index des ersten ausgegebenen Elements
   ulong         count=WHOLE_ARRAY,   // Anzahl von ausgegebenen Elementen
   ulong         flags=ARRAYPRINT_HEADER|ARRAYPRINT_INDEX|ARRAYPRINT_LIMIT|ARRAYPRINT_ALIGN    
   );

Parameter

array[]

[in]  Array eines einfachen Typs oder einer einfachen Struktur.

digits=_Digits

[in]  Anzahl der Stellen nach dem Komma für echte Typen. Standardmäßig ist gleich _Digits.

separator=NULL

[in]  Trennzeichen zwischen den Werten der Felder eines Strukturelements. Der standardmäßige Wert NULL bezeichnet eine leere Zeile; in diesem Fall gilt eine Leerstelle als Trennzeichen.

start=0

[in]  Index des ersten ausgegebenen Elements des Arrays.  Standardmäßig wird ab dem Null-Index ausgegeben.

count=WHOLE_ARRAY

[in]  Anzahl der Elemente des Arrays, die ausgegeben werden müssen. Standardmäßig wird das ganze Array ausgegeben (count=WHOLE_ARRAY).

flags=ARRAYPRINT_HEADER|ARRAYPRINT_INDEX|ARRAYPRINT_LIMIT|ARRAYPRINT_ALIGN

[in]  Kombination von Flags, die den Ausgabemodus setzt. Standardmäßig sind alle Flags aktiviert:

    • ARRAYPRINT_HEADER – Überschriften für das Struktur-Array ausgeben
    • ARRAYPRINT_INDEX – Indexnummer links ausgeben
    • ARRAYPRINT_LIMIT – nur die ersten 100 und die letzten 100 Elemente des Arrays ausgeben. Wird verwendet, wenn nur ein Teil eines großen Arrays ausgegeben werden muss.
    • ARRAYPRINT_ALIGN – die Ausrichtung der Werte aktivieren – Zahlen werden nach rechts ausgerichtet, Zeilen - nach links.
    • ARRAYPRINT_DATE – bei der Ausgabe von datetime Datum als dd.mm.yyyy anzeigen
    • ARRAYPRINT_MINUTES – bei der Ausgabe von datetime Zeit als HH:MM anzeigen
    • ARRAYPRINT_SECONDS – bei der Ausgabe von datetime Zeit als HH:MM:SS anzeigen

Rückgabewert

Nein

Hinweis

ArrayPrint() zeigt nicht alle Felder eines Struktur-Arrays im Journal aus – die Felder Arrays und Objektbezeichner werden ausgelassen. Diese Spalten werden zwecks einer einfachen Darstellung nicht angezeigt. Wenn Sie die Ausgabe aller Felder einer solchen Struktur benötigen, brauchen Sie eine eigene Funktion mit der gewünschten Formatierung zu schreiben.

Beispiel:

//--- gibt die Werte der letzten zehn Balken aus 
   MqlRates rates[];
   if(CopyRates(_Symbol,_Period,1,10,rates))
     {
      ArrayPrint(rates);
      Print("Überprüfung\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());
//--- Beispiel
/*
                    [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
   Überprüfung
   [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 
*/

Sieh auch

FileSave, FileLoad