• Demo счет NinjaTrader, регистрируется в брокерской компании NinjaTrader Brokerage . NinjaTrader™, LLC
    Ссылка на демо счет NinjaTrader
    Фид на соединении Continuum/CQG.
    Для справки: Continuum - это брэнд CQG, и ни чем они не отличаются друг от друга.
  • Сколько я реально плачу комиссии?
    Подробнее по ссылке

Важно! Синхронизация времени через Интернет

Alexander

Administrator
Команда форума
Помогли тебе - помоги другим!
#1
Время в эпоху информационных технологий приобрело особое значение для современного человека. Каждый из нас как минимум по нескольку раз в день поглядывает на часы. Многие регулярно синхронизируют свои устройства отчета времени посредством различных источников, в том числе и Интернет. Точное время порой играет порой решающую роль в делах, где важны даже не минуты, а секунды. К примеру, торги на фондовых, товарных биржах, могут обернуться крахом для игрока, чьи часы показывали неправильное время. Попробуем настроить свои электронные часы на компьютере и синхронизировать точное время посредством Интернет.

Технология синхронизации времени

В начале немного расскажу о технологии, с помощью которой происходит получение точного времени из Интернет-источников. Весь процесс синхронизации времени проводиться посредством специального сетевого протокола называемого NTP (Network Time Protocol). Данный протокол представляет из себя свод различных правил и математических алгоритмов, благодаря которым происходит точная настройка времени на вашем компьютере с разницей в несколько сотых одной секунды. Существует протокол и для систем, не требующих такой точной синхронизации, который называется SNTP. Разница источника и устройства-приёмника времени по нему может составлять до 1 секунды.




NTP


Технология передачи параметров точного времени представляет из себя многослойную структуру, где каждый нижележащий слой электронных устройств синхронизируется с вышележащим. Чем ниже технологический слой, тем менее точным будет полученное от него время. Но это в теории, на практике же все зависит от множества параметров, участвующих в системе синхронизации и получить более точное время можно, к примеру, от четвертого слоя устройств, нежели от третьего.

На нулевом уровне этой цепочки передачи всегда располагаются устройства отчета времени, грубо говоря, часы. Эти часы представляют из себя молекулярные, атомные или квантовые устройства подсчета времени и называются эталонными. Такие устройства не передают параметры времени в Интернет напрямую, обычно они подключены к первичному компьютеру посредством высокоскоростного интерфейса с минимальными задержками. Именно эти компьютеры составляют первый слой в технологической цепочке. На втором слое будут располагаться машины получающие время от первого слоя устройств посредством сетевого соединения, чаще всего через Интернет. Все последующие уровни будут получать информацию о точном времени по тем же сетевым протоколам от вышележащих слоев.

Синхронизация времени в Windows


Попробуем произвести синхронизацию времени средствами системы Windows XP, Windows 2003. Для этого кликните по часам, которые расположены у вас в трее (обычно это правых нижний угол экрана), чтобы вызвать настройки даты и времени. При этом обязательно проверьте настройки “часового пояса”, которые находятся там же и скорректируйте их при необходимости.

Далее в этом окне нужно перейти во вкладку настройки времени через Интернет.



Синхронизация времени через Интернет

Для Windows Vista, Windows 7 также достаточно кликнуть по часам внизу экрана и перейти к настройкам через специальную ссылку “Изменение настроек даты и времени”


Синхронизация времени через Интернет

Затем перейдите во вкладку “Время по Интернету” и нажмите кнопку “Изменить параметры”.



Синхронизация времени через Интернет

Появится окно настроек времени по Интернету, схожее с таким же окном из Windows XP, 2003.




Синхронизация времени через Интернет

В этом окне имеется опция автоматической сверки часов через Интернет, которая доступна напротив надписи “Выполнять синхронизацию с сервером времени в Интернете”. Если ее включить, поставив галочку, то периодически время вашего компьютера будет уточняться через Интернет-сервера самой операционной системой.

Далее, напротив опции “Сервер:” пользователю доступен выбор из списка адресов, с которых будет производиться синхронизация. Попробуйте выбрать один из них и нажать кнопку “Обновить сейчас”. Если через определенное время под списком появится надпись об ошибке синхронизации, введите вручную один из нижеприведенных адресов сервера и проверьте соединение с ним.

