MetaTrader 4 Client Terminal build 604 - страница 36

 

Объясните мне, пожалуйста, как запускать метаэдитор из терминала? как создавать новые индикаторы-советники в новом метаэдитере? и где, вообще, мануал покурить, как кодить по-новому. Сейчас у меня из терминала эдитор не запускается, файлы записываются в субпапке mql4 и тестер ничего не видит. Если переносить файл из папки mql4 в штатную, то он никуя не работает (советник с простым алертом).

 

Перестал работать код 509 версии на новом терминале. Если поставить скобки то будет работать.

if(4 & 1 == 0) Alert(11);
 
Andrei01:

Перестал работать код 509 версии на новом терминале. Если поставить скобки то будет работать.



Сейчас правильно работает, согласно приоритетам операторов, код без скобок идентичен следующему:

if(4 & (1 == 0)) Alert(11);

Здесь справочная информация по приоритетам http://en.cppreference.com/w/cpp/language/operator_precedence, или здесь https://www.mql5.com/ru/docs/basis/operations/rules

 
220Volt:


Сейчас правильно работает, согласно приоритетам операторов, код без скобок идентичен следующему:

да не, без скобок код аналогичен:

if((4 & 1) == 0) Alert(11);  // бинарный оператор & "сильнее" сравнения на равенство

:)

т.е. тождественно равен false

 
ANG3110:
Уже 605-ый билд, а отрисовка кастомных индикаторов в тестере как не работала, так и не работает. Точнее после открытия терминала один раз сработает и при повторных тестах не работает. Я понимаю, что прграммистам интереснее возиться с тонкостями ссылок, или еще со всякой специфичной хренью. Но это не просто компилятор. Это же торговая программа. А с тестером уже неделю как нормально невозможно работать.

Согласен. Объясните мне, что происходит!!!! Сориентируйте, что читать, т.к. в документации никаких изменений не произошло, а сделать ничего не могу.
 
MetaDriver:

да не, без скобок код аналогичен:

:)

т.е. тождественно равен false

Я же не сам придумал, из справочника:

9 == !=For relational = and ≠ respectively
10 &Bitwise AND

т.е. & "слабее".

 
220Volt:


Сейчас правильно работает, согласно приоритетам операторов, код без скобок идентичен следующему:

Здесь справочная информация по приоритетам http://en.cppreference.com/w/cpp/language/operator_precedence, или здесь https://www.mql5.com/ru/docs/basis/operations/rules

Спасибо! Таки в Си корявые приоритеты, операция сравнения по логике должна иметь низший приоритет.
 
220Volt:

Я же не сам придумал, из справочника:

т.е. & "слабее".

ага, глянул, ты прав. надо б запомнить, видимо из Делфи у меня хвост тянется:

там так:

Operator                     Приоритет
-----------------------------------------------
@, not                                   первый(высший)
*,/,div,mod,and,shl,shr,as   второй
+,-,or,xor                             третий
=,<>,<,>,<=,>=,in,is           четвертый(низший)
-----------------------------------------------------------------
однако согласен с предыдущим оратором:
Andrei01: Спасибо! Таки в Си корявые приоритеты, операция сравнения по логике должна иметь низший приоритет.
 
После всех нововведений я окончательно запутался с обновлениями версий..
У меня есть терминалы подключенные к интернету и есть отключенные (для отладки Советников).
Я сейчас ни при каких обстоятельствах не хочу и не могу переходить на последнюю версию МТ4, но один из терминалов подключенных к интернету уже обновился (раньше было какое-то окно запроса от Windows, сейчас его нет?).
Как предотвратить обновление остальных? Мне надо новый код отладить и проблемы с новыми версиями МТ4 мне сейчас ни к чему.

ПС Просили же разработчиков сделать меню подтверждения обновления, но интересы пользователей их не беспокоят.
Дальше много слов, но все нецензурные.
 
Народ, тут такая проблема подскажите пожалуйста... На 604 билде перестали работать индюки и советник, когда заремил обращение к GV стали хотя бы появлятся на чарте. Что то поменялось в использовании глобальных переменных, или это косяк разработчиков? На 600-том этот же код прекрасно работал...