Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Как купить продукт в MetaTrader AppStore? Прочитай статью об этом!
IGHud
64
IGHud 2015.08.30 12:46 
При Объявление массива типа: double aa[400][400][10]; Терминал может в закладке Эксперты выдать "global initialization failed Invalid" . При чем в трех похожих кодах, терминал реагировал по разному, выдавал ошибку и удалял индикатор, при разных размерах первых индексов.  Выше. aa[400][400][10] aa[911][911][10] в одном случае код выполняется при aa[1000][1000][10].  Числа были найдены методом ТК (проб и ошибок). Сложилось впечатления что эти числа в принципе случайные. Индикатор может работать до какого то момента усложнения кода, затем все обрывается. При этом принципиальной зависимости от сложности  кода не обнаруживается. Проблему нашел самостоятельно. Сообщение больше как информация для разработчиков.   
IGHud
64
IGHud 2015.08.30 12:51  
Еще раз доброго времени суток. Фразу "global initialization failed Invalid" по ошибке дополнил словом Invalid. На самом деле. Терминал в закладке Эксперты пишет только "global initialization failed" 
atztek
278
atztek 2015.08.30 13:54  
i592958:
Еще раз доброго времени суток. Фразу "global initialization failed Invalid" по ошибке дополнил словом Invalid. На самом деле. Терминал в закладке Эксперты пишет только "global initialization failed" 
Я абсолютно не уверен в том тот ли это случай, но недавно у меня было что-то похожее, когда я использовал массив, который нигде не был определен. Проверьте, возможно Вы его определяете в неправильной части кода? Если не поможет то сделайте копию и в ней начните удалять все нерелевантное чтобы упростить код до минимума, тогда уж точно разберетесь.
IGHud
64
IGHud 2015.08.31 18:36  
atztek:
Я абсолютно не уверен в том тот ли это случай, но недавно у меня было что-то похожее, когда я использовал массив, который нигде не был определен. Проверьте, возможно Вы его определяете в неправильной части кода? Если не поможет то сделайте копию и в ней начните удалять все нерелевантное чтобы упростить код до минимума, тогда уж точно разберетесь.

Массивы определенны  перед int init() (MT4)  в новой версии языка это вроде  void OnInit().  посмотрел в программах поставляемых с редактором МТ4 там массивы определяются в том же месте перед void OnInit(). Только без определения предельных размеров массивов. но вроде правильней определять размеры. Ошибку нашел как раз копированием, исключениями и т.д. примерно день потратил. 

/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий