Słownik poleceń MQL4-Funkcje MQL4-Funkcje sprawdzające terminal w Edukacja-Forex - bossa.pl
2017.08.21, godz. 08:39
baner_ZAGRANICA_479x59_B.jpg
kontakt

Funkcje sprawdzające terminal

W języku MQL4 istnieje szereg funkcji sprawdzających aktualny stan terminala klienta, funkcje te zostały zamieszczone w poniższych podpunktach.
Funkcje sprawdzające wyróżniają się tym, że są bezparametrowe i zwracają wartość binarną true lub false. Wyjątkiem są funkcje sprawdzające błędy wykonywania się programu GetLastError() oraz kończenia działania programu UninitializeReason(), które zwracają identyfikator numeryczny (kodu błędu).

 

IsConnected

Funkcja zwraca status główne połączenie między terminalem klienta a serwerem brokera. Zwraca ona true jeśli jest aktywne połączenie (klient zalogowany) z serwerem, w przeciwnym wypadku zwraca false.

 

Przykład:

if ( !IsConnected() )
{
Print( "Brak połączenia"); return (0);
}

 

IsDemo

Funkcja sprawdza czy klient zalogowany jest na koncie demo. Jeśli tak to zwraca true, w przeciwnym wypadku zwraca false.

 

 

Przykład:

if ( IsDemo() )
Print ( "Pracujesz na koncie demo");
else Print ( "Pracuję na rachunku rzeczywistym"

 

IsDllsAllowed


Funkcja sprawdza czy dopuszczalne jest wywoływanie funkcji zewnętrznych z bibliotek DLL, jeśli tak to zwraca wartość true, w przeciwnym wypadku false.

Przykład:

#import "user32.dll"
int MessageBoxA(int hWnd, string szText, string szCaption, int nType)
...
if( IsDllsAllowed() == false)
{
Print( "Wywoływanie funkcji z bibliotek DLL nie jest dozwolone.") return
(0);
}
// Jeśli import bibliotek zewnętrznych jest dozwolony to zostanie
wywołana poniższa funkcja
MessageBoxA(0, "message", "Message", MB_OK)

 

IsExpertEnabled


Funkcja sprawdza czy włączony jest EA, wówczas zwraca wartość true, w przeciwnym wypadku zwraca false.

Przykład:

while( !IsStopped() )
{
...
if ( !IsExpertEnabled() ) break;

 

IsLibrariesAllowed


Funkcja sprawdza czy dopuszczalne jest wywoływanie funkcji zewnętrznych z bibliotek EX4, jeśli tak to zwraca wartość true, w przeciwnym wypadku false.

Przykład:

#import "somelibrary.ex4"
int extFunctionName();
...
if( IsLibrariesAllowed() == false)
{
Print( "Wywoływanie funkcji zewnętrznych EX4 nie jest dozwolone.")
return (0);
}
// Jeśli import bibliotek zewnętrznych jest dozwolony to zostanie
wywołana poniższa funkcja
extFunctionName()

 

IsOptimization



Funkcja sprawdza czy uruchomiony program jest w trybie optymalizacji strategii, jeśli tak to zwraca wartość true, w przeciwnym wypadku zwraca false.

 

Przykład:

if ( IsOptimization() ) return(0);

 

IsStopped


Funkcja sprawdza czy program nie jest w trybie zamykania wywołania funkcji deinit(), co trwa maksymalnie do 2,5 sekundy, jeśli tak to zwracaną wartością jest true, w przeciwnym wypadku false.

Przykład:

while ( warunek != false )
{
if ( IsStopped() == true) return (0);
// długa pętla wykonująca obliczenia
}

 

IsTesting


Funkcja sprawdza czy program jest uruchomiony w trybie testowania strategii, jeśli tak to zwraca wartość true, w przeciwnym wypadku false.

Przykład:

if ( IsTesting() ) Print ( "Właśnie trwa test strategii" );

 

IsTradeAllowed


Funkcja sprawdza czy handel automatyczny jest włączony, jeśli tak to zwraca wartość true, w przeciwnym wypadku false.

Przykład:

if ( IsTradeAllowed() ) Print ( "Handel automatyczny włączony" )

 

IsTradeContextBusy


Funkcja sprawdza czy aktualnie inny EA nie wykonuje operacji handlowych wówczas zwraca wartość true, w przeciwnym wypadku false.

Przykład:

if ( IsTradeContextBusy() )
Print ( "Aktualnie inny program dokonuje handlu. Proszę czekać..." );

 

IsVisualMode


Funkcja sprawdza czy aktualnie trwa test strategii w trybie wizualizacji, jeśli tak to zwraca wartość true, w przeciwnym wypadku false.

Przykład:

If ( IsVisualMode() ) Print( "Tryb wizualiazacji włączony" );

 

GetLastError


Funkcja zwraca kod błędu który ostatnio wystąpił i jest przechowywany w zmiennej last_error. Po wywołaniu funkcji GetLastError() zmienna last_error jest zerowana.

Przykład:

int error;
int handle = FileOpen("somefile.dat", FILE_READ|FILE_BIN);
if( handle<1 )
{
error=GetLastError();
Print("Błąd(",error,"): ",ErrorDescription(error));
return(0);
}
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.