Выпущен MetaTrader 4 Client Terminal build 600 с обновленным языком MQL4 и Маркетом приложений - страница 21

 
Смысл в поддержке совместимости. Очень много неаккуратно написанного кода, который не инициализирует свои глобальные переменные в ините.
 
Ренат, может в будущем отмените?
 
Renat:
Смысл в поддержке совместимости. Очень много неаккуратно написанного кода, который не инициализирует свои глобальные переменные в ините.
так это вина тех кто пишет не читая документации
проблема в том, что код написанный не правельно можно ( и нужно ) поправить
а вот отсутсвие глобальных переменных как они приведены в справке возместить нельзя
Возратите пожалуйста правильное поведение глобальных переменных, иначе становится
просто муторно от таких нововедений.
Ренат, при всем уважении,
не поощряйте не правельно написанные кода,
раз уже так далеко зашли и получаем мкл5 под мкл4
то и стоит поддерживатся правил укорененных с самого время их создания
Получается, что вы наказываете тех кто правильно писал кода.
Не серъезное отношение как то и за всеми изменениями в языке следить на форуме нет желания, что бы не получать сюрпризов при написании програм.
Такие мелочи, но портит отношение к подходу разрешения проблем.
Оставьте все как есть, ведь было правильно и тыкайте носом людей, что бы придерживались справочникa
 

Приветствую!

Еще на что обратил внимание.

Во время отладки не инициализируются константы объявленные директивой #define.

В обычном режиме все работает нормально.

 
Renat:
Смысл в поддержке совместимости. Очень много неаккуратно написанного кода, который не инициализирует свои глобальные переменные в ините.
причем происходит несоответсвие документации причем только для индикаторов
и еще раз повторюсь, те кто писал правильно натыкается теперь на грабли
и замены на глобальные перемены не существует ( что бы они не инициализировались )
а ошибки в коде можно исправить

А вот как решение "золотая середина" для всех: можно компилятором выдавать прдупреждение о не инициализированных переменных

ЗЫ: не кастрируйте пожалуйста язык, так как замены таковой нет. Раз ООП и все в придачу получили, оставьте старое или хотя бы разграничте "проблему"
через #property strict
Очень надеюсь на разумное решение проблемы и так же в целях совместимости с мкл5
 
Дефайн не является переменной и во время компиляции разворачивается в целевой код. Поэтому его нельзя дебажить.
 
wlad:
так это вина тех кто пишет не читая дакоментации
проблема в том, что код написанный неправельно можно ( и нужно ) поправить
а вот отсутсвие глобальных переменных как они приведены в справке возместить нельзя
Возратите пожалуйста правильное поведение глобальных переменных, иначе становится
просто муторно от таких нововедений.
Ренат, при всем уважении,
не поощряйте не правельно написанные кода,
раз уже так далеко зашли и получаем мкл5 под мкл4
то и стоит поддерживатся правил укорененных с самого время их создания
Получается, что вы наказываете тех кто правильно писал кода.
Не серъезное отношение как то и за всеми изменениями в языке следить на форуме нет желания, что бы не получать сюрпризов при написании програм.
Такие мелочи, но портит отношение к подходу разрешения проблем.
Оставьте все как есть, ведь было правильно и тыкайте носом людей, что бы продерживались справочнику


Научитесь сначала грамотно писать.

Если сделают несовместимыми программы, написанные в версиях до 509 включительно, с новым МТ4, то трудно даже представить, во что это может вылиться. Хватает и того, что многое внедряется насильственным образом.

 
bool  OrderClose(
   int        ticket,      // номер ордера
   double     lots,        // количество лотов
   double     price,       // цена закрытия
   int        slippage,    // максимальное проскальзывание
   color      arrow_color  // цвет
   );
 
Не плохо бы поле тикет сделать in/out для более простого отслеживания тикета оставшейся позиции после частичного закрытия.
 
nen:


Научитесь сначала грамотно писать.

Если сделают несовместимыми программы, написанные в версиях до 509 включительно, с новым МТ4, то трудно даже представить, во что это может вылиться. Хватает и того, что многое внедряется насильственным образом.

недостаточно грамотно для вас написано?
 
wlad:
А вот как решение "золотая середина" для всех: можно компилятором выдавать прдупреждение о не инициализированных переменных

ЗЫ: не кастрируйте пожалуйста язык, так как замены таковой нет. Раз ООП и все в придачу получили, оставьте старое или
хотя бы разграничте "проблему"
через #property strict
Очень надеюсь на разумное решение проблемы и так же в целях совместимости с мкл5
поддерживаю. я за единый язык на двух платформах. mql5 разумеется.