Ошибки, баги, вопросы - страница 1172
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Имеются ошибки в стандартной библиотеке для MQL4, а конкретно в индикаторных классах.
Для класса CiATR отсутствует тело метода GetData.
Для индикаторов, использующих параметр типа ENUM_APPLIED_VOLUME (CiForce, CiOBV), выдаётся ошибка: improper enumerator cannot be used
И кстати, ENUM_APPLIED_VOLUME вроде штатное перечисление, в документации MQL4 оно присутствует, но по факту его нет ( 'ENUM_APPLIED_VOLUME' - undeclared identifier ).
В общем, проверьте пожалуйста все ваши библиотеки. А то такое ощущение что их наспех перенесли с MT5, даже не проверив работоспособность.
Ошибка компиляции, build 966
в build 932 все нормальнозависит от содержания комментария
все нормально
Комментарии никогда не подставляются - компилятор их просто игнорирует, иначе #define в большинстве случаев вообще нельзя бы было использовать с комментариями //
В любом случае в https://www.mql5.com/ru/forum/1111/page1190#comment_993854 замените // на /**/Результат тот же - ошибка компиляции
Объясните, плиз, следующую ситуацию. Есть мультивалютный индюк, значения которого НЕ меняются в зависимости от того, на какой чарт он наброшен - он считает значения по заданным инструментам и с текущим окном никак не связан. На это индюке я вручную наношу объекты - линии поддержки и сопротивления. Теперь фокус: если в окно перетащить из обзора рынка другой инструмент, то внешний вид индюка остается прежним, а линии пропадают. Если вызвать диалог Список объектов, то там эти объекты по-прежнему числятся. Значения конечных точек (даты и значения) остаются прежними (т.е. должны быть видимы на прежних местах) - это и понятно, их никто не менял. Однако линии не видны. Если затем перетащить на окно прежний инструмент, который был там изначально, линии снова становятся видны. В чем проблема?
Нашли и исправили.
Спасибо за обращение. Оказался родовой косяк - оно и раньше всегда так работало
Нельзя применить сокращенную запись operator !() - ошибка компиляции
Если компилятор понимает (а он понимает), что f4( a ) означает, что в качестве 'а' имеется ввиду объект, а не указатель\описатель - как число)
то он должен и понимать, что !a означает для 'a' то же самое (объект, а не указатель\описатель - как число)
иными словами, если
запись a1.f() и a2.f() означает одно и тоже, вне зависимости от того a1, a2 - это указатель или объект - то чем operator !() - хуже?дополню, что например с operator+() - ошибки компиляции не возникает, также не возникает ее, если к первому примеру выше просто добавить operator+(), который вообще не используется
но тогда возникает другая неопределнность