Funkcja int ArrayCopy() kopiuje zawartość jednej tablicy do innej tablicy i zwraca ilość skopiowanych elementów. Więcej informacji można znaleźć w specyfikacji MQL4.
Skrypt do kopiowania danych z tablicy srcArray[] do tablicy dstArray[].
#property strict
void OnStart()
{
//--- tablica dynamiczną docelowa, do której zostaną skopiowane dane
double dstArray[];
//--- tablica statyczna, źródło danych
double srcArray[] = {1.1, 2.2, 4.4};
/* indeks elementu początkowego w tablice docelowej,
z którego zacznie się zapisywanie danych */
int dstStart = 0; // wartość domyślna
/* indeks elementu początkowego w tablice źródłowej,
z którego zacznie się sczytywanie danych */
int srcStart = 0; // wartość domyślna
//--- zakres kopiowania
int count = WHOLE_ARRAY; // cała tablica, wartość domyślna
//--- skopiować dane z srcArray do dstArray
ArrayCopy(dstArray, srcArray, dstStart, srcStart, count);
//--- określić rozmiar tablicy
int srcArraySize = ArraySize(srcArray);
//--- wyświetlić wynik
for(int i = 0; i < srcArraySize; i++)
Print("srcArray[",i,"] = ",srcArray[i],
", dstArray[",i,"] = ",dstArray[i]);
}
Rys. 1. Przykład stosowania funkcji ArrayCopy().