Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Может потому, что ORDER_POSITION_ID запрашивается сразу же после исполнения ордера, когда торговый сервер еще не успел прислать информацию о совершенной транзакции.
Почитайте статью Торговые события в MetaTrader 5
Я привел кусок кода в качестве примера, а на самом деле функция получения ID выглядит так:
P/S Rosh, пожалуйста, не отсылайте меня читать статьи.
Поверьте, я очень много перечитал, а то что я задаю много
вопросов, это от того что в документации много неоднозначностей.
Нужно больше контекста (кода). Откуда берется этот ticket, и чему он равен перед исполнением данного кода?
Если ордер выбран, то, как Вы думаете, какой был тикет?
А тикет взялся из интернета, как ответ о принятии ордера торговым сервером.
Если ордер выбран, то, как Вы думаете, какой был тикет?
А тикет взялся из интернета, как ответ о принятии ордера торговым сервером.
А Вы как думаете, откуда нам известно, что и откуда у Вас берется? Вы по-прежнему показываете код, который ничего не говорит о содержимом ticket, о том как выполнялся запрос, и Вы не пользуетесь, например, отладочным принтом или другими средствами, чтобы убедиться что в переменной не левое число (для начала, потом request.action чему равен?). Косяк может затесаться в любом месте.
Спасибо, мне понятна ваша точка зрения.
Всегда пожалуйста. А мне ваша точка не понятна. Вам уже намекали на асинхронность выполнения запроса и получения тикета. Пока вы не покажете код, как и когда вы это хозяйство обрабатываете, вопрос получается обращенным к телепатам.
Поясняю.
Из кода, приведённого выше всё очевидно.
И не ВАЖНО какой тикет( ордер выставляется один). Посмотрите внималельно( выбирается ордер по тикету и позиция по символу ордера, открытая частично исполненым этим ордером )
Кроме принт, есть ещё пошаговое выполнение программы и
когда я попадаю в
Возвращается "0".
Ворос не состоит в том, что умею или не умею я программировать на MQL5 (ровно как и трассировать программу), а
в том, что о документации написано одно, а на деле получается другое (сервисдеск как всегда молчит).
Или я не правильно истолковываю описание данное в документации на ORDER_POSITION_ID
( прочтите моё 3 сообщение )
Поясняю.
Из кода, приведённого выше всё очевидно.
И не ВАЖНО какой тикет( ордер выставляется один). Посмотрите внималельно( выбирается ордер по тикету и позиция по символу ордера, открытая частично исполненым этим ордером )
Кроме принт, есть ещё пошаговое выполнение программы и
когда я попадаю в
Возвращается "0".
Ворос не состоит в том, что умею или не умею я программировать на MQL5 (ровно как и трассировать программу), а
в том, что о документации написано одно, а на деле получается другое (сервисдеск как всегда молчит).
Или я не правильно истолковываю описание данное в документации на ORDER_POSITION_ID
( прочтите моё 3 сообщение )
Опять 25. Это ВАЖНО, какой ордер и как вы ставите. Может у вас там, например (гипотетически, потому что все по-прежнему тайна за семью печтаями), отложенник, то какой тогда может быть ID позиции?
Из приведенного кода нифига не ясно.
Опять 25. Это ВАЖНО, какой ордер и как вы ставите. Может у вас там, например (гипотетически, потому что все по-прежнему тайна за семью печтаями), отложенник, то какой тогда может быть ID позиции?
Из приведенного кода нифига не ясно.
Извините, но мы с вами говорим на "разных" языках, или вы читаете через строчку.
Отложенный ордер ОДИН, позиция открыта частично исполненым этим ордером, который ещё действует,
при трассировке программы я попадаю в return( long( OrderGetInteger( ORDER_POSITION_ID ) ) );
Извините, но мы с вами говорим на "разных" языках, или вы читаете через строчку.
Отложенный ордер ОДИН, позиция открыта частично исполненым этим ордером, который ещё действует,
при трассировке программы я попадаю в return( long( OrderGetInteger( ORDER_POSITION_ID ) ) );
Вы же наблюдаете этот частично исполненный ордер. Где он? В списке торговых или в исполненных?