Нет никакой разницы в режимах исполнения. В программе по-любому надо писать OrderSend. Клиентский терминал сам обеспечит запрос цен.
Ошибка 4109 означает, что в свойствах эксперта не включена галка "Разрешить советнику торговать"
Спасибо за ответ.
Тем не менее, проблему решить не удалось. Теперь команда OrderSend(….
.) выдает ошибку 133 (Торговля запрещена). Для анализа ситуации
вставил функции IsExpertEnabled() и IsTradeAllowed(), обе выдают true "Запуск экспертов разрешен" и “Торговля разрешена”. Кроме
того, копия программы успешно работает у другого брокера с настройками
«немедленное исполнение». Не дадите ли еще один совет по устранению
проблемы?
Для начала почитайте документацию https://docs.mql4.com/ru/trading/errors Ошибка 133 означает, что торговый сервер не разрешает торговать этим инструментом
Кстати, "торговля разрешена" означает всего лишь, что соответствующая галка в настройках проставлена и в данный момент другие эксперты не торгуют. Это тоже в документации есть.
Определение верное, но неполное.
Нет не только запрет автоторговли (в этом случае в логах появится надпись "trading by experts is prohibited"), но попытка торговли из-под инвесторского пароля, попытка открыть шорт на инструменте long-only, попытка открыть позицию, когда истёк срок торговли по инструменту, или вообще инструмент неторгуемый
Ошибка 133 означает, что торговый сервер не разрешает торговать этим инструментом
Не совсем верное определение, т.к. данная ошибка обычно означает только запрет АВТОТОРГОВЛИ. Т.е. любые торговые команды (OrderSend, OrderClose, OrderModify ...) запрещены
Спасибо Meat. Все стало понятно. Таким образом, проблема не в чтении документации,
так как в ней нет объяснения причин возникновения ошибки 133,
а в том, что мнение технической поддержки MetaQuotes Software Corp. и stringo о возможности АВТОТОРГОВЛИ при установке брокером режима «Исполнение
по запросу», ошибочно. А жаль!
Кстати, для попытки открыть шорт на инструменте long-only, предусмотрена ошибка 4111. Она и выдается в этом случае.
Добрый день, а где такой терминал с запросом есть дайте ссылку
плиз
Уважаемые форумяне, есть ли
способ запрограммировать в эксперте выставление ордера, если
брокер установил
режим "Исполнение по запросу",
то есть в ручном режиме на терминале высвечивается «Сделайте
запрос, пожалуйста»? В этом режиме при исполнении программы выдается
ошибка 4109 (Торговля не разрешена). Как все-таки программным
путем запросить у брокера цену исполнения, и после ее получения
выставить ордер по данной цене? Из технической поддержки MetaQuotes
Software
Corp. пришел ответ, что такой код написать возможно, но подробности
посоветовали узнать на этом форуме. Что я и делаю.
Заранее спасибо.
********************************************************************
If you please!
http://www.umis.ru/clients1/trader_promo/contest/contest0710
Уважаемые знатоки. Не верится, что в таком прекрасном языке программирования, каким является MetaQuotes Language4, нет возможности программным путем сделать запрос на сервер при установке брокером режима "ИСПОЛНЕНИЕ ПО ЗАПРОСУ". Может быть, все-таки, кто-нибудь знает, как это сделать? А может быть, в MQL5 разработчик расширит функции языка для решения этой проблемы?
Уважаемые знатоки. Не верится, что в таком прекрасном языке программирования, каким является MetaQuotes Language4, нет возможности программным путем сделать запрос на сервер при установке брокером режима "ИСПОЛНЕНИЕ ПО ЗАПРОСУ". Может быть, все-таки, кто-нибудь знает, как это сделать? А может быть, в MQL5 разработчик расширит функции языка для решения этой проблемы?
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Уважаемые форумяне, есть ли способ запрограммировать в эксперте выставление ордера, если брокер установил режим "Исполнение по запросу", то есть в ручном режиме на терминале высвечивается «Сделайте запрос, пожалуйста»? В этом режиме при исполнении программы выдается ошибка 4109 (Торговля не разрешена). Как все-таки программным путем запросить у брокера цену исполнения, и после ее получения выставить ордер по данной цене? Из технической поддержки MetaQuotes Software Corp. пришел ответ, что такой код написать возможно, но подробности посоветовали узнать на этом форуме. Что я и делаю.
Заранее спасибо.