Ошибки, баги, вопросы - страница 41

 
alexvd:

На вашу заявку ответили. Дали рекомендации. 

Почему она не обновилась в вашем профиле - разберемся. 

Заявка      

Errors, MetaTrader 5 MQL, Открыта, Начата: 2010.07.03 14:51, #17988

возможно тоже не обновилась. Проверьте пожалуйста.

 
drknn:

Я знаю формальную логику и отличия в терминах бросились в глаза сразу. Дело в том, что чтение справки по языку MQL5 ясности во многих вопросах не даёт. Понятно, что метаквотесы выбросили в общий доступ терминал для того, чтоб привлечь на свою сторону группу бетта-тестеров - этот ход экономит им время и деньги. Но вот отдать пользователям спраквку, в которой отсутствует ясность - это большущий промах с их стороны. Ну например, открываем самый главный её раздел "Переход с MQL4":

Таблица не даёт информации по Ask, Bid и Bars. Попытка воспользоваться поиском того же слова Ask приводит к тому, что человек сталкивается с совершенно непонятной ему конструкцией запроса последних цен. Разработчик  не мог предвидеть это ещё тогда, на этапе печатания этого участка справки? Чушь. Почему так могло произойти? Причина одна - отсутствие системности - то есть отсутствие чёткого плана будущего сочинения. Скорее всего, что справку писали вразброс, потом просто склеили отдельные куски и вот вам "справка". Это ни куда не годится. Ни кому не нравится читать чужие черновики!

В какой-то степени Вы правы - Документация MQL5 меняется и дополняется постоянно, так же как и сам язык MQL5. И будет меняться еще несколько лет, так как предстоит реализовать еще очень и очень много. Получается, что Вы предлагаете, чтобы мы эти несколько лет в лабораторной тиши создавали новый терминал в вакууме, без обратной связи с нашими конечными потребителями - клиентами?

По поводу самого главного раздела

Ну например, открываем самый главный её раздел "Переход с MQL4":

Он тоже успел немного претерпеть изменения с момента первого опубликования, но когда будет окончательный вариант - сказать нельзя. И мы не можем постоянно оглядываться на MQL4, изучайте MQL5, читайте статьи - они реально помогают в изучении нового предмета.

 
После установки нового билда пропадают мои советники в папке C:\Program Files\MetaTrader 5\MQL5\Experts. Я их размещаю без подпапок - может это неправильно?
 
icas:
После установки нового билда пропадают мои советники в папке C:\Program Files\MetaTrader 5\MQL5\Experts. Я их размещаю без подпапок - может это неправильно?
Они полностью удаляются с диска?
 
Renat:
Они полностью удаляются с диска?
Ренат, прошу прощения! Запутался с компами. Хотел удалить комент, Вы уже ответили.
 
Почему компилятор "молчит" при компиляции следующей конструкции:
ushort SomeFunction(int A, int B)
   {
    ushort res=0;
    ushort id=1000;
    res=(A>B)?id:NULL;  ????? 
    
    return(res);
   }
Все компилится без ошибок :) 
 
Kos:
Почему компилятор "молчит" при компиляции следующей конструкции:
Все компилится без ошибок :) 
Какую ошибку Вы ожидали увидеть?
 
stringo:
Какую ошибку Вы ожидали увидеть?

В справке явно указано что - "выражение2" и "выражениеЗ", должны возвращать значения одного типа и не должны иметь тип void.

Соответственно следующая конструкция неверна т.к. NULL имеет тип void  и компилятор наверно должен сообщить об этом?

res=(A>B)?id:NULL;  ?????
 
Какой смысл компилировать такую конструкцию, если это приведет к невозможности загрузки MQL5-программы?
 

NULL - особая константа. "Она может быть присвоена переменным любых других фундаментальных типов без преобразования"

То есть, в выражениях NULL имеет тип выражения, а не тип void

Если Вы имеете в виду invalid instruction, то это баг, и он будет исправлен.