Ошибки, баги, вопросы - страница 2209
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
А при том, что примеры эти ваши - чисто теоретические. Чисто для студентов. Ни один программист в здравом уме не выпустит такое в продакшен.
Постфиксные и префиксные инкремент и декремент реально используются прежде всего в циклах. Они и называются инкремент и декремент!
Вот примеры
и
Если Вы утверждаете, что префиксные и постфиксные операции работают одинаково, то флаг Вам в руки и барабан на шею.
В случае с префиксным инкрементом, вы получите неинициализированным нулевой элемент массива и ошибку array out of range на последней итерации.
может до вашего высокого ума не доходит, еще раз повторю свой вопрос
вам выделенное уже не по глазам?
а теперь к делу, почему в примере который фигурирует в беседе, результат в mql == 12 и не важно высосан он из пальца или нет, при разнице в постфиксных и префиксных операциях, результат должен быть == 13
ps. и я уже не утверждаю, т.к. сейчас проверил и действительно постфиксные и префиксные теперь есть разница, но мой вопрос выше дает основание полагать, что неоднозначностей в языке при компиляции видимо хватает и прежде чем накидываться на кого то в ветке, разберитесь с этими UB, мы тут не при чем
кстати справку смотрю уже перелопатили ))
может до вашего высокого ума не доходит, еще раз повторю свой вопрос
вам выделенное уже не по глазам?
а теперь к делу, почему в примере который фигурирует в беседе, результат в mql == 12 и не важно высосан он из пальца или нет, при разнице в постфиксных и префиксных операциях, результат должен быть == 13
ps. и я уже не утверждаю, т.к. сейчас проверил и действительно постфиксные и префиксные теперь есть разница, но мой вопрос выше дает основание полагать, что неоднозначностей в языке при компиляции видимо хватает и прежде чем накидываться на кого то в ветке, разберитесь с этими UB, мы тут не при чем
кстати справку смотрю уже перелопатили ))
Не хамите.
Кто сказал, что результат должен быть 13? Повторяю, результаты с сайд-эффектами сильно зависят от оптимизации. Даже если к такому выражению не применять оптимизацию, тогда вступает в дело реализация - изменение значения переменной либо сразу после использования, либо после вычисления выражения. Какая из реализаций является правильной?
Мы не собираемся разбираться с UB, на то оно и undefined, и явно написали: "не делайте так"
В каком месте перелопатили справку? Вот я открыл MQL5 reference из MetaEditor билда 1755 от 18 января. Там то же самое написано
Important Notice
int i=5;
int k = i++ + ++i;
Computational problems may occur while moving the above expression from one programming environment to another one (for example, from Borland C++ to MQL5). In general, the order of computations depends on the compiler implementation. In practice, there are two ways to implement the post-decrement (post-increment):
Currently the first way of post-decrement (post-increment) calculation is implemented in MQL5. But even knowing this peculiarity, it is not recommended to experiment with its use.
Ваше первоначальное утверждение заключалось в том, что нет никакой разницы между постфиксными и префиксными операциями. Разве не так?
Не хамите.
Кто сказал, что результат должен быть 13? Повторяю, результаты с сайд-эффектами сильно зависят от оптимизации. Даже если к такому выражению не применять оптимизацию, тогда вступает в дело реализация - изменение значения переменной либо сразу после использования, либо после вычисления выражения. Какая из реализаций является правильной?
Мы не собираемся разбираться с UB, на то оно и undefined, и явно написали: "не делайте так"
В каком месте перелопатили справку? Вот я открыл MQL5 reference из MetaEditor билда 1755 от 18 января. Там то же самое написано
Important Notice
int i=5;
int k = i++ + ++i;
Computational problems may occur while moving the above expression from one programming environment to another one (for example, from Borland C++ to MQL5). In general, the order of computations depends on the compiler implementation. In practice, there are two ways to implement the post-decrement (post-increment):
Currently the first way of post-decrement (post-increment) calculation is implemented in MQL5. But even knowing this peculiarity, it is not recommended to experiment with its use.
Ваше первоначальное утверждение заключалось в том, что нет никакой разницы между постфиксными и префиксными операциями. Разве не так?
я не хамлю, обратите внимание с чего вы начали диалог, т.е. я должен был выполнить код, о котором я и не знал даже - супер
по справке - да, ее сильно перелопатили т.к. когда разбирался (примерно года два назад) с постфикс и префикс операциями в mql, то этого материала, что сейчас явно не помню
в общем тему закрыли, ввели эту разницу и нормально сделали, только предупреждать ведь нужно, что меняете
Подскажите вопрос по частичному закрытию позиции, тип счета RETAIL_HEDGING. Например я закрываю из эксперта половину позиции, должен автоматом открыться новый ордер меньшим лотом. Так вот, в какой момент новый ордер гарантированно будет в терминале? Правильно ли я понимаю, что сразу он появиться после PositionClosePartial не обязан и его нужно ловить где-нибудь в OnTrade ?
Это что ещё за штука?
\по справке - да, ее сильно перелопатили т.к. когда разбирался (примерно года два назад) с постфикс и префикс операциями в mql, то этого материала, что сейчас явно не помню
в общем тему закрыли, ввели эту разницу и нормально сделали, только предупреждать ведь нужно, что меняете
Интереса ради решил я проверить на старом 1159 билде от июня 2015 года. В его справке имеется всё то, что процитировал Slava. Так что возможно вы что-то перепутали.
Это что ещё за штука?
It's a crash:) Go to servicedesk!
It's a crash:) Go to servicedesk!
Понятно - сорвал банк :)
Понятно - сорвал банк :)
Бывает)
Бывает)
Я вот не знаю, как локализовать можно эту ошибку? Просто отдавать весь скрипт не хочу, и перелапачивать всё не хочу....