как создать функцию MilliSeconds()

 

на языке mql можно получать текущее время в виде секундах, как TimeCurrent();

на других языках программирования как Visual C#, Java и т.д. и т.п. можно получать время в виде миллисекундах.

Как создать такую функцию или импортировать dll библиотеку с помощью которой можно было выводить

время в виде миллисекундах?

 

TimeCurrent()- это последнее известное время сервера.
Но между сервером и вашим компьютером есть еще сеть,
которая может создать, образно говоря, несколько секунд задержки.
А это, ИМХО, говорит о том, что
- локальный компьютер невезможно синхронизировать с временем сервера брокера
(иначе можно было бы брать миллисекунды локально)
- точность имеющегося в наличии серверного времени
плавает в достаточно широком диапазоне, чтобы даже ставить
вопрос о миллисекундах

 
#import "kernel32.dll"
   void GetSystemTime (int t[4]);
#import


int b[8];
.....
gSystemTime(b); 
Print (TimeToStr(TimeLocal(),TIME_DATE|TIME_SECONDS),":"
      (b[6]));


//+------------------------------------------------------------------+
void gSystemTime(int& b[8]){
int a[4],i;
  // a[0]=0;a[1]=0;a[2]=0;a[3]=0;
  GetSystemTime (a);
 for (i=0;i<4;i++)
  {
   b[2*i]=a[i];
   b[2*i+1]=a[i];
   b[2*i]>>=16;
   b[2*i+1]<<=16;
   b[2*i+1]>>=16;
  }
 return;  
   }
 /*Type SYSTEMTIME   
// 
значения элементов  переданного массива будут иметь следующие индексы 
  wYear As Integer           1
  wMonth As Integer          0 
  wDayOfWeek As Integer      3
  wDay As Integer            2
  wHour As Integer           5
  wMinute As Integer         4
  wSecond As Integer         7
  wMilliseconds As Integer   6
End Type*/ 
//------------------------------------------------------------------+
 
Sorento:


День добрый! Куда пропадали?
 
Vinin:

День добрый! Куда пропадали?


И Вам поклон!

Да вроде регулярно захаживаю, читаю.

Как в старом анекдоте о молчавшем ребьёнке - "каша" пока не пригорала...

В смысле, всё как всегда. ;)

А здесь вопрос - решил как бы откликнутся.

 
Sorento:


И Вам поклон!

Да вроде регулярно захаживаю, читаю.

Как в старом анекдоте о молчавшем ребьёнке - "каша" пока не пригорала...

В смысле, всё как всегда. ;)

А здесь вопрос - решил как бы откликнутся.


Бывает-бывает. Сам этим страдаю, но не так долго
 
jartmailru:

TimeCurrent()- это последнее известное время сервера.
Но между сервером и вашим компьютером есть еще сеть,
которая может создать, образно говоря, несколько секунд задержки.
А это, ИМХО, говорит о том, что
- локальный компьютер невезможно синхронизировать с временем сервера брокера
(иначе можно было бы брать миллисекунды локально)
- точность имеющегося в наличии серверного времени
плавает в достаточно широком диапазоне, чтобы даже ставить
вопрос о миллисекундах


а нельзя как то получить последнее время сервера в миллисекундах?
 
DominoesFX:

а нельзя как то получить последнее время сервера в миллисекундах?

извиняюсь если задаю глупый вопрос. :)
 
Sorento:


спасибо за функцию.
 
Только эта функция фикция. Не имеет отношение к времени сервера. Время сервера может прислать только сервер.
 
Zhunko:
Только эта функция фикция. Не имеет отношение к времени сервера. Время сервера может прислать только сервер.


да, я в курсе. :) а что если часовый пояс на локальной машине изменить на часовой пояс сервера ДЦ.

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

обновляется с сервера time.windows.com. я прав?

Причина обращения: