Асинхронность работы эксперта - страница 2

 
CurTime - это последнее известное время сервера, то есть время последней котировки по любому из инструментов.
для принудительной перерисовки графика используйте функцию ObjectsRedraw
 
CurTime - это последнее известное время сервера, то есть время последней котировки по любому из инструментов.
для принудительной перерисовки графика используйте функцию ObjectsRedraw


Спасибо.
При использовании LocalTime и ObjectsRedraw получил желаемый результат.
 
Возникла проблема с получением текущих Ask и Bid при зациклинном выполнении скрипта.
Эти величины не обновляются.
Подскажите, пожалуйста, как мне получать текущие значения Ask на примере:
int interval = 100;  


void YouFunc()
{
   Comment("" + TimeToStr(LocalTime(),TIME_DATE|TIME_MINUTES|TIME_SECONDS) + ", Ask: " + DoubleToStr(Ask, 4));
}

void start()
{
   while (true)   
   {
      YouFunc();  
      ObjectsRedraw();
      Sleep(interval);  
   }
}
 
используйте функцию RefreshRates. она не только обновляет текущие таймсерии, но и бид с аском. факт обновления устанавливается кодом возврата true
в качестве примера посмотрите наш скрипт trade.mq4 (торговля на все деньги)
 
Попробуй так
   Comment("" + TimeToStr(LocalTime(),TIME_DATE|TIME_MINUTES|TIME_SECONDS) + ", Ask: " +
                      DoubleToStr(MarketInfo(Symbol(),MODE_BID), 4));



При использовании RefreshRates() у меня секунды стали прыгать не через одну, а через 2, 3, 4 секунды ,т.е. похоже эта RefreshRates() требует больше времени на исполнение, чем ObjectsRedraw()

Если ошибаюсь - плс подскажите.