Первый сценарий работы с MT4.
Подключение, данные счёта, демосделка и отключение.
Пошаговая инструкция
- 0:00
Первый сценарий работы с MT4.
В этом уроке мы подключимся к MT4, прочитаем данные счёта, откроем и закроем демосделку, а затем отключим терминал.
- 0:12
Откройте консоль MT4.
Откройте сайт эм ти четыре точка эм эр пи си точка про. Консоль откроется автоматически. В разделе начала работы есть пошаговые инструкции, поиск методов, уроки и ресурсы для разработчиков. Для этого примера выберите ConnectEx в боковом меню.
- 0:38
Выберите ключ API.
Ключ API определяет ваш доступ к MetaRPC. Для пробного сеанса используйте TRIAL, а для собственного доступа введите свой ключ в верхней панели. Для пробного доступа действуют ограничения. Храните личный ключ в секрете. Это не идентификатор терминала, который вы получите после подключения.
- 1:04
Подключите демосчёт.
В ConnectEx укажите логин демосчёта, торговый пароль и точное название сервера брокера. Здесь используется FreshForex Demo. Необязательное поле id оставьте пустым. Нажмите «Выполнить запрос» и дождитесь результата. Данные счёта в этой записи скрыты.
- 1:30
Сохраните идентификатор терминала.
Прочитайте ответ. Код состояния HTTP двести означает, что API вернул ответ. Сначала проверьте error. При успешном подключении поле data.terminalInstanceGuid содержит идентификатор терминала. Консоль сохраняет его в верхней панели и передаёт в заголовке id следующих запросов. Он не заменяет ключ API.
- 1:57
Прочитайте данные счёта.
Выберите AccountSummary и выполните запрос. Проверьте баланс, средства, валюту и режим счёта. В этом примере используется демосчёт с разрешённой торговлей. Перед отправкой ордера убедитесь, что выбран нужный счёт.
- 2:19
Подготовьте небольшую демосделку.
Выберите OrderSend и укажите символ, доступный у вашего брокера. В примере используется BTCUSD, операция OC_OP_BUY и объём ноль целых одна сотая лота. Название символа и минимальный объём зависят от брокера. Проверьте их в свойствах символа.
- 2:45
Отправьте один раз. Проверьте ответ.
Нажмите «Выполнить запрос» один раз. В успешном ответе MT4 поле data.ticket содержит номер новой сделки. В data.volume указан объём ноль целых одна сотая, а в data.price — цена открытия. Сохраните номер для следующих действий. Если вернулась ошибка, сначала прочитайте её описание.
- 3:11
Проверьте открытую позицию.
Выполните OpenedOrders. В списке data.orderInfos найдите номер, полученный от OrderSend. Проверьте символ, тип ордера, объём и цену открытия. В примере открыта одна позиция на покупку BTCUSD. Открытые позиции также видны в таблице внизу консоли.
- 3:37
Закройте созданную позицию.
Выберите OrderCloseDelete. Введите номер из успешного ответа OrderSend и объём ноль целых одна сотая лота, чтобы закрыть позицию полностью. Цену закрытия оставьте пустой: будет использована текущая котировка. Проверьте номер и объём, затем выполните запрос.
- 4:03
Проверьте результат закрытия.
В ответе нет ошибки, а поле mode содержит OCD_MARKET_ORDER. Это результат закрытия рыночного ордера. Снова вызовите OpenedOrders и проверьте оставшийся объём. Такая проверка особенно полезна при частичном закрытии. Здесь мы закрываем весь объём.
- 4:28
Убедитесь, что позиция закрыта.
Повторный вызов OpenedOrders вернул пустой список orderInfos. Значит, на этом демосчёте не осталось открытых позиций и отложенных ордеров. Пустой список — корректный успешный результат. Созданная нами сделка закрыта.
- 4:52
Завершите подключение.
Выберите Disconnect и выполните запрос с текущим идентификатором терминала. Убедитесь, что ошибки нет. Терминал отключён. Само отключение не закрывает позиции, поэтому сначала мы закрыли сделку и проверили OpenedOrders.
- 5:15
Повторите эти шаги в коде.
Вы прошли полный сценарий работы с консолью MT4. Используйте примеры кода как основу приложения, храните ключ API в секрете и проверяйте результат каждого запроса. Если возникнут вопросы, откройте руководство по результатам выбранного метода или урок об обработке ошибок MT4.