forked from rosh/MQL5Book
35 lines
1.8 KiB
Python
35 lines
1.8 KiB
Python
#+------------------------------------------------------------------+
| |||
#| eurusdbook.py |
| |||
#| Copyright 2022, MetaQuotes Ltd. |
| |||
#| https://www.mql5.com |
| |||
#+------------------------------------------------------------------+
| |||
import MetaTrader5 as mt5
| |||
import time # подключаем пакет для паузы
| |||
| |||
# установим подключение к терминалу MetaTrader 5
| |||
if not mt5.initialize():
| |||
print("initialize() failed, error code =", mt5.last_error())
| |||
mt5.shutdown()
| |||
quit()
| |||
| |||
# подпишемся на получение обновлений стакана по символу EURUSD
| |||
if mt5.market_book_add('EURUSD'):
| |||
# запустим 10 раз цикл для чтения данных из стакана
| |||
for i in range(10):
| |||
# получим содержимое стакана
| |||
items = mt5.market_book_get('EURUSD')
| |||
# выведем весь стакан одной строкой как есть
| |||
print(items)
| |||
# теперь выведем каждый ценовой уровень отдельно в виде словаря, для наглядности
| |||
for it in items or []:
| |||
print(it._asdict())
| |||
# сделаем паузу в 5 секунд перед следующим запросом данных из стакана
| |||
time.sleep(5)
| |||
# отменим подписку на изменения стакана
| |||
mt5.market_book_release('EURUSD')
| |||
else:
| |||
print("mt5.market_book_add('EURUSD') failed, error code =", mt5.last_error())
| |||
| |||
# завершим подключение к терминалу MetaTrader 5
| |||
mt5.shutdown()
| |||
#+------------------------------------------------------------------+
|