Текущее время в миллисекундах с 01.01.1970

 

Получаю время открытия сделки ( Время открытия позиции в миллисекундах с 01.01.1970 ) при помощи:

ulong openAt = PositionGetInteger(POSITION_TIME_MSC);

Нужно получить текущее время в том же формате.

Конструкция

long time = (long) TimeCurrent() * 1000;

Мне подходит или нет?

В документации про TimeCurrent() написано:

Возвращает последнее известное время сервера, время прихода последней котировки по одному из выбранных в "Обзоре рынка" символов.  Значение времени формируется на торговом сервере и не зависит от настроек времени на компьютере пользователя.

Про часовой пояс сервера не сказано.


Это то же самое время или есть какой-то оффсет по часовому поясу?

 
Я так работаю с миллисекундами. Но это длл, не продашь
Файлы:
 
Andrei Bayakou #:
Я так работаю с миллисекундами. Но это длл, не продашь

Загнул

 
Павел Раввич:

Это то же самое время или есть какой-то оффсет по часовому поясу?


Какое же оно "тоже самое", если оно в секундах?
 

Структура для хранения последних цен по символу.

struct MqlTick
  {
   datetime     time;          // Время последнего обновления цен
   double       bid;           // Текущая цена Bid
   double       ask;           // Текущая цена Ask
   double       last;          // Текущая цена последней сделки (Last)
   ulong        volume;        // Объем для текущей цены Last
   long         time_msc;      // Время последнего обновления цен в миллисекундах
   uint         flags;         // Флаги тиков
   double       volume_real;   // Объем для текущей цены Last c повышенной точностью
  };
bool  SymbolInfoTick(
   string    symbol,     // символ
   MqlTick&  tick        // ссылка на структуру
   );
 
Sergey Gridnev #:

Какое же оно "тоже самое", если оно в секундах?

Ну какая разница умножить на 1000 и все вопрос то о временных зонах.

 
Павел Раввич #:

Ну какая разница умножить на 1000 и все вопрос то о временных зонах.

На сколько бы Вы ни умножали секунды,Вы не получите из них миллисекунды.
 
Sergey Gridnev #:
На сколько бы Вы ни умножали секунды,Вы не получите из них миллисекунды.

1. Получу просто с небольшой погрешностью которая в моем контексте не влияет на результат.

2. Ваш комментарий не по теме вопроса, я уже дал уточнение в прошлом сообщении.

 
Павел Раввич #:

1. Получу просто с небольшой погрешностью которая в моем контексте не влияет на результат.



С погрешностью в 1 секунду.
 

Павел Раввич:

Мне подходит или нет?

Через winapi можно получить текущее время компьютера в нс ( с гранулярностью в 200 нс) в windows формате, которое надо сконвертировать в Unix формат, принятый в MT.

Подходит Вам или нет - решать Вам.