Funkcje MQL4-Funkcje operacji plikowych-File Open History w Automatyzacja handlu-Słownik języka MQL4 - bossafx.pl
2019.05.21, godz. 14:39

FileOpenHistory

Funkcja działa podobnie jak FIleOpen, ale otwiera tylko pliki z danymi historycznymi, które znajdują się w podkatalogu terminal MT4 terminal_directory\histiry\<nazwa_serwera_brokera> lub jego podkatalogach. Jeśli funkcja się powiedzie zwraca uchwyt pliku, a jeśli nie to zwraca wartość -1,. Aby uzyskać szczegółowe informacje o błędzie, korzystamy z funkcji GetLastError().

Uwaga! Terminal klienta MT4, może korzystać (można się logować do różnych serwerów, brokerów), dlatego aktualne dane (format HST) w zależności od zalogowanego klienta mogą znajdować się w różnych podkatalogach, co należy uwzględnić w naszych programach. Funkcja może być przydatna do tworzenia własnych danych historii np. danych typu 3 minutowe słupki lub konwersji do innych formatów. Plik utworzony w folderze historii mogą być otwierane w trybie offline tzn. nie są aktualizowane na bieżąco i w danym momencie nie muszą być identyczne z danymi na wykresie.

 

Składnia:

int FileOpenHistory( string nazwa_pliku, int mode, int delimiter=';')
Parametry
nazwa_pliku – nazwa pliku danych historycznych w formacie hst
mode – tryb otwarcia pliku może mieć poniższe parametry łączone:
FILE_BIN – tryb binarny, zalecany
FILE_CSV – tryb tekstowy, raczej nie stosowany
FILE_READ – tryb do odczytu
FILE_WRITE – tryb do zapisu
delimiter – separator dla pliku tekstowego
Wartość zwracana
uchwyt pliku

Przykład:

int handle = FileOpenHistory("USDX3.HST",FILE_BIN|FILE_WRITE);
if(handle<1)
{
Print("Nie mogę utworzyć pliku USDX3.HST");
return(false);
}
// operacje na pliku
// ...
FileClose(handle);