ntp.mobatime.ru
nist1-ny.ustiming.org
ntp.chg.ru

[h2]Изменяем период автоматической синхронизации времени в Windows
[/h2]
По умолчанию, операционная система Windows обращается к серверам синхронизации только раз в неделю. При условии, что пользователь поставил автоматическую проверку времени, конечно. Для некоторых такой период может показаться достаточно большим или может быть весьма частым, чем хотелось бы. К счастью, в системе предусмотрена смена этого параметра через настройки реестра.

Откройте окно “Выполнить” через меню “Пуск”. В командной строке наберите regedit и запустите кнопкой “OK”. Вам необходимо поочередно добраться до следующего раздела

HKEY_LOCAL_MACHINE – SYSTEM - ControlSet001 – Services - W32Time – TimeProviders – NtpClient

и выбрать в окне слева параметр SpecialPollInterval. Здесь указано значение 604800, если перевести его в десятичную систему исчисления. Это количество секунд равное одной недели. Сюда можно занести другое значение, которое необходимо вам, сконвертировав его в секунды.

===========
Источник
 

Alexander

Administrator
Команда форума
Помогли тебе - помоги другим!
#2
Автоматически (при запуске Windows 7) не запускается Служба времени
Это всё делал, с правами администратора: ничего не меняется в итоге, хотя все команды проходят нормально.

НАКОНЕЦ-ТО РАЗОБРАЛСЯ!

"Планировщик заданий" в Win 7 после процесса синхронизации ОТКЛЮЧАЕТ службу времени (примерно 15 секунд всего она находится в рабочем состоянии). А в XP Служба времени была по умолчанию запущена постоянно, потому что тип запуска стоял "Автоматически". Но в Windows 7, даже если поставить в настройках службы тип запуска "Автоматически" (непонятно, для чего он вообще тогда сделан в "семёрке" для Службы времени — был бы хотя бы недоступным в этой службе, чтобы пользователей не смушать: они ведь думают, что Служба времени у них глючит или как-то неправильно настроена, когда по привычке, оставшейся с ХР, ставят "Автоматически" и после перезагрузки системы наблюдают НЕЗАПУЩЕННУЮ службу), Служба времени НЕ БУДЕТ запускаться вместе с запуском системы: видимо, разработчики решили, что не следует излишне загружать систему постоянно работающей Службой времени, но забыли об этом рассказать пользователям.

Если же запустить синхронизацию кнопкой "Обновить сейчас" в окне "Дата и время", то служба времени после этого запуска уже НЕ ОСТАНАВЛИВАЕТСЯ, в отличие от запуска из "Планировщика", и автосинхронизация после такого запуска кнопкой начинает уже работать по интервалу, который вбит в реестре в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\TimeProviders
NtpClient\SpecialPollInterval (по умолчанию — неделя, если не поменять вручную в реестре на другой период).

И работа синхронизатора времени в "Планировщике заданий" НЕ ЗАВИСИТ от того, какой тип запуска стоит в настройках службы - "Автоматически" или "Вручную": при наступлении момента синхронизации (согласно расписанию) "Планировщик" на 15 сек. запустит "Службу времени", синхронизирует часы, а затем отключит Службу.

Прочитать обо всём этом я не смог НИГДЕ, и всё это меня сбивало с толку, потому что в ХР это работало несколько по-иному.

