login

Подключается к торговому счету с указанными параметрами.

login(
   login,                    // номер счета
   password="PASSWORD",      // пароль
   server="SERVER",          // имя сервера, как оно задано в терминале
   timeout=TIMEOUT           // таймаут
   )

Параметры

login

[in]  Номер торгового счета. Обязательный неименованный параметр.

password

[in]  Пароль к торговому счету. Необязательный именованный параметр. Если пароль не указан, то автоматически подставляется сохраненный в базе терминала пароль.

server

[in]  Имя торгового сервера. Необязательный именованный параметр. Если сервер не указан, то автоматически подставляется последний использованный сервер.

timeout=TIMEOUT

[in]  Таймаут в миллисекундах, который дается на подключение. Необязательный именованный параметр. Если не указан, то будет использоваться значение 60000 (60 секунд). Если подключение не установится за это время, то вызов будет принудительно завершен и сгенерируется исключение.

Возвращаемое значение

True в случае успешного подключения к торговому счету, иначе False.

Пример:

import MetaTrader5 as mt5
# выведем данные о пакете MetaTrader5
print("MetaTrader5 package author: ",mt5.__author__)
print("MetaTrader5 package version: ",mt5.__version__)
 
# установим подключение к терминалу MetaTrader 5
if not mt5.initialize():
    print("initialize() failed, error code =",mt5.last_error())
    quit()
 
# выведем информацию о версии MetaTrader 5
print(mt5.version())
# подключимся к торговому счету без указания пароля и сервера
account=17221085
authorized=mt5.login(account)  # пароль будет взят из базы терминала, если указано помнить данные для подключения
if authorized:
    print("connected to account #{}".format(account))
else:
    print("failed to connect at account #{}, error code: {}".format(account, mt5.last_error()))
 
# теперь подключимся к другому торговому счету с указанием пароля
account=25115284
authorized=mt5.login(accountpassword="gqrtz0lbdm")
if authorized:
    # выведем данные о торговом счете как есть
    print(mt5.account_info())
    # выведем данные о торговом счете в виде списка
    print("Show account_info()._asdict():")
    account_info_dict = mt5.account_info()._asdict()
    for prop in account_info_dict:
        print("  {}={}".format(prop, account_info_dict[prop]))
else:
    print("failed to connect at account #{}, error code: {}".format(account, mt5.last_error()))
 
# завершим подключение к терминалу MetaTrader 5
mt5.shutdown()
 
 
Результат:
MetaTrader5 package author:  MetaQuotes Software Corp.
MetaTrader5 package version:  5.0.29
[500, 2367, '23 Mar 2020']
 
connected to account #17221085
 
connected to account #25115284
AccountInfo(login=25115284, trade_mode=0, leverage=100, limit_orders=200, margin_so_mode=0, ...
account properties:
   login=25115284
   trade_mode=0
   leverage=100
   limit_orders=200
   margin_so_mode=0
   trade_allowed=True
   trade_expert=True
   margin_mode=2
   currency_digits=2
   fifo_close=False
   balance=99588.33
   credit=0.0
   profit=-45.23
   equity=99543.1
   margin=54.37
   margin_free=99488.73
   margin_level=183084.6054809638
   margin_so_call=50.0
   margin_so_so=30.0
   margin_initial=0.0
   margin_maintenance=0.0
   assets=0.0
   liabilities=0.0
   commission_blocked=0.0
   name=James Smith
   server=MetaQuotes-Demo
   currency=USD
   company=MetaQuotes Software Corp.

Смотри также

initialize, shutdown