//+------------------------------------------------------------------+ //| Account_Info.mq4 | //| Copyright 2015, Карпутов Владимир | //| http://wmua.ru/slesar | //+------------------------------------------------------------------+ #property copyright "Copyright 2015, Карпутов Владимир" #property link "http://wmua.ru/slesar" #property version "1.00" #property strict //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { InfoDouble(); InfoInteger(); InfoString(); //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //--- } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void InfoDouble() { //--- выведем всю информацию, доступную из функции AccountInfoDouble() //+------------------------------------------------------------------+ //| ACCOUNT_BALANCE | //| Баланс счета в валюте депозита | //+------------------------------------------------------------------+ printf("ACCOUNT_BALANCE = %G",AccountInfoDouble(ACCOUNT_BALANCE)); //+------------------------------------------------------------------+ //| ACCOUNT_CREDIT | //| Размер предоставленного кредита в валюте депозита | //+------------------------------------------------------------------+ printf("ACCOUNT_CREDIT = %G",AccountInfoDouble(ACCOUNT_CREDIT)); //+------------------------------------------------------------------+ //| ACCOUNT_PROFIT | //| Размер текущей прибыли на счете в валюте депозита | //+------------------------------------------------------------------+ printf("ACCOUNT_PROFIT = %G",AccountInfoDouble(ACCOUNT_PROFIT)); //+------------------------------------------------------------------+ //| ACCOUNT_EQUITY | //| Значение собственных средств на счете в валюте депозита | //+------------------------------------------------------------------+ printf("ACCOUNT_EQUITY = %G",AccountInfoDouble(ACCOUNT_EQUITY)); //+------------------------------------------------------------------+ //| ACCOUNT_MARGIN | //| Размер зарезервированных залоговых средств на счете в валюте | //| депозита | //+------------------------------------------------------------------+ printf("ACCOUNT_MARGIN = %G",AccountInfoDouble(ACCOUNT_MARGIN)); //+------------------------------------------------------------------+ //| ACCOUNT_FREEMARGIN | //| Размер свободных средств на счете в валюте депозита, | //| доступных для открытия ордера | //+------------------------------------------------------------------+ printf("ACCOUNT_FREEMARGIN = %G",AccountInfoDouble(ACCOUNT_FREEMARGIN)); //+------------------------------------------------------------------+ //| ACCOUNT_MARGIN_LEVEL | //| Уровень залоговых средств на счете в процентах | //+------------------------------------------------------------------+ printf("ACCOUNT_MARGIN_LEVEL = %G",AccountInfoDouble(ACCOUNT_MARGIN_LEVEL)); //+------------------------------------------------------------------+ //| ACCOUNT_MARGIN_SO_CALL | //| Уровень залоговых средств,при котором требуется пополнение | //| счета(Margin Call). В зависимости от установленного | //| ACCOUNT_MARGIN_SO_MODE выражается в процентах либо в валюте | //| депозита | //+------------------------------------------------------------------+ printf("ACCOUNT_MARGIN_SO_CALL = %G",AccountInfoDouble(ACCOUNT_MARGIN_SO_CALL)); //+------------------------------------------------------------------+ //| ACCOUNT_MARGIN_SO_SO | //| Уровень залоговых средств,при достижении которого происходит | //| принудительное закрытие самой убыточного ордера(Stop Out). | //| В зависимости от установленного ACCOUNT_MARGIN_SO_MODE | //| выражается в процентах либо в валюте депозита | //+------------------------------------------------------------------+ printf("ACCOUNT_MARGIN_SO_SO = %G",AccountInfoDouble(ACCOUNT_MARGIN_SO_SO)); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void InfoInteger() { //--- выведем всю информацию, доступную из функции AccountInfoInteger() //+------------------------------------------------------------------+ //| ACCOUNT_LOGIN | //| Номер счета | //+------------------------------------------------------------------+ printf("ACCOUNT_LOGIN = %d",AccountInfoInteger(ACCOUNT_LOGIN)); //+------------------------------------------------------------------+ //| ACCOUNT_LEVERAGE | //| Размер предоставленного плеча | //+------------------------------------------------------------------+ printf("ACCOUNT_LEVERAGE = %d",AccountInfoInteger(ACCOUNT_LEVERAGE)); //+------------------------------------------------------------------+ //| ACCOUNT_TRADE_ALLOWED | //| Разрешенность торговли для текущего счета | //+------------------------------------------------------------------+ bool thisAccountTradeAllowed=AccountInfoInteger(ACCOUNT_TRADE_ALLOWED); //+------------------------------------------------------------------+ //| ACCOUNT_TRADE_EXPERT | //| Разрешенность торговли для эксперта | //+------------------------------------------------------------------+ bool EATradeAllowed=AccountInfoInteger(ACCOUNT_TRADE_EXPERT); //+------------------------------------------------------------------+ //| ACCOUNT_TRADE_MODE | //| Тип торгового счета | //+------------------------------------------------------------------+ ENUM_ACCOUNT_TRADE_MODE tradeMode=(ENUM_ACCOUNT_TRADE_MODE)AccountInfoInteger(ACCOUNT_TRADE_MODE); //+------------------------------------------------------------------+ //| ACCOUNT_MARGIN_SO_MODE | //| Режим задания минимально допустимого уровня залоговых средств | //+------------------------------------------------------------------+ ENUM_ACCOUNT_STOPOUT_MODE stopOutMode=(ENUM_ACCOUNT_STOPOUT_MODE)AccountInfoInteger(ACCOUNT_MARGIN_SO_MODE); //--- сообщим о возможности совершения торговых операций if(thisAccountTradeAllowed) Print("Торговля для данного счета разрешена"); else Print("Торговля для данного счета запрещена!"); //--- выясним - можно ли торговать на данном счету экспертами if(EATradeAllowed) Print("Торговля советниками для данного счета разрешена"); else Print("Торговля советниками для данного счета запрещена!"); //--- выясним тип счета switch(tradeMode) { case(ACCOUNT_TRADE_MODE_DEMO): Print("Это демо счет"); break; case(ACCOUNT_TRADE_MODE_CONTEST): Print("Это конкурсный счет"); break; default:Print("Это реальный счет!"); } //--- выясним режим задания уровня StopOut switch(stopOutMode) { case(ACCOUNT_STOPOUT_MODE_PERCENT): Print("Уровень StopOut задается в процентах"); break; default:Print("Уровень StopOut задается в денежном выражении"); } } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void InfoString() { //--- выведем всю информацию, доступную из функции AccountInfoString() //+------------------------------------------------------------------+ //| ACCOUNT_COMPANY | //| Имя компании, обслуживающей счет | //+------------------------------------------------------------------+ Print("Имя брокера = ",AccountInfoString(ACCOUNT_COMPANY)); //+------------------------------------------------------------------+ //| ACCOUNT_CURRENCY | //| Валюта депозита | //+------------------------------------------------------------------+ Print("Валюта депозита = ",AccountInfoString(ACCOUNT_CURRENCY)); //+------------------------------------------------------------------+ //| ACCOUNT_NAME | //| Имя клиента | //+------------------------------------------------------------------+ Print("Имя клиента = ",AccountInfoString(ACCOUNT_NAME)); //+------------------------------------------------------------------+ //| ACCOUNT_SERVER | //| Имя торгового сервера | //+------------------------------------------------------------------+ Print("Название торгового сервера = ",AccountInfoString(ACCOUNT_SERVER)); } //+------------------------------------------------------------------+