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);
}

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.

1/1