MT5 и скорость в боевом исполнении - страница 51

 
Roman:

Да TimeCurrentMcs был бы лучше, присоединяюсь к пожеланию.

TimeCurrentMsc (Msc - миллисекунды, по аналогии с названием в MqltTick.time_msc) нужен не для замеров, а для того же, что и TimeCurrent.

В частности, для логов торговых приказов. Когда идет анализ, был ли обновлен Обзор рынка во время выполнения OrderSend. 

 
fxsaber:

TimeCurrentMsc (Msc - миллисекунды, по аналогии с названием в MqltTick.time_msc) нужен не для замеров, а для того же, что и TimeCurrent.

В частности, для логов торговых приказов. Когда идет анализ, был ли обновлен Обзор рынка во время выполнения OrderSend. 

Да миллисекундный timestamp очень нужен.
А если будет TimeCurrentMcs в микросекундах, то из него можно получать любое время.
Хоть в миллисекундах получай, хоть микросекундах.
Практичнее.

 

только международное обозначение миллисекунд - ms

а msc - больше на msk похоже - время по Москве или на mcs - микросекунды

 
A100:

только международное обозначение миллисекунд - ms

а msc - больше на msk похоже - время по Москве или на mcs - микросекунды

Я тоже об этом хотел написать ))
Но воздержался, ибо закидают тапками, типа в mql же time_msc ))

 
A100:

только международное обозначение миллисекунд - ms

а msc - больше на msk похоже - время по Москве или на mcs - микросекунды

да, ms - миллисекунды.
а международное обозначение микросекунд - µs.

проблемы у всех возникают как набрать на клавиатуре µ (мю). 
Для тех, кто не знает  - мю можно набрать на клавиатуре следующим образом: Жмем Alt и набираем код 0181 

https://ru.wikipedia.org/wiki/Alt-%D0%BA%D0%BE%D0%B4
 
Nikolai Semko:

да, ms - миллисекунды.
а международное обозначение микросекунд - µs.

проблемы у всех возникают как набрать на клавиатуре µ (мю). 
Для тех, кто не знает  - мю можно набрать на клавиатуре следующим образом: Жмем Alt и набираем код 0181

тогда можно прямо такой постфикc и предложить для микросекундных имен _0181s вместо mcs. С другой стороны и полностью можно написать и micro и milli - тогда точно путаницы не возникнет

 
Nikolai Semko:

да, ms - миллисекунды.
а международное обозначение микросекунд - µs.

проблемы у всех возникают как набрать на клавиатуре µ (мю). 
Для тех, кто не знает  - мю можно набрать на клавиатуре следующим образом: Жмем Alt и набираем код 0181 

https://ru.wikipedia.org/wiki/Alt-%D0%BA%D0%BE%D0%B4

В редакторе тоже работает

u

 

Микросекундный µsSleep()

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
{
   while(!_StopFlag)
   {
      µsSleep(5000000); //5 секунд
      
      Print("Прошло 5000000 микросекунд");
   }  
}

//--------------------------------------------------------------------
void µsSleep(ulong µsRange) 
{
  ulong c = GetMicrosecondCount() + µsRange;  
  while(GetMicrosecondCount() < c);
}
2020.10.10 01:09:21.717 TestScript (MNQZ20,M1)  Прошло 5000000 микросекунд
2020.10.10 01:09:26.717 TestScript (MNQZ20,M1)  Прошло 5000000 микросекунд
2020.10.10 01:09:31.717 TestScript (MNQZ20,M1)  Прошло 5000000 микросекунд
2020.10.10 01:09:36.718 TestScript (MNQZ20,M1)  Прошло 5000000 микросекунд
2020.10.10 01:09:41.718 TestScript (MNQZ20,M1)  Прошло 5000000 микросекунд
2020.10.10 01:09:46.718 TestScript (MNQZ20,M1)  Прошло 5000000 микросекунд
2020.10.10 01:09:51.718 TestScript (MNQZ20,M1)  Прошло 5000000 микросекунд
2020.10.10 01:09:56.718 TestScript (MNQZ20,M1)  Прошло 5000000 микросекунд
2020.10.10 01:10:01.718 TestScript (MNQZ20,M1)  Прошло 5000000 микросекунд
2020.10.10 01:10:06.718 TestScript (MNQZ20,M1)  Прошло 5000000 микросекунд
 
Roman:

Микросекундный µsSleep()

Процессор не крутит на полную (одно ядро)?

 
Andrey Khatimlianskii:

Процессор не крутит на полную (одно ядро)?

Крутит конечно, может не только одно ядро задействовать.

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

MT5 и скорость в боевом исполнении

Renat Fatkhullin, 2020.10.05 18:04

Микросекундный таймер имеет и системную погрешность и свою стоимость, зависящую от железа, операционки и виртуализации.

У него нет 1 микросекундной точности вообще-то.

Мы специально акцентировали внимание на расходах и тормозах классических впсок в статьях про наш впс сервис.

Задумайтесь об оверселлинге ресурсов впс серверов, когда провайдер нарезает в лучшем случае 20 Windows систем на одном хосте.

Там реально 80% ресурсов проца уходит в системный оверхед и неявные задержки.