Funkcje MQL4-Funkcje operujące na tablicach-Array Copy Rates w Forex-Słownik poleceń MQL4 - bossa.pl
2017.12.18, godz. 04:15

ArrayCopyRates

Funkcja kopiuje specjalną tablicę danych typu OHLC (tablica wielowymiarowa), które są dostępne na wykresie. Zwracana wartość to ilość skopiowanych elementów lub -1 jeśli kopiowanie nie powiodło się.

Do tablicy odwołujemy się tak jakby była tablicą dwuwymiarową, z czego pierwszy wymiar tablicy to indeks słupka, a drugi to indeks określający wartość tak jak poniżej:
  • 0 – time
  • 1 – open
  • 2 – low
  • 3 – high
  • 4 – close
  • 5 – volume

Jeśli podany zakres czasowy nie odpowiada ilości danych dostępnych na aktualnym wykresie, to nastąpi próba pobrania brakujących danych z serwera i jednocześnie wygenerowany zostanie błąd typu ERR_HISTORY_WILL_UPDATED (4066 – brak wymaganych danych w historii wykresu) oraz ustawiona zmienna last_error. Po wystąpieniu takiego błędu należy ponownie wywołać funkcję ArrayCopyRates().

Uwaga!
Tablice danych typu OHLC zwykle wykorzystuje się w celu przekazywania danych do funkcji z bibliotek DLL. Tablice przekazywane są przez referencję, a nie przez wartość, czyli podczas przekazywania jako parametr funkcji nie jest przesyłana kopia całej tablicy, tylko wskaźnik miejsca w pamięci reprezentujący tablicę.


Składnia

int ArrayCopyRates( double & dest_array[], string symbol=NULL, int
timeframe=0)
Parametry:
dest_array[] – dwuwymiarowa tablica do której zostaną skopiowane elementy
symbol – symbol rynku, danych do skopiowania
timeframe – zakres czasowy wykresu danych do skopiowania
Wartość zwracana:
Ilość skopiowanych elementów, lub -1 jeśli nic nie skopiowano


Przykład:

Double tablica1[][6];
ArrayCopyRates(tablica1, EURUSD, PERIOD_H1);
Print("Aktualny słupek", TimeToStr(tablica1[0][0]), "Cena otwarcia",
tablica1[0][1]);
bos bank logo
Grupa kapitałowa
Nagroda specjalna i tytuł BROKERA ROKU 2015
Nagroda specjalna i tytuł BROKERA
ROKU 2015, przyznane przez GPW.

logo_FMR2017aktualny.jpg Finansowa Marka Roku: wyrazista marka promująca edukację, umocnienie pozycji lidera rynku kontraktów terminowych.

nagroda najlepszy dom maklerski 2015
Najwyższa ocena dla DM BOŚ w ankiecie czytelników Gazety Giełdy Parkiet 2015r.