122 lines
3.8 KiB
Markdown
122 lines
3.8 KiB
Markdown
# login
|
||
|
||
Connect to a trading account using specified parameters.
|
||
|
||
```
|
||
login(
|
||
login, // account number
|
||
password="PASSWORD", // password
|
||
server="SERVER", // server name as it is specified in the terminal
|
||
timeout=TIMEOUT // timeout
|
||
)
|
||
|
||
```
|
||
|
||
Parameters
|
||
|
||
login
|
||
|
||
[in] Trading account number. Required unnamed parameter.
|
||
|
||
password
|
||
|
||
[in] Trading account password. Optional named parameter. If the password is not set, the password saved in the terminal database is applied automatically.
|
||
|
||
server
|
||
|
||
[in] Trade server name. Optional named parameter. If no server is set, the last used server is applied automatically.
|
||
|
||
timeout=TIMEOUT
|
||
|
||
[in] Connection timeout in milliseconds. Optional named parameter. If not specified, the value of 60 000 (60 seconds) is applied. If the connection is not established within the specified time, the call is forcibly terminated and the exception is generated.
|
||
|
||
Return Value
|
||
|
||
True in case of a successful connection to the trade account, otherwise – False.
|
||
|
||
Example:
|
||
|
||
```
|
||
import MetaTrader5 as mt5
|
||
# display data on the MetaTrader 5 package
|
||
print("MetaTrader5 package author: ",mt5.__author__)
|
||
print("MetaTrader5 package version: ",mt5.__version__)
|
||
|
||
# establish connection to the MetaTrader 5 terminal
|
||
if not mt5.initialize():
|
||
print("initialize() failed, error code =",mt5.last_error())
|
||
quit()
|
||
|
||
# display data on MetaTrader 5 version
|
||
print(mt5.version())
|
||
# connect to the trade account without specifying a password and a server
|
||
account=17221085
|
||
authorized=mt5.login(account) # the terminal database password is applied if connection data is set to be remembered
|
||
if authorized:
|
||
print("connected to account #{}".format(account))
|
||
else:
|
||
print("failed to connect at account #{}, error code: {}".format(account, mt5.last_error()))
|
||
|
||
# now connect to another trading account specifying the password
|
||
account=25115284
|
||
authorized=mt5.login(account, password="gqrtz0lbdm")
|
||
if authorized:
|
||
# display trading account data 'as is'
|
||
print(mt5.account_info())
|
||
# display trading account data in the form of a list
|
||
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()))
|
||
|
||
# shut down connection to the MetaTrader 5 terminal
|
||
mt5.shutdown()
|
||
|
||
|
||
Result:
|
||
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.
|
||
|
||
```
|
||
|
||
See also
|
||
|
||
[initialize](/en/docs/python_metatrader5/mt5initialize_py), [shutdown](/en/docs/python_metatrader5/mt5shutdown_py)
|