DDE и время

 

Здравствуйте.

DDE-запросы (в Excel) вида:

запрос TIME: = MT4|TIME!USDCHF результат: 21.05.02 9:52
запрос QUOTE: = MT4|QUOTE!USDCHF результат: 21.05.02 9:52 1.5773 1.5778 1.5776

Дают время с точночть до минуты. А как получить с точностью до секунды?

 

Млин! Я что-то неприличное спросил? Все молчат, как рыба об лед...

 

Стандартным способом никак не получить. Дело в том, что ответ от DDE-сервера МТ4 приходит в строковом формате. Это значит, что то, что ты видишь в ячейке Excel, то и пришло от сервера. Секунды сюда никак не приписать. Получить можно правой рукой через задницу за левое ухо. Проще говоря, необходимо написать свой DDE-клиент и DDE-сервер в одном флаконе, который бы устанавливал горячее соединение с DDE-сервером МТ4, засекал точное время, когдя приходят новые котиры, и отдавал бы Excel'ю строчку в нужном формате. Но в этом случае реальное время, когда изменилась цена, с тем временем, которое отдаст твой самописный DDE-сервер, может не совпадать. Разница, конечно, будет составлять милисекунды, но иногда этого будет достаточно, чтоб время отличалось не секунду.

Вот как-то так. Надеюсь, что все понятно объяснил. Удачи!

С уважением,

Дмитрий

 
4xTrim:

Стандартным способом никак не получить. Дело в том, что ответ от DDE-сервера МТ4 приходит в строковом формате. Это значит, что то, что ты видишь в ячейке Excel, то и пришло от сервера. Секунды сюда никак не приписать. Получить можно правой рукой через задницу за левое ухо. Проще говоря, необходимо написать свой DDE-клиент и DDE-сервер в одном флаконе, который бы устанавливал горячее соединение с DDE-сервером МТ4, засекал точное время, когдя приходят новые котиры, и отдавал бы Excel'ю строчку в нужном формате. Но в этом случае реальное время, когда изменилась цена, с тем временем, которое отдаст твой самописный DDE-сервер, может не совпадать. Разница, конечно, будет составлять милисекунды, но иногда этого будет достаточно, чтоб время отличалось не секунду.

Вот как-то так. Надеюсь, что все понятно объяснил. Удачи!

С уважением,

Дмитрий

Спасибо, Дмитрий. Ясен пень, что можно слепить поделку. Но интересен не "доморощенный", не прикрученный тайм-штемп, а тот, который сервер ДЦ выставил к данной котировке. Нужен он, ну... в силу множества причин.

Не ясно вот что - точность, что мы видим на экране, задается сервером ДЦ или это "замечательная" особенность самого DDE-канала? Т.е. вопрос адресовать к разработчикам (последние мужественно молчат) или поставщикам котировок? Я, по простоте души, думал, что не попала некая формулировка DDE-запроса в хелп, вот и живем без секундов. А прикрутить-то я могу и системное время...

 

Точность, что мы видим на экране, задается DDE-сервером МТ4. Т.е. это реализация DDE-сервера такая. Это, конечно, мое предположение, но для меня оно больше похоже на правду. Так что вопрос, скорее всего, к разработчикам МТ4.

С уважением,

Дмитрий

 
4xTrim:

Точность, что мы видим на экране, задается DDE-сервером МТ4. Т.е. это реализация DDE-сервера такая. Это, конечно, мое предположение, но для меня оно больше похоже на правду. Так что вопрос, скорее всего, к разработчикам МТ4.

Склонен думать так же.

Уважаемые разработчики, ваше мнение, плз.

 

Млин! И здесь молчок.

Если все в отпуске - повесьте объяву.

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