Какая разница между функциями ? - страница 2

 
Dmitry Fedoseev:

Извините, пожалуйста, но где вы увидели здесь разговоры про функцию OnInit().

Это моя личная интерпретация прочитанного, с которой можно соглашаться или нет, но слово "старты" можно понимать по-всякому, у меня лично ассоциация с функцией OnInit() в данном случае возникает, хотя, не спорю, что это зависит от того, кто какие функции использует.
 
Natashe4ka:

Подскажите пожалуйста, какая разница между функциями:

int Start()
void Start()
void OnStart()
void OnTick()
и т.д. какие ещё есть старты?

Это же всё относится к стартам, почему они все разные, в чём особенность?
 

Встретился с проблемой в советнике когда высокий поток тиков, то Start при поступлении нового тика обрывает работу предыдущего Starta и просто часть кода может не выполниться и запускает снова.

Заметил я это когда у меня при открытии новой свечи должна была сетка ордеров открыться ровно 10 ордеров. Тоесть имеем 1 тик при открытии свечи и программа побежала выполняться и когда стал замечать, то 3 ордера откроется, то 9, то 5. Вот и понял что при быстром потоке тиков это происходит.

Start срабатывает при запуске терминала/советника и дальше срабатывает на каждый тик

Переписал всё в OnTick и проблема ушла, поступаемый новый тик игнорировался, пока не доделается код от текущего OnTick и только когда код обработался, OnTick принимает новый тик.

OnTick не сработает при запуске советника, только при поступлении тика, тут нужен ещё OnInit

Вот вся разница.

Запуск платформы - Для продвинутых пользователей - Начало работы - Справка по MetaTrader 5
Запуск платформы - Для продвинутых пользователей - Начало работы - Справка по MetaTrader 5
  • www.metatrader5.com
По завершении установки в меню "Пуск" создается группа программ торговой платформы, а на рабочем столе дополнительно помещается ярлык...