Скачать MetaTrader 5

Как сделать, чтобы функция выполнялась после загрузки недостоющих баров?

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
MetaQuotes ID, что это? Узнай из статьи!
Andrew
87
Andrew 2010.10.29 02:10 

когда выключаешь терминал, а потом через некоторое время включаешь - начинается загрузка баров.. и когда подгружается последний бар он имеет индекс 0, соседний бар имеет индекс 1, и потом между ними появляются еще бары и индексы меняются (ну, кроме бара с индексом 0 :)).. из за этого у меня неправильно все работает)

как можно подождать загрузку всех недостоющих баров и только потом выполнять функции?

Alexander
2441
Alexander 2010.10.29 02:43  

Попробуй сделать задержку

int x;
...
int start()
{
if (x==0)
{
Sleep(3000);
x=1;
}
...
Eugeni Neumoin
1796
Eugeni Neumoin 2010.10.29 07:18  

Первый расчет все равно даже и с задержкой может получиться на неполностью загруженной истории.

Перед основным расчетом необходимо запоминать  в глобальной переменной количество баров истории. Далее на каждом новом тике перед основным расчетом проверять количество баров истории. Если баров больше, чем в глобальной переменной на два и более, то делается полный пересчет. А новое значение количества баров запоминается. И так на каждом тике.

Andrew
87
Andrew 2010.10.30 12:18  
nen, спасибо за идею :) буду пробовать :)
Victor Nikolaev
Модератор
14527
Victor Nikolaev 2010.10.30 13:25  
nen:

Первый расчет все равно даже и с задержкой может получиться на неполностью загруженной истории.

Перед основным расчетом необходимо запоминать в глобальной переменной количество баров истории. Далее на каждом новом тике перед основным расчетом проверять количество баров истории. Если баров больше, чем в глобальной переменной на два и более, то делается полный пересчет. А новое значение количества баров запоминается. И так на каждом тике.


Я делаю полный перерасчет если полученная разность больше единицы. Два - значит уже есть пропущенный бар. Но неизвестно где он находится
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий