init() - страница 2

 
- Но связь с сервером либо еще не установлена, либо установлена, но не все данные (напр. ордера) с него подкачаны.
не логично... если есть связь - должны быть _все_ данные. имхо, конечно, но надо сделать корректную отработку...

Init - первое действие при подключении эксперта.
И это действие должно отработать тут же, показать результат (если нужно), а не тормозить.
Старайтесь использовать в инициализации подготовку общих данных и не пытайтесь производить реальную работу.
а как же while ( !IsConnected() ) Sleep(100); ? типа каждый сам выбирает - тормозить-нетормозить =?)
 
а как же while ( !IsConnected() ) Sleep(100); ? типа каждый сам выбирает - тормозить-нетормозить =?)

Да, каждый выбирает сам.
 
при запуске терминала эксперт ининициализируется только после первоначальной подкачки данных графика. поэтому, как правило, при инициализации IsConnected сразу возвращает true. есть нюанс - данные о торговых позициях всегда запаздывают. обратите внимание на кнопку "новый ордер" при запуске терминала. она становится активной только после подкачки торговой информации.
Ренат правильно говорит - инициализацию необходимо проводить максимально быстро и не пользоваться "тяжёлыми" (тем более торговыми) функциями.
 
при запуске терминала эксперт ининициализируется только после первоначальной подкачки данных графика.


А у меня иначе. Сначала эксперт рисует график на барах истории (значит уже прошел инициализацию ?), затем происходит подкачка последних данных, а
затем уже нормальная работа.

Так когда же отрабатывает init() ? До связи с сервером ? После ? Независимо ?
 
А у меня иначе. Сначала эксперт рисует график на барах истории (значит уже прошел инициализацию ?), затем происходит подкачка последних данных, а
затем уже нормальная работа.

эксперт или пользовательский индикатор?
 
а как же while ( !IsConnected() ) Sleep(100); ? типа каждый сам выбирает - тормозить-нетормозить =?)

Да, каждый выбирает сам.
Так как же выбирает, если не работает?

при запуске терминала эксперт ининициализируется только после первоначальной подкачки данных графика. поэтому, как правило, при инициализации IsConnected сразу возвращает true
сколько раз запускал МТ, практически всё время коннекта нет... наверное, 9 из 10 раз..
Причина обращения: