Скачать MetaTrader 5

можно ли из start() вызвать init()? - страница 2

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Рустам
3597
Рустам 2013.11.17 16:54  
deinit() только сниться :)
Sergey Guliaev
2301
Sergey Guliaev 2013.11.17 16:57  
ktest0:

Можно вызывать.

И рекурсии не будет.

init() вызывается при запуске, а start() при поступлении тика.

Причем start() автоматом вслед за init() не запускается.


спасибо, доходчиво
Vladimir Gomonov
8283
Vladimir Gomonov 2013.11.17 17:15  
FAQ:
deinit() только сниться :)

уже нет. скоро (относительно) будет массовый переход на новые билды (>509), там есть и уже работает функция-событие OnTimer() и милисекундный таймер впридачу (минимальный период 16-18 ms). если такая частота вызовов (около 55 гц) устраивает - можно все иниты уже расцикливать и работать в штатном режиме. :)

Рустам
3597
Рустам 2013.11.17 17:16  
ага, ждемс...
Алексей Тарабанов
7275
Алексей Тарабанов 2013.11.17 20:16  
valenok2003:

)))))))) отпишусь, я бы уже проверил, да воскресенье )))

Открою тайну: и из init можно вызывать start, поэтому воскресенье не помеха ;)

Но правильнее, имхенько, вызывать и из init и из start, при необходимости, пользовательскую функцию ReInit, повторно инициализирующую те и только те переменные, которые нужно.

Evgeniy Gutorov
4719
Evgeniy Gutorov 2013.11.17 20:30  
tara:

Открою тайну: и из init можно вызывать start, поэтому воскресенье не помеха ;)

Но правильнее, имхенько, вызывать и из init и из start, при необходимости, пользовательскую функцию ReInit, повторно инициализирующую те и только те переменные, которые нужно.


а вместе с ней и deinit )))).. вечный кайф обеспечен терминалу..
Алексей Тарабанов
7275
Алексей Тарабанов 2013.11.17 20:39  
forte928:

а вместе с ней и deinit )))).. вечный кайф обеспечен терминалу..


init, start, deinit, сами по себе не способны ничего ни создать, ни разрушить, как их ни чередуй.

Сломать, либо создать что-либо может только пользователь.

Sergey Gridnev
5013
Sergey Gridnev 2013.11.18 07:01  
paukas:


3. К зависанию терминала не приводит, если только ваш init() не подвешивает терминал.


Я бы сказал так: "если только ваш init() не вызывает start()"

Sergey Guliaev
2301
Sergey Guliaev 2013.11.18 07:39  
Я поэкспериментировал, есть непонятки, если я меняю параметры в сете, а советник уже на окне, инициализация происходит ли?
Artyom Trishkin
Модератор
77421
Artyom Trishkin 2013.11.18 07:59  
valenok2003:
Я поэкспериментировал, есть непонятки, если я меняю параметры в сете, а советник уже на окне, инициализация происходит ли?
Вызывается deinit(), а после init().
12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий