- Bossafx.pl
- Edukacja
- Automatyzacja handlu MQL4
- Funkcje MQL4
- Dostęp do danych
To co wyróżnia funkcje, które zostały poniej zamieszczone to konieczność podania parametrów określających dany wykres, czyli nazwa symbolu oraz zakres czasowy, a także nazwa funkcji poprzedzona literą „i”.
Może się zdarzyć, że próbujemy pobrać dane z wykresu który nie istnieje lub nigdy nie był otwarty przez użytkownika i nie były pobrane dla tego wykresu dane historyczne z serwera. W takiej sytuacji otrzymamy komunikat błędu ERR_HISTORY_WILL_UPDATED (4066 - dane historyczne są właśnie aktualizowane).
Uwaga! Podczas testowania strategii, dane z poza innych wykresów są wyznaczane i uśredniane poprzez algorytm testera strategii.
iOpen
Funkcja zwraca cenę otwarcia ze słupka określonego parametrem indeks, na wykresie określonym parametrami symbol i skala czasowa.
Indeks musi znajdować się po między wartością 0, a Bars-1 lub odczytanej za pomocą funkcji iBars()-1.
Składnia:
double iOpen( string symbol, int timeframe, int shift)
Parametry
symbol – nazwa symbol wykresu lub NULL co oznacza aktualny symbol z wykresu
timeframe – zakres czasowy wykresu lub 0 co oznacza aktualny zakres czasowy
z wykresu
shift – numer indeksu słupka z zakresu od 0 do Bars - 1
Wartość zwracana
cena otwarcia z określonego słupka
Przykład:
Print( "Cena otwarcia EURUSD H1: ",iOpen("EURUSD",PERIOD_H1,0) );
iHigh
Funkcja zwraca najwyższą cenę ze słupka określonego parametrem indeks, na wykresie określonym parametrami symbol i skala czasowa. Indeks musi znajdować się po między wartością 0, a Bars-1 lub odczytanej za pomocą funkcji iBars()-1.
Składnia:
double iHigh( string symbol, int timeframe, int shift)
Parametry
symbol – nazwa symbol wykresu lub NULL co oznacza aktualny symbol z wykresu
timeframe – zakres czasowy wykresu lub 0 co oznacza aktualny zakres czasowy
z wykresu
shift – numer indeksu słupka z zakresu od 0 do Bars - 1
Wartość zwracana
cena najwyższa z określonego słupka
Przykład:
Print( "Cena najwyższa EURUSD H1: ",iHigh("EURUSD",PERIOD_H1,0) );
iLow
Funkcja zwraca najniższą cenę ze słupka określonego parametrem indeks, na wykresie określonym parametrami symbol i skala czasowa. Indeks musi znajdować się po między wartością 0, a Bars-1 lub odczytanej za pomocą funkcji iBars()-1.
Składnia:
double iLow( string symbol, int timeframe, int shift)
Parametry
symbol – nazwa symbol wykresu lub NULL co oznacza aktualny symbol z wykresu
timeframe – zakres czasowy wykresu lub 0 co oznacza aktualny zakres czasowy
z wykresu
shift – numer indeksu słupka z zakresu od 0 do Bars - 1
Wartość zwracana
cena najniższa z określonego słupka
Przykład:
Print( "Cena najniższa EURUSD H1: ",iLow("EURUSD",PERIOD_H1,0) );
iClose
Funkcja zwraca cenę zamknięcia ze słupka określonego parametrem indeks, na wykresie określonym parametrami symbol i skala czasowa. Indeks musi znajdować się pomiędzy wartością 0, a Bars-1 lub odczytaną za pomocą funkcji iBars()-1.
Składnia:
lose( string symbol, int timeframe, int shift )
Parametry
symbol – nazwa symbol wykresu lub NULL co oznacza aktualny symbol z wykresu
timeframe – zakres czasowy wykresu lub 0 co oznacza aktualny zakres czasowy
z wykresu
shift – numer indeksu słupka z zakresu od 0 do Bars - 1
Wartość zwracana
cena zamknięcie z określonego słupka
Przykład:
Print( "Cena zamknięcia EURUSD H1: ",iClose("EURUSD",PERIOD_H1,0) );
iVolume
Funkcja zwraca wolumen ze słupka określonego parametrem indeks, na wykresie określonym parametrami symbol i skala czasowa. Indeks musi znajdować się pomiędzy wartością 0, a Bars-1 lub odczytaną za pomocą funkcji iBars()- 1.
Składnia:
double iVolume( string symbol, int timeframe, int shift)
Parametry
symbol – nazwa symbol wykresu lub NULL co oznacza aktualny symbol z wykresu
timeframe – zakres czasowy wykresu lub 0 co oznacza aktualny zakres czasowy
z wykresu
shift – numer indeksu słupka z zakresu od 0 do Bars - 1
Wartość zwracana
wolumen z określonego słupka
Przykład:
Print( "Wolumen słupka EURUSD H1: ",iVolume("EURUSD",PERIOD_H1,0) );
iTime
Funkcja zwraca czas ze słupka określonego parametrem indeks, na wykresie określonym parametrami symbol i skala czasowa. Indeks musi znajdować się pomiędzy wartością 0, a Bars-1 lub odczytaną za pomocą funkcji iBars()- 1.
Składnia:
datetime iTime( string symbol, int timeframe, int shift )
Parametry
symbol – nazwa symbol wykresu lub NULL co oznacza aktualny symbol z wykresu
timeframe – zakres czasowy wykresu lub 0 co oznacza aktualny zakres czasowy
z wykresu
shift – numer indeksu słupka z zakresu od 0 do Bars - 1
Wartość zwracana
czas otwarcia z określonego słupka
Przykład:
Print( "Czas otwarcia słupka EURUSD H1: ",iTime("EURUSD",PERIOD_H1,0) );
iBars
Funkcja zwraca liczbę słupków, które są dostępne na wykresie określonym parametrami symbol i skala czasowa.
Składnia:
int iBars( string symbol, int timeframe )
Parametry
symbol – nazwa symbol wykresu lub NULL co oznacza aktualny symbol z wykresu
timeframe – zakres czasowy wykresu lub 0 co oznacza aktualny zakres czasowy
z wykresu
Wartość zwracana
ilość słupków na wykresie
Przykład:
Print( "Liczba słupków na wykresie 'EURUSD' skala 1 godzina
=",iBars("EURUSD",PERIOD_H1))
iBarShift
Funkcja wyszukuje słupek z określoną datą na wykresie, określonym parametrami symbol i skala czasowa. Funkcja zwraca numer słupka lub wartość -1 jeśli słupek z podaną datą jako parametry nie został znaleziony. Dodatkowo można skorzystać z parametru exec który ustawiony na true szuka dokładnie sprecyzowanej daty lub jeśli jest ustawiony na false (wartość domyślna) to zwraca numer najbliższego słupka.
Składnia:
int iBarShift( string symbol, int timeframe, datetime time, bool
exact=false )
Parametry
symbol – nazwa symbol wykresu lub NULL co oznacza aktualny symbol z wykresu
timeframe – zakres czasowy wykresu lub 0 co oznacza aktualny zakres czasowy
z wykresu
time – czas otwarcia (Open) słupka który ma zostać znaleziony
exact – tryb szukania:
false – szuka najbliższego słupka o określonej dacie
true – szuka dokładnie tego słupka o określonej dacie lub zwraca -1
Wartość zwracana
numer poszukiwanego słupka lub wartość -1 jeśli nie znaleziono słupka
Przykład:
datetime szukany_slupek = D'2009.09.21 12:00';
int shift = iBarShift("EURUSD",PERIOD_M1, szukany_slupek);
Print("Szukany słupek o dacie ",TimeToStr(szukany_slupek)," ma numer
",shift)
iHighest
Funkcja wyszukuje i zwraca numer słupka (indeks) o najwyższej wartości w określonym zakresie. Wyszukiwania rozpoczyna się od słupka określonego parametrem start i kończy się na liczbie słupków określonych parametrem count. Najwyższa wartość może być przeszukiwana w stosunku do określonego typu danych z wykresu opisanych poniżej w tabeli
Składnia:
int iHighest( string symbol, int timeframe, int type, int
count=WHOLE_ARRAY, int start=0 )
Parametry
symbol – nazwa symbol wykresu lub NULL co oznacza aktualny symbol z wykresu
timeframe – zakres czasowy wykresu lub 0 co oznacza aktualny zakres czasowy
z wykresu
type – typ określający jakiego rodzaju wartość ma być poszukiwana na
wykresie
count – liczba słupków która ma być przeszukiwana od pozycji start lub
wartość domyślna WHOLE_ARRAY oznaczająca wszystkie słupki
start – początkowy numer słupka od którego ma być poszukiwana najwyższa
wartość
Wartość zwracana
numer słupka o najwyższej wartości
Przykład:
wyznacza najwyższą cenę z 20 słupków od słupka 5 do 24
double wartosc;
wartosc = High[iHighest(NULL,0,MODE_HIGH,20,5)];
Print(Wartość najwyższ =, wartosc);
iLowest
Funkcja wyszukuje i zwraca numer słupka (indeks) o najniższej wartości w określonym zakresie. Wyszukiwania rozpoczyna się od słupka określonego parametrem start i kończy się na liczbie słupków określonych parametrem count. Najniższa wartość może być przeszukiwana w stosunku do określonego typu danych z wykresu opisanych poniżej w tabeli
Składnia:
iLowest( string symbol, int timeframe, int type, int count=WHOLE_ARRAY,
int start=0 )
Parametry
symbol – nazwa symbol wykresu lub NULL co oznacza aktualny symbol z wykresu
timeframe – zakres czasowy wykresu lub 0 co oznacza aktualny zakres czasowy
z wykresu
type – typ określający, jakiego rodzaju wartość ma być poszukiwana na
wykresie
count – liczba słupków która ma być przeszukiwana od pozycji start lub
wartość domyślna WHOLE_ARRAY oznaczająca wszystkie słupki
start – początkowy numer słupka od którego ma być poszukiwana najniższe
wartość
Wartość zwracana
numer słupka o najniższej wartościa
Przykład:
wyznacza najniższą cenę z 20 słupków od słupka 5 do 24
double wartosc;
wartosc = Low[iLowest(NULL,0,MODE_LOW,20,5)];
Print(Wartość najniższa =, wartosc);
Niniejszy materiał, przygotowany przez DM BOŚ S.A. ma charakter wyłącznie informacyjny, prezentowany jest w celach edukacyjnych i nie stanowi porady prawnej oraz nie jest rekomendacją osobistą w ramach świadczenia usługi doradztwa inwestycyjnego zgodnie z przepisami prawa. DM BOŚ S.A. nie udziela gwarancji dokładności, aktualności, oraz kompletności niniejszych informacji. Zaleca się przeprowadzenie we własnym zakresie niezależnego przeglądu informacji z niniejszego materiału.