|
Обновление данных в предопределенных переменных и массивах-таймсериях.
Эта функция используется, когда эксперт или скрипт производит вычисления в течение долгого времени и нуждается в обновленных данных.
Возвращается TRUE, если данные обновлены, иначе FALSE. Данные могут не обновиться только по той причине, что они соответствуют текущему состоянию клиентского терминала.
Эксперты и скрипты работают с собственной копией исторических данных. Копия данных по текущему инструменту создается при
первоначальном запуске эксперта или скрипта. При каждом следующем запуске эксперта (напомним, что скрипт выполняется
однократно и не зависит от приходящих тиков) первоначально созданная копия обновляется. За то время, пока эксперт или скрипт работает, может прийти
один или несколько новых тиков, поэтому данные могут устареть.
Пример:
int ticket;
while(true)
{
ticket=OrderSend(Symbol(),OP_BUY,1.0,Ask,3,0,0,"комментарий эксперта",255,0,CLR_NONE);
if(ticket<=0)
{
int error=GetLastError();
//---- недостаточно денег
if(error==134) break;
//---- 10 секунд ожидания
Sleep(10000);
//---- обновим ценовые данные
RefreshRates();
}
else
{
OrderSelect(ticket,SELECT_BY_TICKET);
OrderPrint();
break;
}
}
|