Funkcja long AccountInfoInteger() zwraca informację o stanie konta w postaci liczby całkowitej. Identyfikator właściwości może być jednym z wartości ENUM_ACCOUNT_INFO_INTEGER . Więcej informacji można znaleźć w specyfikacji MQL4.
#property strict
void OnStart()
{
//--- numer konta
PrintFormat("1) AccountInfoInteger(ACCOUNT_LOGIN) = %d",AccountInfoInteger(ACCOUNT_LOGIN));
//--- typ konta
ENUM_ACCOUNT_TRADE_MODE TradeMode = (ENUM_ACCOUNT_TRADE_MODE)AccountInfoInteger(ACCOUNT_TRADE_MODE);
switch(TradeMode)
{
case(ACCOUNT_TRADE_MODE_DEMO): Print("2) To jest konto demonstracyjne."); break;
case(ACCOUNT_TRADE_MODE_CONTEST): Print("2) To jest konto konkursowe."); break;
case(ACCOUNT_TRADE_MODE_REAL): Print("2) To jest konto rzeczywiste."); break;
}
//--- wartość dźwigni
PrintFormat("3) AccountInfoInteger(ACCOUNT_LEVERAGE) = %d",AccountInfoInteger(ACCOUNT_LEVERAGE));
//--- maksymalna dopuszczalna ilość orderów
PrintFormat("4) AccountInfoInteger(ACCOUNT_LIMIT_ORDERS) = %d",AccountInfoInteger(ACCOUNT_LIMIT_ORDERS));
//--- tryb obliczenia StopOut
ENUM_ACCOUNT_STOPOUT_MODE StopOutMode = (ENUM_ACCOUNT_STOPOUT_MODE)AccountInfoInteger(ACCOUNT_MARGIN_SO_MODE);
switch(StopOutMode)
{
case(ACCOUNT_STOPOUT_MODE_PERCENT): Print("5) Poziom StopOut obliczany jest w procentach."); break;
case(ACCOUNT_STOPOUT_MODE_MONEY): Print("5) Poziom StopOut obliczany jest w walucie."); break;
}
//--- pozwolenie na handel
Print("6) AccountInfoInteger(ACCOUNT_TRADE_ALLOWED) = ",(bool)AccountInfoInteger(ACCOUNT_TRADE_ALLOWED));
//--- pozwolenie na stosowanie strategii automatycznych
Print("7) AccountInfoInteger(ACCOUNT_TRADE_EXPERT) = ",(bool)AccountInfoInteger(ACCOUNT_TRADE_EXPERT));
}
Rys. 1. Przykłady stosowania funkcji AccountInfoInteger().