Descargar MetaTrader 5

ArrayFill

Llena un array numérico con valor especificado.

void  ArrayFill(
   void&  array[],       // array
   int    start,         // índice del elemento inicial
   int    count,         // número de elementos
   void   value          // valor con el que se llena el array
   );

Parámetros

array[]

[out]  Array del tipo simple (char, uchar, short, ushort, int, uint, long, ulong, bool, color, datetime, float, double).

start

[in]  Índice del elemento inicial (a partir del cual empezamos a llenar). En este caso, la bandera de series establecida se ignora.

count

[in]  Número de elementos a rellenar.

value

[in]  Valor con el que se llena el array.

Valor devuelto

No hay valor devuelto.

Nota

Cuando se llama a la función ArrayFill(), siempre se sobreentiende la dirección habitual de la indexación (de izquierda a derecha). Es decir, el cambio del orden de acceso a los elementos del array mediante la función ArraySetAsSeries() no se toma en consideración.

Un array multidimensional se representa como unidimensional cuando se procesa por la función ArrayFill(). Por ejemplo, el array array[2][4] se procesa como array[8]. Por eso a la hora de trabajar con este array se puede especificar el índice del elemento inicial igual a 5. De esta manera, la llamada a ArrayFill(array, 5, 2, 3.14) para el array array[2][4] va a llenar los elementos del array array[1][1] y array[1][2] con el valor 3.14.

Ejemplo:

void OnStart()
  {
//--- declaramos un array dinámico
   int a[];
//--- establecemos el tamaño
   ArrayResize(a,10);
//--- llenamos 5 elementos iniciales con el valor 123
   ArrayFill(a,0,5,123);
//--- llenamos 5 elementos (a partir del quinto) con el valor 456
   ArrayFill(a,5,5,456);
//--- mostramos los valores de todos los elementos
   for(int i=0;i<ArraySize(a);i++) printf("a[%d] = %d",i,a[i]);
  }


Actualizado: 2015.12.03