MetaTrader API — Центр поддержки
Воспользуйтесь поиском или выберите категорию слева. У каждого вопроса есть собственная ссылка, которой можно поделиться.
Воспользуйтесь поиском или выберите категорию слева. У каждого вопроса есть собственная ссылка, которой можно поделиться.
MetaTrader API — это облачный REST API-сервис, позволяющий программно работать с торговыми счетами MT4 и MT5 без необходимости запускать MetaTrader на вашем компьютере.
Вы подключаете торговый счёт один раз и с этого момента можете исполнять сделки, получать данные счёта и читать рыночные цены из любого языка программирования с помощью стандартных HTTP-запросов.
Полные технические подробности — в официальной документации.
Начало работы занимает менее 30 минут:
POST /v1/seats или /ConnectEx).Пошаговое руководство — в документации по аутентификации.
С MetaTrader API работает любой язык, способный выполнять HTTP-запросы. Поскольку это обычный REST API по HTTPS, подойдут Python, JavaScript/Node.js, Go, C#, Java, Ruby, PHP и любой другой язык.
Он также работает с no-code инструментами: Postman, Make (Integromat), n8n, Zapier и всем, что умеет вызывать HTTP-эндпоинт.
Да. API поддерживает счета MetaTrader 4 (MT4) и MetaTrader 5 (MT5). Вы можете одновременно подключать счета обеих платформ и управлять ими.
Оплата — за места: каждое место — это один счёт MT4 или один счёт MT5, и в одной подписке можно сочетать места под MT4 и MT5.
MT4 и MT5 используют одни и те же эндпоинты, включая историю (/PendingOrderHistory, /HistoryDealsByPositionId). Единственное отличие: в MT4 нет стоп-лимитных ордеров (BuyStopLimit/SellStopLimit). Полный справочник по эндпоинтам — в документации.
Нет. В этом и состоит основное назначение сервиса. MetaTrader API работает полностью на стороне сервера. Вы один раз указываете учётные данные брокера, и API поддерживает соединение с брокером от вашего имени.
Вам не нужно устанавливать MetaTrader, держать запущенным какое-либо настольное приложение или писать Expert Advisors на MQL.
Передавайте API-ключ в заголовке x-api-key, а UUID счёта — в параметре запроса id (или accountId):
curl -X GET "https://api.metatraderapi.net/AccountSummary?id=YOUR_ACCOUNT_UUID" \
-H "x-api-key: YOUR_API_KEY"
API-ключ создаётся на карточке счёта в панели управления кнопкой Generate key; он показывается только один раз. Ключ управления на вкладке Настройки нужен для подключения счетов через API, а не для заголовка x-api-key.
API-ключ счёта создаётся на карточке этого счёта в панели управления на app.metatraderapi.net: нажмите Generate key. Ключ показывается только один раз, поэтому сразу сохраните его. /ConnectEx и POST /v1/seats тоже возвращают новый ключ для подключаемого счёта. На вкладке Настройки находится ключ управления: он нужен для создания и удаления мест (seats), а не для торговых запросов.
Рекомендуемая практика: храните ключ в переменной окружения (например MTAPI_KEY) и подставляйте его во время выполнения.
Подключить счёт можно двумя способами:
Войдите на app.metatraderapi.net, перейдите в раздел Счета и добавьте данные MT4/MT5 (номер счёта, пароль, имя сервера брокера). После подключения вы получите уникальный UUID для этого счёта.
Из бэкенда используйте POST /v1/seats с JSON-телом и вашим ключом управления. Либо вызовите /ConnectEx?user=&password=&server=&platform=MT5&wait=60 с ключом управления или API-ключом, который не ограничен режимом «только чтение» и одним счётом. Оба способа возвращают id счёта и новый apiKey для него. Точные параметры и формат ответа — в документации API.
BrokerName-Live или BrokerName-Demo.Используйте /CheckConnect?id=. Он отвечает true или false: подключён ли счёт к брокеру прямо сейчас. Оборванные соединения сервис восстанавливает автоматически. /ConnectState?id= показывает статус и statusReason, а /Reconnect?id= принудительно переподключает счёт.
Подробности о формате запроса и значениях ответа — в документации.
Используйте /Disconnect?id= (или DELETE /v1/seats/{id} с ключом управления), чтобы отключить и удалить подключённый торговый счёт. Получить список всех подключённых счетов можно через /ConnectState без id (или через GET /v1/seats).
При отключении место счёта освобождается. Оно остаётся оплаченным до конца расчётного месяца, и следующий подключённый счёт использует его без доплаты.
Параметры запроса — в документации API.
Столько, сколько у вас мест. Оплата — за места: одно место = один подключённый счёт одновременно. Добавляйте места, когда они нужны ($14 за место в месяц для мест с 1-го по 4-е, $13 — с 5-го по 19-е и $12 — начиная с 20-го, с оплатой вперёд).
У каждого клиента может быть до 50 мест; больше — по запросу, напишите в поддержку.
API покрывает весь торговый цикл:
/OrderClose), либо встречной позицией (/OrderCloseBy)Полные сведения об эндпоинтах, параметрах и форматах ответов — в документации API.
Используйте эндпоинт /OrderSend. Как и все классические эндпоинты, это GET-запрос с параметрами в строке запроса: символ, операция (Buy, Sell, BuyLimit, ...), объём в лотах и, по желанию, стоп-лосс, тейк-профит, комментарий и clientOrderId:
curl -H "x-api-key: YOUR_API_KEY" \
"https://api.metatraderapi.net/OrderSend?id=YOUR_ACCOUNT_UUID&symbol=EURUSD&operation=Buy&volume=0.01&clientOrderId=order-1"
Параметры одинаковы для MT4 и MT5. Стоп-лимитные ордера (stopLimitPrice) есть только в MT5. Отложенные ордера принимают необязательный expiration; expirationType в MT5 игнорируется.
Используйте эндпоинты /OrderHistory или /OrderHistoryPagination. Оба фильтруют только по периоду (from и to, ISO-8601 или Unix-секунды); /OrderHistoryPagination разбивает результат на страницы (ordersPerPage, pageNumber). Фильтрацию по тикету и сортировку делайте в своём коде. Для более детальных запросов в MT4 и MT5 есть /PendingOrderHistory и /HistoryDealsByPositionId.
Полный справочник параметров — в документации.
Да. API предоставляет WebSocket-соединение (события) для потоковой передачи в реальном времени. Это позволяет получать обновления сразу, вместо постоянного опроса REST-эндпоинтов.
Через WebSocket-поток (wss://api.metatraderapi.net/v1/stream?id=, аутентификация заголовком x-api-key) вы получаете котировки и свечи в реальном времени по символам, на которые подписаны, открытые позиции с текущей прибылью, отложенные ордера и каждую исполненную сделку, а также heartbeat каждые 10 секунд. На один счёт можно открыть до 25 потоков.
Для текущих цен bid/ask можно использовать REST-эндпоинт /GetQuote (или /GetQuoteMany для нескольких символов), либо подписаться на котировки через WebSocket-поток для непрерывных обновлений в реальном времени.
/GetQuote принимает id счёта и symbol. Ответы кэшируются на 250 мс для каждой пары счёт–символ; добавьте cached=0, чтобы обойти кэш.
Для исторических OHLC-свечей используйте /PriceHistory в MT4 и MT5 (/QuoteHistory — его псевдоним). Таймфреймы и параметры описаны в документации.
Тариф один: вы платите за места, и каждое место включает полный API — REST, потоковую передачу через WebSocket и поддержку MT4 и MT5. Цены без НДС:
В каждый момент к одному месту подключён один счёт MT4 или MT5; место оплачивается вперёд за полный расчётный месяц. Пример: 10 мест стоят 4 × $14 + 6 × $13 = $134 в месяц. Все цены подтверждены на странице тарифов.
Нет. Сейчас мы не предлагаем бесплатный пробный период. Если у вас есть вопросы о том, как оценить возможности API, напишите нам в Telegram или на support@metatraderapi.net.
Можно начать с одного места за $14 и добавить ещё, когда интеграция заработает.
Да. Тариф оплачивается за место, и в каждый момент к одному месту подключён один счёт. Когда все места заняты, подключение ещё одного счёта добавляет место за $14 в месяц ($13 для мест 5–19, $12 начиная с 20-го), оплата списывается сразу при добавлении. Отключение счёта бесплатно освобождает его место для следующего, а неиспользуемые места можно освободить в личном кабинете. У каждого клиента может быть до 50 мест; больше — по запросу, напишите в поддержку.
Оплата производится кредитной или дебетовой картой через Stripe в виде подписки с ежемесячным списанием. Криптовалюту и банковские переводы мы не принимаем.
Оформляя заказ, вы также принимаете Соглашение об услугах Stripe.
Да, отменить можно в любой момент. Отмена вступает в силу в конце текущего расчётного месяца — частичный возврат за неиспользованные дни не производится.
Сервисом управляет Apex Vanguard Dynamics LLC — компания с ограниченной ответственностью (LLC), зарегистрированная в США, с юридическим адресом 30 N Gould St Ste R, Sheridan, WY 82801, США.
Электронная почта: support@metatraderapi.net · Телефон: +1 (929) 333-6422
Полные правовые сведения — в выходных данных.
Условия и положения регулируются правом штата Вайоминг, США. Любые споры подлежат исключительной юрисдикции судов Вайоминга, и обе стороны соглашаются сначала попытаться урегулировать спор путём добросовестных переговоров.
Полные Условия и положения опубликованы на сайте.
Нет. Условия обслуживания прямо требуют сохранять конфиденциальность учётных данных и API-ключей и не передавать их третьим лицам без предварительного письменного согласия MetaTrader API.
Если вы создаёте продукт или сервис на основе API (например, для своих клиентов), реализуйте собственный слой аутентификации и держите ключ MetaTrader API только на сервере — никогда не раскрывайте его конечным пользователям.
Нет. Условия обслуживания запрещают сбор (scraping) и перепродажу данных сервиса без прямого письменного разрешения MetaTrader API. Подписки также не передаются другим лицам.
Если у вас есть конкретный бизнес-сценарий, напишите на support@metatraderapi.net.
Да. Соглашения о неразглашении доступны по запросу и должны быть согласованы обеими сторонами в письменной форме. Применяются стандартные условия NDA, если не согласовано иное.
Чтобы запросить NDA, напишите на support@metatraderapi.net.
MetaTrader API защищает подключённые счета следующими мерами:
Меры безопасности, субподрядчики по обработке данных и измеренная доступность описаны в разделе «Центр доверия»; порядок обработки данных — в Политике конфиденциальности.
MetaTrader API управляется компанией из США (см. Кто управляет MetaTrader API?) и заявляет о соблюдении применимого законодательства о защите данных, включая GDPR в тех случаях, когда он применяется к пользователям из ЕС/ЕЭЗ.
Какие персональные данные собираются: сведения аккаунта (имя, электронная почта, платёжные данные), данные использования (логи API, IP-адрес, браузер и операционная система), а также платёжная информация, обрабатываемая через Stripe.
Мы не продаём персональные данные. Они передаются только поставщикам услуг, которые обрабатывают их по нашему поручению (например, хостинг, платежи и рассылка писем), а для клиентов доступно соглашение об обработке данных (DPA). Подробности — в Политике конфиденциальности и в разделе «Центр доверия».
Согласно Политике конфиденциальности, могут собираться следующие данные:
Для подключённых торговых счетов также хранятся учётные данные брокера (в зашифрованном виде, AES-256-GCM), а торговые данные, которые получает API, обрабатываются от вашего имени. Данные клиентов и серверы API находятся в ЕС (Финляндия и Германия). Места с приватным хостингом работают в выбранном вами регионе.
Полную информацию см. в Политике конфиденциальности.
Наиболее частые причины неудачного подключения:
ICMarkets-Live02). Найти его можно в MetaTrader в меню Файл → Открыть счёт.Проверить текущее состояние соединения можно эндпоинтом /CheckConnect. Если проблема сохраняется, напишите на support@metatraderapi.net.
Ошибки аутентификации обычно означают, что API-ключ отсутствует, указан неверно или передаётся в неправильном формате. Проверьте следующее:
x-api-key, а не Authorization: Bearer.Правильный формат запросов — в документации по аутентификации.
MetaTrader API публикует измеренную доступность на публичной странице статуса: текущий статус и история доступности REST API, WebSocket-стриминга и личного кабинета. SLA и обязательств по доступности нет; как работает сервис, описано в разделе «Центр доверия».
Обратите внимание: согласно Условиям обслуживания сервис предоставляется «как есть» и «по мере доступности» — бесперебойная или безошибочная работа договором формально не гарантируется. Для продакшн-систем всегда реализуйте на своей стороне логику повторных попыток и обработку ошибок.
Отклонение ордера приходит от торгового сервера брокера, а не от MetaTrader API. Частые причины:
EURUSD, а не EURUSDm).Отказ брокера — не HTTP-ошибка: API отвечает HTTP 200 с объектом ордера, а его поле state содержит код результата брокера. 10009 означает «исполнено»; любое другое значение — причина отказа (например, 10016 неверные стопы, 10018 рынок закрыт, 10019 недостаточно средств; в MT4 — номер ошибки MT4).