1) Вы можете использовать static в том и только том случае, если при работе эксперта никогда не будет:
1. Изменяться параметры эксперта.
2. Меняться ТФ, валютная пара, номер счета.
3. Возникать ошибки позднего присоединения.
Иначе говоря - если функция init() никогда не будет выполняться повторно.
В противном случае значение статической переменной останется прежним, а все инициализируемые глобальные переменные будут проинициализированы заново, что является очевидной ошибкой.
2) iTime(NULL,0,0) тождественно Time[0], второе работает быстрее :)
Только заметил: Вы объявили массив статичным. В MQL4 все массивы всегда статичны, правда, пользовать эту "особенность" никогда не пробовал,- не люблю пользовать баги, как фичи,- баг могут исправить, а вместе с ним умрет и фича :)
1) Вы можете использовать static в том и только том случае, если при работе эксперта никогда не будет:
1. Изменяться параметры эксперта.
Ну так параметры эксперта(внешние) и так не будут изменяться при работе эксперта... К чему первый пункт?
3. Возникать ошибки позднего присоединения.
Иначе говоря - если функция init() никогда не будет выполняться повторно.
В противном случае значение статической переменной останется прежним, а все инициализируемые глобальные переменные будут проинициализированы заново, что является очевидной ошибкой.
Ну так если будет реконнект вслучае проблемы связи, то это произойдёт. А значит уже не приемлимо? От этого то никто не застрахован.
Только заметил: Вы объявили массив статичным. В MQL4 все массивы всегда статичны, правда, пользовать эту "особенность" никогда не пробовал,- не люблю пользовать баги, как фичи,- баг могут исправить, а вместе с ним умрет и фича :)
Уверен в статичности массивов и не уверен в том, что Вам не захочется изменить параметры эксперта :)
Так Вы имеет в виду в течении запуска терминала.. :) Вы правы!
А вообще, по моим скромным наблюдениям, лучше других в работе с памятью ориентируется Рустам. Существенно лучше.
Я не совсем понимаю о ком речь.
Так Вы имеет в виду в течении запуска терминала.. :) Вы правы!
Я не совсем понимаю о ком речь.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Пришлось мне всё-таки столкнуться с использованием массивов в своих экспертах. Вопрос собственно, вот в чём. Для меня затруднительно понять как осуществлять отладку кода, в котором присуствуют массивы.
Возьмём простой пример. Есть 2 типа сигнала по соответственно 2 различным условиям.
Я так понимаю, логично завести массив в функции start(), у меня так:
Верно ли я это сделал? Недавно про static шёл разговор, что мол он не работает, так вот.. думаю. Или может её глобальной сделать? я про массив signal[2] имею ввиду.. Ведь важно чтоб сигнал сохранялся, до тех пор пока он не изменится.
Вот функция, которая получает сигнал и возвращает его в массив signal[2]:
Как можно распринтовать данный момент? Согласно документации можно принтанут массив поэлементно. У нас функция GetSignal() передаёт значение сигнала на соответствующем индексе i. Как понять какой сигнал пошёл в массив signal[2] в start()?