Funkcja int ArrayCopySeries() kopiuję zawartość tablicy danych historycznych (timeseries) do innej tablicy i zwraca ilość skopiowanych elementów. Więcej informacji można znaleźć w specyfikacji MQL4.
Przykład skryptu do kopiowania cen open MODE_OPEN dla bieżącego instrumentu finansowego _Symbol i bieżącego przedziału czasowego PERIOD_CURRENT .
#property strict
void OnStart()
{
//---
double arrayOpen[]; // tablica, do której zostaną skopiowane dane
int seriesMode = MODE_OPEN; // typ danych, ceny open
string symbolName = _Symbol; // bieżący instrument finansowy
ENUM_TIMEFRAMES timeFrame = PERIOD_CURRENT; // bieżący przedział czasowy
//--- skopiować dane do tablicy arrayOpen
ArrayCopySeries(arrayOpen, seriesMode, symbolName, timeFrame);
//--- wyświetlić wynik
Print("Dane dla bieżącego instrumentu finansowego i timeframe-u:");
for(int i = 0; i < 3; i++)
Print("Cena close świecy z indeksem ",i," = ",arrayOpen[i]);
}
Rys. 1. Przykład stosowania funkcji ArrayCopySeries().
W przypadku kopiowania czasu otwarcia świec MODE_TIME tablica, do której zostaną skopiowane te dane, powinna mieć typ datetime .