valenok2003:
Сергей, а чем вызван страх "что нельзя"? Вы же не собираетесь на каждом тике производить переинициализацию? ;)
можно ли из start() вызвать init()?
Не приведет ли это к зависанию терминала?
TarasBY:
Сергей, а чем вызван страх "что нельзя"? Вы же не собираетесь на каждом тике производить переинициализацию?
Сергей, а чем вызван страх "что нельзя"? Вы же не собираетесь на каждом тике производить переинициализацию?
предполагаю, что автоматом произойдет рекурсия start(); с непредсказуемыми последствиями
valenok2003:
предполагаю, что автоматом произойдет рекурсия start(); с непредсказуемыми последствиями
...это интересное предположение, НО init() и start() - это самостоятельные функции (хотя и специальные), и вызов одной из другой, описанный "катаклизм" не вызовут. В индикаторах часто использую такую конструкцию. В советниках такой необходимости не возникало. :)
предполагаю, что автоматом произойдет рекурсия start(); с непредсказуемыми последствиями
TarasBY:
...это интересное предположение, НО init() и start() - это самостоятельные функции (хотя и специальные), и вызов одной из другой, описанный "катаклизм" не вызовут. В индикаторах часто использую такую конструкцию. В советниках такой необходимости не возникало. :)
...это интересное предположение, НО init() и start() - это самостоятельные функции (хотя и специальные), и вызов одной из другой, описанный "катаклизм" не вызовут. В индикаторах часто использую такую конструкцию. В советниках такой необходимости не возникало. :)
У меня такая необходимость возникла в советнике. Это связано с возможностью удаления пользователем GV-переменных врукопашную, тогда потребуется восстановить данные без лишних запросов.
valenok2003:
У меня такая необходимость возникла в советнике. Это связано с возможностью удаления пользователем GV-переменных врукопашную, тогда потребуется восстановить данные без лишних запросов.
Логика: "если в индикаторе проблем не возникает, значит, и в советнике их быть не должно". Пробуйте, потом расскажите. :)
У меня такая необходимость возникла в советнике. Это связано с возможностью удаления пользователем GV-переменных врукопашную, тогда потребуется восстановить данные без лишних запросов.
TarasBY:
Логика: "если в индикаторе проблем не возникает, значит, и в советнике их быть не должно". Пробуйте, потом расскажите. :)
Логика: "если в индикаторе проблем не возникает, значит, и в советнике их быть не должно". Пробуйте, потом расскажите. :)
)))))))) отпишусь, я бы уже проверил, да воскресенье )))
Можно вызывать.
И рекурсии не будет.
init() вызывается при запуске, а start() при поступлении тика.
Причем start() автоматом вслед за init() не запускается.
все эти "страшные" непонятки можно утихомирить, если принять модель, что выполняемая mql-программа воспринимается (и обрабатывается) терминалом как DLL со стандартным набором [отдельных!] вызываемых функций. сами по себе функции друг друга не вызывают, если только mql-программист этого не прописал. никакой-такой левой рекурсии. терминалом функции автоматически вызываются при формировании в терминале событий им соответствующих.
valenok2003:
Можно ли из start() вызвать init()? Что при этом происходит?
Не приведет ли это к зависанию терминала?
Спасибо.
1.Можно.
2.При этом происходит вызов функции.
3. К зависанию терминала не приводит, если только ваш init() не подвешивает терминал.
Вечный init )))
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Можно ли из start() вызвать init()? Что при этом происходит?
Не приведет ли это к зависанию терминала?
Спасибо.