Уважаемые разработчики! У меня возникла следующая проблема. Я работаю с MetaTrader 3 API. Я заметил, что в реале при получении котировок в режиме подкачки и попытке открытия по последней цене, сервер всегда возвращает ошибку (price is changed). Почему это происходит? Я ведь четко выставляю в ордере цену Bid для Sell и Ask для Buy? Каков же алгоритм определения цены для покупки лота? При этом при использовании функции MtGetPrices все работает нормально и без ошибок! Объясните пожалуйста.
- Закрытие позиции встречной - Торговля - MetaTrader 5 для iPhone
- Закрытие позиции встречной - Торговля - MetaTrader 5 для Android
- Исполнение по рынку - Открытие и закрытие позиций - Торговля - MetaTrader 5 для iPhone
Уверен. Сервер TeleTrade для реальной работы. Пары EUR/USD, USD/JPY, EUR/JPY
Задержек никаких нет. В режиме подкачки сохраняются последние значения аск и бид. При сигнале на открытие цена берется оттуда. Может имеет значение количество лотов? У меня никак не доходят руки сравнить котировку из подкачки с той, которая дается по MtGetPrices. Это не так просто, т.к. для последней нужна задержка в 5 сек. и цена естественно изменяется.
Задержек никаких нет. В режиме подкачки сохраняются последние значения аск и бид. При сигнале на открытие цена берется оттуда. Может имеет значение количество лотов? У меня никак не доходят руки сравнить котировку из подкачки с той, которая дается по MtGetPrices. Это не так просто, т.к. для последней нужна задержка в 5 сек. и цена естественно изменяется.
Уверен. Сервер TeleTrade для реальной работы. Пары EUR/USD, USD/JPY, EUR/JPY
Задержек никаких нет. В режиме подкачки сохраняются последние значения аск и бид. При сигнале на открытие цена берется оттуда. Может имеет значение количество лотов? У меня никак не доходят руки сравнить котировку из подкачки с той, которая дается по MtGetPrices. Это не так просто, т.к. для последней нужна задержка в 5 сек. и цена естественно изменяется.
Задержек никаких нет. В режиме подкачки сохраняются последние значения аск и бид. При сигнале на открытие цена берется оттуда. Может имеет значение количество лотов? У меня никак не доходят руки сравнить котировку из подкачки с той, которая дается по MtGetPrices. Это не так просто, т.к. для последней нужна задержка в 5 сек. и цена естественно изменяется.
Понятно. Если инструмент в режиме торговли REQUEST, то без предварительного запроса цены MtGetPrices, Вы всегда получите что цена изменилась. Если я правильно понял, Вы пытались совершить сделку в потоковом Instant Execution режиме. Не путайте режимы работы инструментов.
Спасибо. А режим торговли по каждому инструменту определяется владельцем сервера, или клиент может его как-то изменять?
Спасибо. А режим торговли по каждому инструменту определяется владельцем сервера, или клиент может его как-то изменять?
Режим торговли задается только сервером. Контролируйте флаг ConSecurity.exemode в символах, чтобы распознавать тип торговли по каждому инструменту. Допустимые варианты:
enum { EXE_REQUEST, EXE_INSTANT, EXE_MARKET };
Еще раз спасибо. Все понятно.
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь