โ† Все видеоинструкции
MT5 API ยท 3:48

Результаты и ошибки других методов.

Счёт, рынок, история, расчёты и потоки данных. Пустой список, ноль и false тоже могут быть верным ответом.

Пошаговая инструкция

  1. 0:00

    Результаты и ошибки других методов.

    В этом уроке вы узнаете, как обрабатывать результаты и ошибки остальных методов MT5: данных счёта, рыночной информации, истории, расчётов и потоков WebSocket.

  2. 0:16

    Откройте инструкцию выбранного метода.

    Откройте эм ти пять точка эм эр пи си точка про. Выберите нужный метод, например Account Summary или Opened Orders. Под примером кода разверните инструкцию о том, как проверить результат запроса. Читайте правила именно этого метода.

  3. 0:39

    1. Проверьте код состояния HTTP.

    Сначала проверьте код состояния HTTP. Код состояния HTTP двести означает, что API получил запрос и вернул ответ. Затем прочитайте тело ответа в формате JSON. При другом коде сначала прочитайте ошибку HTTP и тело ответа.

  4. 1:01

    2. Проверьте error.

    Теперь проверьте error. Если поле не равно null, прочитайте error Code и error Message. Здесь настоящий запрос Account Summary вернул код состояния HTTP двести, но идентификатор терминала оказался неверным. Красный блок результата объясняет, что исправить.

  5. 1:26

    Исправьте отсутствующую или неверную сессию.

    При неверном идентификаторе используйте полный id из ответа Connect Ex. Если терминал не найден, проверьте идентификатор, платформу и состояние терминала. После завершения сессии нужно установить действующее подключение, прежде чем запрашивать данные счёта.

  6. 1:49

    Толкуйте data по правилам метода.

    После проверки error прочитайте поля data выбранного метода. Пустой список означает отсутствие подходящих элементов. Нулевой счётчик может означать отсутствие позиций. False может быть верным ответом на вопрос да или нет. Эти значения сами по себе не означают ошибку API.

  7. 2:15

    Читайте точные поля результата.

    В Account Summary прочитайте данные счёта, а в Positions Total — число позиций. Расчётные методы возвращают оценку маржи или прибыли и не выполняют сделку. Если исторический метод вернул пустой список, проверьте фильтры и временной диапазон.

  8. 2:36

    Терминал занят: подождите.

    При ошибке Busy или Rate Limit Exceeded прочитайте Retry After Seconds в свойствах ошибки, если это поле передано. Подождите указанное время и уменьшите число параллельных запросов. После тайм-аута чтения проверьте состояние терминала и повторите запрос, когда он будет готов.

  9. 3:00

    Потоки: проверяйте каждое сообщение.

    В методах WebSocket проверяйте error в каждом входящем сообщении, затем обрабатывайте data. Открытый сокет не означает, что все операции успешны. Отсутствие событий или пустой heartbeat не равны ошибке запроса. При обрыве восстановите соединение и прочитайте текущее состояние счёта.

  10. 3:24

    Три проверки остальных методов.

    Для обычных методов проверьте код состояния HTTP, поле error и данные конкретного метода. В потоках проверяйте каждое сообщение. Сохраняйте исходную диагностику для поиска причин, но удаляйте учётные данные и сведения о счёте перед передачей ответа другим людям.