Ошибки, баги, вопросы - страница 1432
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Функция OrderGetTicket() вернет тикет того ордера, индекс которого в нее передан.
По второму вопросу, OrderGetTicket() и возвращает тикет, и выбирает ордер для работы с ним.
Спасибо, Кэптайн О. А как определяется порядок индексов в списке всех ордеров?
OrderGetTicket возвращает тикет ордера с переданным номером в списке, а не номер текущего выбранного ордера, о котором я спрашивал.
Спасибо, Кэптайн О. А как определяется порядок индексов в списке всех ордеров?
OrderGetTicket возвращает тикет ордера с переданным номером в списке, а не номер текущего выбранного ордера, о котором я спрашивал.
Насколько я помню, самый старший (первый) = 0 и т.д. Проверьте, там делов на 5 минут.
Вот выбран у Вас ордер. Он как выбран? По номеру или по тикету?
Короче, есть два способа: по номеру и по тикету. Пока не было ситуаций, в моей практике, где бы этого не хватило.
Проверьте, там делов на 5 минут.
Конечно я могу сам проверить. Я бы не писал сюда, если бы это решало проблему. Нужно подтверждение от разработчиков, потому что результат проверки может быть ситуативен или произвольно изменяться в будущем.
>> Вот выбран у Вас ордер. Он как выбран? По номеру или по тикету?
Это лишний вопрос в МТ4, там мне было не важно как он выбран, но нужно узнать его тикет, например чтобы делать с ним что-то вне функции, которая его выбрала. В МТ5 похоже это придется решать программным путем, как и многое другое.
Пока не было ситуаций, в моей практике, где бы этого не хватило.
И не только, кстати: представьте ситуацию, когда Вы работаете с выбранным только что ордером, но Вам нужно вызвать функцию для получения информации из других ордеров.
После вызова этой функции Вам придется выбирать ордер заново, потому что эта функция в свою очередь изменяет текущий выбор, получая какую-то информацию из других ордеров.
Было бы логично во всех подобных функциях перед началом их выполнения запоминать текущий выбранный тикет ордера и перед возвратом выбирать его заново, чтобы выбор текущего ордера не менялся при вызове таких функций, что может помочь избежать некоторых трудно выявляемых логических ошибок в коде. Но в МТ5 это оказывается попросту невозможно в виду отсутствия аналога функции OrderTicket и придется придумывать программную обертку в виде специального класса для выбора ордера и получения его тикета.
И не только, кстати: представьте ситуацию, когда Вы работаете с выбранным только что ордером, но Вам нужно вызвать функцию для получения информации из других ордеров.
После вызова этой функции Вам придется выбирать ордер заново, потому что эта функция в свою очередь изменяет текущий выбор, получая какую-то информацию из других ордеров.
Было бы логично во всех подобных функциях перед началом их выполнения запоминать текущий выбранный тикет ордера и перед возвратом выбирать его заново, чтобы выбор текущего ордера не менялся при вызове таких функций, что может помочь избежать некоторых трудно выявляемых логических ошибок в коде. Но в МТ5 это оказывается попросту невозможно в виду отсутствия аналога функции OrderTicket и придется придумывать программную обертку в виде специального класса для выбора ордера и получения его тикета.
Не вижу проблемы. Выбрали ордер. Запомнили его тикет. Нужен другой ордер - нашли другой ордер. Обработали. Нужно вернуться к предыдущему - используем OrderSelect(). Все.
Если проблемой считать что-то, что нельзя обойти и сделать другим путем, то проблемы нет. Но и аналога полезной функции OrderTicket из MQL4 нет тоже.
has newer unsupported version, please update your client terminal
Теперь так и будет?
МТ4, билд 910. Нет обратной совместимости с предыдущим билдом. Отдаю человеку скомпилированный в 910-м билде файл индикатора, и он его не может запустить у себя в 902-м билде с ошибкой:
has newer unsupported version, please update your client terminal
Теперь так и будет?
МТ4, билд 910. Нет обратной совместимости с предыдущим билдом. Отдаю человеку скомпилированный в 910-м билде файл индикатора, и он его не может запустить у себя в 902-м билде с ошибкой:
has newer unsupported version, please update your client terminal
Теперь так и будет?
Да, так задумано. В 910 билде были изменения в компиляторе, соответственно ex4 сгенерированные обновленным компилятором не могут запускаться в предыдущих версиях терминала.