Services , новый функциона в архитеркуте MT5, похороны MT4 не за горой. - страница 7

 
А вы никогда не написали на Visual C++ многопоточные компьютерные игры, где конечно требуется синхронизация потоков.
 
Alexey Kozitsyn:
Даже OnCalculate() пропускает тики.
Это не так.
 
Petros Shatakhtsyan:
Вопрос решается запуском индикатора на каждом инструменте и получением от него события "тик". Поищите по сайту, обсуждалось еще на заре MT5.
 
Andrey Khatimlianskii:
Это не так.
Если говорить про тики COPY_TICKS_INFO, насколько я помню, так. Если запустить параллельно OnCalculate() и OnBookEvent(), и запрашивать SymbolInfoTick(), то OnBookEvent() покажет больше тиков, чем OnCalculate().
 
Andrey Khatimlianskii:
Вопрос решается запуском индикатора на каждом инструменте и получением от него события "тик". Поищите по сайту, обсуждалось еще на заре MT5.


А разве это решение ?  Советник и так устанавливается туда, куда угодно и все они работают параллельно.

Если он устанавливается на разных графиках и работают независимо друг от друга, то это не означает что советник мультивалютный.

Вопрос в том что его установить на одном графике, а работать с теми парами, которые находятся в обзоре рынка. А тиковые данные получить прямо от них более быстро и эффективно, чем Timer или ChartEvent.

 
Petros Shatakhtsyan:


А разве это решение ?  Советник и так устанавливается туда, куда угодно и все они работают параллельно.

Если он устанавливается на разных графиках и работают независимо друг от друга, то это не означает что советник мультивалютный.

Вопрос в том что его установить на одном графике, а работать с теми парами, которые находятся в обзоре рынка. А тиковые данные получить прямо от них более быстро и эффективно, чем Timer или ChartEvent.

Индикаторы могут запускаться автоматом из советника, которому нужны тики. Я же предложил - поищите, есть готовые решения.

Скорости чарт-ивентов хватит с головой, вы задержку даже замерить не сможете.

 
Alexey Kozitsyn:
Если говорить про тики COPY_TICKS_INFO, насколько я помню, так. Если запустить параллельно OnCalculate() и OnBookEvent(), и запрашивать SymbolInfoTick(), то OnBookEvent() покажет больше тиков, чем OnCalculate().

Не осталось ссылки на обсуждение, баг-репорт или что-то подобное? Или только ощущение, что такое было, но сейчас не проверяли?

Насколько помню я, собранные в OnCalculate тики совпадали с запрошенными через КопиТикс.

 
Vladimir Pastushak:

Друзья, я вот напрягаюсь - напрягаюсь что бы понять что такое дата фид и никак не могу понять, будте так любезны люди знающие обьясните мне старику что такое 

Дата фид ?

Чем он полезен ?


Ринат объяснял, вроде прошлой осенью. Это типы програм, которые будут работать без привязки к графику. Типа сервисов в Windows. Я то я так запомнил.
 
Andrey Khatimlianskii:

Индикаторы могут запускаться автоматом из советника, которому нужны тики. Я же предложил - поищите, есть готовые решения.

На мнгоядерниках будут полезны. Конечно если сидите на мувингах, сервисы не нужныы
 
Alexey Kozitsyn:
Дак тут ничто не спасет. Абсолютно каждый тик не обработать.

Абсолютно каждый и не нужно, среди них есть лишние. Хотя бы по двум причинам серверное время, проставленное сервером тику, оказаться может меньше на следующем тике, чем на предыдущем:

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

2. На сервере подвинули время назад с помощью обычных протоколов синхронизации, NTP или даже SNTP (секундная точность), без специальных средства сглаживания.

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


О датафидах. Сколько встречал этот термин, сложилось ощущение, что этим словом обозначают источник данных (котировок). Буквально "заполнитель данных". Когда речь идет о собственных инструментах, понимаю так, что мы сможем вычислять котировки, например, никем не котируемого MXNRUB по известным курсам MXNUSD и USDRUB, выгруженным из терминала в .csv формат, и легализовать для терминала новые котировки, указав файл .csv как новый датафид. Возможно, будет реализовано и более изящное решение, без выгрузки в файлы, путем онлайновых операций */ над тиками (MXNRUB =  MXNUSD * USDRUB). И это будет новый датафид.

SNTP — Википедия
  • ru.wikipedia.org
SNTP Название: Уровень (по модели OSI): Семейство: Порт/ID: Назначение протокола: Спецификация: SNTP (англ.  ) — протокол синхронизации времени по компьютерной сети. Является упрощённой реализацией протокола NTP. Используется во встраиваемых системах и устройствах, не требующих высокой точности, а также в пользовательских программах...
Причина обращения: