Функиця AccountBalance возвращает 0 при запуске терминала

 

Всем привет! Подскажите пожалуйста в чем может быть проблема.

Функиця AccountBalance() возвращает 0 при запуске терминала, но если сменить таймфрейм или перезагрузить индикатор, то становится нормально. 

В чем может быть причина?

 
Данные по балансу не успевают подгрузиться с сервера
 
Sergey Likho:
Данные по балансу не успевают подгрузиться с сервера

а как сделать, чтобы индюк инициализировался только после подключения?

 
Ivan Ovchinnikov:

а как сделать, чтобы индюк инициализировался только после подключения?

проверять 
IsConnected()

 
Taras Slobodyanik:

проверять 
IsConnected()

Не вариант (с ним куча нюансов). Надежнее ждать ненулевое значение.

 
Ihor Herasko:

Не вариант (с ним куча нюансов). Надежнее ждать ненулевое значение.

ну тогда не ждать, а периодически перепроверять, потому как при инициализации всё зависнет. (это жеж индикатор)

 
Taras Slobodyanik:

проверять 
IsConnected()

не прокатило, все равно 0 пока не перезагрузится.

Попробовал сделать цикл, так терминал вообще зависает.

while(AccountBalance() == 0) {
        AccountBalance();
        if(AccountBalance() > 0) break;

}
 
Ivan Ovchinnikov:

не прокатило, все равно 0 пока не перезагрузится.

Попробовал сделать цикл, так терминал вообще зависает.

while(AccountBalance() == 0) {Sleep(1000);}
 
Igor Zakharov:

это индиктор, тут sleep не прокатывает

 
Ivan Ovchinnikov:

это индиктор, тут sleep не прокатывает

В OnCalculate() в самом его начале выполняйте return 0; если баланс нулевой. Но тогда при реально нулевом балансе индикатор никогда не запустится.

 
Artyom Trishkin:

В OnCalculate() в самом его начале выполняйте return 0; если баланс нулевой. Но тогда при реально нулевом балансе индикатор никогда не запустится.

тоже не вариант