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

Управление отложенным ордером.

Размещение. Проверка. Изменение. Отмена.

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

  1. 0:00

    Управление отложенным ордером.

    В этом уроке вы узнаете, как разместить, проверить, изменить и отменить отложенный ордер MT5 на отдельном демосчёте.

  2. 0:10

    Подключите демосчёт.

    Откройте mt5.mrpc.pro. Укажите TRIAL или свой ключ API, затем в ConnectEx введите логин демосчёта, торговый пароль и точное название сервера брокера. Выполните запрос. После успешного подключения консоль сохранит полученный идентификатор терминала для следующих запросов. Для практики используйте отдельный демосчёт.

  3. 0:39

    Получите текущую котировку.

    Выберите SymbolInfoTick и введите точное название инструмента. В нашем примере ask для EURUSD составляет примерно одну целую одну тысячу сто сорок семь десятитысячных. Ордер Buy Limit размещается ниже текущей цены ask. Для демонстрации мы выбираем цену один ноль пять, достаточно далеко от рынка. Цена и шаг объёма должны соответствовать требованиям брокера.

  4. 1:10

    Разместите Buy Limit.

    Откройте OrderSend. Выберите Buy Limit, а не установленную по умолчанию рыночную покупку Buy. Введите объём ноль целых одну сотую лота и цену входа один ноль пять. Перед выполнением ещё раз проверьте инструмент и тип операции. Отложенный ордер ждёт условий входа; его размещение не означает, что рыночная позиция уже открыта.

  5. 1:38

    Сохраните тикет ордера.

    Наш ответ содержит код состояния HTTP двести, не содержит ошибки API и возвращает returnedCode десять тысяч девять — Done. Для этого запроса на отложенный ордер это означает, что размещение завершено. В поле order находится тикет для последующих проверок, изменения и отмены. Нулевое значение deal здесь нормально: рыночная сделка не выполнялась.

  6. 2:08

    Проверьте размещённый ордер.

    Вызовите OpenedOrders. Найдите тот же тикет среди открытых ордеров. Проверьте инструмент, тип Buy Limit, состояние Placed, цену входа и оставшийся объём. В нашей записи список positionInfos пуст. Это подтверждает, что у нас отложенный ордер, а не исполненная позиция. Во всех следующих шагах используйте этот же тикет.

  7. 2:36

    Измените цену входа.

    Откройте OrderModify и укажите тикет отложенного ордера. Задайте цену один ноль четыре. Необязательные поля стоп-лосса, тейк-профита и срока действия оставляем пустыми: этот запрос меняет только цену входа. Выполните запрос один раз и изучите ответ, прежде чем переходить к следующему действию.

  8. 3:02

    Проверьте новую цену.

    Изменение вернуло Done. Снова вызовите OpenedOrders и найдите тот же тикет. Теперь priceOpen равен одному ноль четыре, тип по-прежнему Buy Limit, а объём — ноль целых одна сотая. Повторное чтение позволяет проверить результат, а не считать любое успешное HTTP-сообщение доказательством изменения ордера.

  9. 3:28

    Отмените отложенный ордер.

    Для отмены откройте OrderClose и введите тикет отложенного ордера. При таком удалении оставьте объём пустым. Несмотря на название OrderClose, метод умеет и удалять отложенные ордера. Всегда сначала проверяйте тикет: тикет позиции означает запрос на закрытие позиции, а не отмену отложенного ордера.

  10. 3:53

    Проверьте результат удаления.

    Результат содержит Done и closeMode со значением MRPC_PENDING_ORDER_REMOVE. Снова вызовите OpenedOrders. В нашей записи оба списка пусты, а тикет отложенного ордера отсутствует. Если ваш ордер успел сработать до отмены, проверьте позиции и историю, чтобы выяснить его текущее состояние перед следующим действием.

  11. 4:20

    Завершите работу правильно.

    Ордер удалён, открытых позиций не осталось. По завершении отключите терминал. Сам по себе Disconnect не отменяет отложенные ордера. При отказе сначала проверьте error; если в data есть результат брокера, прочитайте возвращённый код и описание. Исправьте указанную причину перед повторной попыткой. Вы прошли полный жизненный цикл отложенного ордера.