Почему вообще во всё это полез? Потому что у меня стоял один из первых релизов "семёрки", и автосинхронизация по расписанию из "Планировщика задач" там, по причине багов в реестре, не работала, и я никак не мог выяснить, почему. Когда установил на другой комп последний релиз Win 7 (здесь уже автосинхронизация работала) и скопировал оттуда необходимые параметры реестра ( если у кого есть такая проблема, вот Reg-файл для исправления:
http://narod.ru/disk/17191854001/tim...win_7.zip.html ) на второй комп с первым релизом, синхронизация тут заработала сразу же. И вот по ходу всех этих разбирательств я выяснил в подробностях, как реализована работа Службы времени в Win 7.

Всем спасибо за внимание и желание помочь!
Источник
 
Последнее редактирование:

Alexander

Administrator
Команда форума
Помогли тебе - помоги другим!
#3
[h2]Программа для синхронизации времени SymmTime™ [/h2]


Скачать программу здесь.
 

Привал

Well-Known Member
NinjaTrader
#4
Установил программу SymmTime. Все синхронизировал. Написал эксперта для проверки.
Код:
        protected override void Initialize()
        {
            CalculateOnBarClose = false;
        }
		protected override void OnBarUpdate()
        {
			if(Historical) return;
			if(FirstTickOfBar)
			{
				Print("Первый тик бара " + Bars.TickCount.ToString());
			}
			Print ("Time: "+Time[0].ToString()+" " + "Новый тик № "+Bars.TickCount.ToString() + "; ASK=" + GetCurrentAsk().ToString() + "; BID=" + GetCurrentBid().ToString() + 
				"; CLOSE=" + Close[0].ToString() + "; Volume=" + Volume[0].ToString()+" "+DateTime.Now);

		}
Лог
Time: 05.06.2012 14:20:00 Новый тик № 25; ASK=1271; BID=1270,75; CLOSE=1271; Volume=72 05.06.2012 14:19:58
Time: 05.06.2012 14:20:00 Новый тик № 26; ASK=1271; BID=1270,75; CLOSE=1271; Volume=74 05.06.2012 14:19:58
Первый тик бара 1
Time: 05.06.2012 14:21:00 Новый тик № 1; ASK=1271; BID=1270,75; CLOSE=1270,75; Volume=1 05.06.2012 14:20:01
Time: 05.06.2012 14:21:00 Новый тик № 2; ASK=1271; BID=1270,75; CLOSE=1270,75; Volume=2 05.06.2012 14:20:06
Time: 05.06.2012 14:21:00 Новый тик № 3; ASK=1271; BID=1270,75; CLOSE=1270,75; Volume=7 05.06.2012 14:20:09

И возникли вопросы.
1. Почему время отличается ?
2. Почему Time[0] не дает секунды ?
3. Как правильно узнать время тика ?
 

Привал

Well-Known Member
NinjaTrader
#6
Спасибо.
Но вопросы все равно остались. Вернее еще добавились.
Код:
		protected override void OnMarketData(MarketDataEventArgs e)
 		{
 			if (e.MarketDataType == MarketDataType.Last) 
 			{
 				Print(e.Time +" "+Time[0]+" "+DateTime.Now);
 			}
 		}
Лог
05.06.2012 15:55:27 05.06.2012 15:56:00 05.06.2012 15:55:27
05.06.2012 15:55:28 05.06.2012 15:56:00 05.06.2012 15:55:29
05.06.2012 15:55:36 05.06.2012 15:56:00 05.06.2012 15:55:37
05.06.2012 15:55:40 05.06.2012 15:56:00 05.06.2012 15:55:40

1. Time[0] не дает секунды и все время больше текущего времени так и должно быть ?
или я что то накрутил у себя ?
2. на 36 секунде все три способа показали разное время...какое правильное ?
3. Как правильно узнать время тика с максимальной точностью ?
4. Есть ли способ узнать дельту времени. Между тем когда тик был отправлен сервером и он пришол ко мне ?
5. Почему лучше обрабатывать в OnMarketData ?
Заранее спасибо.
 
#7
1. Да. Время окончания бара.
2. Все правильные.
3. Не использовать ниндзю. Ниндзя дает только секундные штампы. Для максимальной точности нужны миллисекундные штампы. А это дело недешевое. (Да и нужно только в случает нахождение сервера непосредственно возле СМЕ.
4. Чуточку быстрее приходят данные нежели в OnBarUpdate
 

Nikolaevich

Well-Known Member
NinjaTrader
#8
Добрый день! Ninjatrader скажите ссылка на страницу SymmTime™изменилась или вернее сама страница изменилась ,хотя раньше я заходил по этой ссылке и скачивал эту програмку .Не могли ли бы уточнить на какой странице SymmTime™ находится эта ссылка боле точно? Спасибо.
 

Alexander

Administrator
Команда форума
Помогли тебе - помоги другим!
#9
Nikolaevich
Залил SymmTime 4.10 на сервак, качайте
 
Последнее редактирование:

Nikolaevich

Well-Known Member
NinjaTrader
#10
Благодорю вас!Все работает отлично ::smile24.gif::!Да, без знаний англииского трудновато ореентироваться на ихнем сайте,да и не только! Не смоглибы вы посоветовать,у меня часы почему то спешат на 3 скунды от тех что представленны на главной странице форума NinjaTrader (время по Chicago),как не пытался настраивать все равно спешат! как настроить правильно или может ссылку на настройку часов скиньте?по возможности конечно. Зарание спасибо!
 

Alexander

Administrator
Команда форума
Помогли тебе - помоги другим!
#11
Nikolaevich на сайте это информативные часы, для синхронизации NinjaTrader 7 используйте SymmTime 4.10.
Ниже как пример.
Найдите свой часовой пояс в главном окне программы.



и период обновления (Sync Options).

 

Nikolaevich

Well-Known Member
NinjaTrader
#12
Спасибо ! ::smile24.gif:: Всё настроил ,работают ! Вас благодорю ,подскажите так же с вопросом о времени : теперь, я так понимаю из публикаций на форуме, нужно скачать пакет обновлений часовых поясов для Windows ,так как сейчас числится зимнее время!!!
Могли вы подсказать по этому вопросу?
Спасибо .
 

Alexander

Administrator
Команда форума
Помогли тебе - помоги другим!
#13
Nikolaevich сказал(а):
Спасибо ! ::smile24.gif:: Всё настроил ,работают ! Вас благодорю ,подскажите так же с вопросом о времени : теперь, я так понимаю из публикаций на форуме, нужно скачать пакет обновлений часовых поясов для Windows ,так как сейчас числится зимнее время!!!
Могли вы подсказать по этому вопросу?
Спасибо .
Посмотрите на сайте поддержки Microsoft.
Обычно это все вы получаете с обновлениями Виндовс.
 

Nikolaevich

Well-Known Member
NinjaTrader
#14
Да вы правы, ! обновление действительно уже стоит ! в настройках дата ивремя стоит GMT+04:00 ,а время значится зимнее хотя должно быть летнее .В Symmetricom +3:00,хотя может это я не так что то может понимаю.
 

Alexander

Administrator
Команда форума
Помогли тебе - помоги другим!
#15
Nikolaevich
Nikolaevich сказал(а):
В Symmetricom +3:00,хотя может это я не так что то может понимаю.
Клик правой мышкой, создайте дубликат (Duplicate) отредактируйте на 4 и снимите галочку перехода на летнее время (Daylight Saving Time) или новую зону.
Вроде ничего не напутал, настройка для России. ::smile24.gif::

 

meganer

Member
NinjaTrader
#16
от спасибо за эту тему! Как раз возникла проблемка с синхронизацией.. Теперь решена.
 

Alexander

Administrator
Команда форума
Помогли тебе - помоги другим!
#17
meganer сказал(а):
от спасибо за эту тему! Как раз возникла проблемка с синхронизацией.. Теперь решена.
Пожалуйста ::smile24.gif::
Синхронизация важный момент, об этом ранее писали, говорили в вебинарах и постоянно напоминаем об этом.
 

Hardcore

Member
NinjaTrader
#19
Ninjatrader сказал(а):
[h2]Программа для синхронизации времени SymmTime™ [/h2]


Скачать программу здесь.
Я в шоке, требует регистрацию, 30 дней прошло вот теперь не работает. Может что-то другое поставить, перерыл интернет, ничего толкового не нашел (:
 

Alexander

Administrator
Команда форума
Помогли тебе - помоги другим!
#20
Hardcore сказал(а):
Я в шоке, требует регистрацию, 30 дней прошло вот теперь не работает. Может что-то другое поставить, перерыл интернет, ничего толкового не нашел (:
Что за регистрация, скрин сделайте этого окна и какая версия проги.
 
Вверх Снизу