Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вот такой простенький скрипт выдаёт непонятный для меня результат
Может, кто-нибудь сможет объяснить, в чём причина? Когда число 254 приводишь явно к типу uchar, - работает, как задумано.
Спасибо за сообщение, разберемся.
Та же самая история и с ushort:
А как бы сделать так, чтобы по наступлении условия врубался музон? Хы-хы, немного странное применение mql)) Но следить за картинкой выжидая момент надоедает, а полностью возложить всю работу на робота чота как-то неполучаеццо толково. Вот и подумал - пусть бы когда надо врубался музон, а дальше я сам))
Посмотрел справку, толи плохо искал, толи еще что, - не нашел))
Посмотрите функцию PlaySound()
Вопрос про отслеживание реквот.
В описании функции OrderSend() сказано, что "при выставлении рыночного ордера успешное окончание работы метода OrderSend() не всегда означает успешное совершение сделки. Необходимо проверять ... значение retcode". Т.е. напрашивается вывод, что при OrderSend()==true всё равно можно получить реквоту. Хорошо.
Но в примере ("Отправка торгового запроса с обработкой результата") к разделу "Структура результата торгового запроса" сообщение о реквоте проверяется только если OrderSend() ==false.
Так в каких случаях отслеживать реквоты: при любом возвращаемом функцией OrderSend() значении, или же только если OrderSend() ==false?
Вопрос про отслеживание реквот.
В описании функции OrderSend() сказано, что "при выставлении рыночного ордера успешное окончание работы метода OrderSend() не всегда означает успешное совершение сделки.
Успешное выполнение OrderSend() означает только то, что запрос проверен на корректность и поставлен на выполнение в очередь. Но дальнейшая его судьба не гарантирована - ордер может отменен в процессе его обработки, например, по политике заполнения.
Но вообще, если была реквота, то OrderSend() однозначно завершилась неуспешно.
Успешное выполнение OrderSend() означает только то, что запрос проверен на корректность и поставлен на выполнение в очередь. Но дальнейшая его судьба не гарантирована - ордер может отменен в процессе его обработки, например, по политике заполнения.
Но вообще, если была реквота, то OrderSend() однозначно завершилась неуспешно.
Иными словами, реквота означает, что запрос изначально не смог пройти проверку на корректность?
Ну да, заявленная в запросе цена не подошла и вам предлагают принять во внимание новые цены, которые можно получить из структуры ответа сервера MqlTradeResult:
Ну да, заявленная в запросе цена не подошла и вам предлагают принять во внимание новые цены, которые можно получить из структуры ответа сервера MqlTradeResult:
ОК!
Возможно, перестраховываюсь, но ещё такой вопрос. Перед отправкой запроса на постановку рыночного ордера (с целью открытия позиции) обнуляю тикет сделки, т.е. делаю result.deal=0. Может ли произойти такая ситуация, что сервер в структуре ответа MqlTradeResult вернёт нулевой тикет сделки, но при этом чуть позже сделка всё-таки совершится и позиция будет открыта? Или же возврат сервером нулевого тикета сделки гарантированно означает, что позицию не получилось открыть и она в дальнейшем не будет открыта на основании этого запроса?