Funkcje MQL4-Funkcje operujące na tablicach-Array Bsearch w Forex-Słownik poleceń MQL4 - bossa.pl
2019.03.21, godz. 22:53

Array Bsearch

Funkcja wyszukuje określonej wartości w tablicy. Jeżeli element o podanej wartości nie istnieje w tablicy, funkcja zwraca wskaźnik najbliższej wartości, najmniejszych elementów, między którymi znajduje się wartość poszukiwana. Funkcja ta nie może być używana do tablic ciągów i tablic serii (z wyjątkiem tablicy serii bar open time).

Uwaga! Funkcja przeszukuje binarnie tylko posortowane tablice. Do sortowania tablic numerycznych wykorzystania funkcję ArraySort().


Składnia

int ArrayBsearch( double array[], double value, int count=WHOLE_ARRAY, int
start=0, int direction=MODE_ASCEND)
Parametry:
array[] – tablica która będzie przeszukiwana
value – wartość która ma zostać znaleziona w tablicy
count – ilość elementów które maja zostać przeszukane w tablicy
(WHOLE_ARRAY - domyślnie wszystkie)
start – indeks pierwszego elementu od którego nastąpi przeszukiwanie
direction – kierunek przeszukiwania MODE_ASCEND – od najmniejszego do
największego, MODE_DESCEND – od największego do najmniejszego
Wartość zwracana:
Indeks wyszukanej wartości, lub wartości najbliższej wyszukiwanej



Przykład:

datetime tablica_czas[];
int shift = 10, przesuniecie_dzien;
ArrayCopySeries(tablica_czas,MODE_TIME,Symbol(),PERIOD_D1);
{
daytimes, MODE_TIME Symbol(), PERIOD_D1)
if ( Time[dhift] >= tablica_czas[0] ) przesuniecie_dzien = 0;
else ( przesuniecie_dzien = ArrayBsearch(tablica_czas, Time[shift],
WHOLE_ARRAY, 0, MODE_DESCEND)
if( Period() < PERIOD_D1 ) przesuniecie_dzien++;
}
Print(TimeToStr(Time[shift]), "odpowiada" , przesuniecie_dzien, "Czas na
świeczce" TimeToStr(tablica_czas[przesuniecie_dzien]));

bos bank logo
Grupa kapitałowa

Tytuł BROKERA ROKU przyznany
przez Giełdę Papierów Wartościowych
w Warszawie.


Finansowa Marka Roku

za oferowanie usług i produktów najwyższej jakości na rynku inwestycyjnym.


Od 13 lat DM BOŚ S.A.
jest w pierwszej trójce rankingu
Najlepszych Biur Maklerskich SII.