Services, nouvelles fonctionnalités dans l'architecture de MT5, les funérailles de MT4 ne sont pas loin. - page 7

 
Et vous n'avez jamais écrit un jeu vidéo multithread en Visual C++, où la synchronisation des threads est bien sûr nécessaire.
 
Alexey Kozitsyn:
Même OnCalculate() saute des ticks.
Ce n'est pas le cas.
 
Petros Shatakhtsyan:
Le problème est résolu en exécutant l'indicateur sur chaque instrument et en obtenant un événement "tick" de celui-ci. Cherchez sur le site web, il en a été question dès les premiers jours de MT5.
 
Andrey Khatimlianskii:
Ce n'est pas le cas.
Si nous parlons des ticks COPY_TICKS_INFO, autant que je me souvienne, c'est le cas. Si vous exécutez OnCalculate() et OnBookEvent() en parallèle, et demandez SymbolInfoTick(), OnBookEvent() montrera plus de ticks que OnCalculate().
 
Andrey Khatimlianskii:
Le problème est résolu en exécutant l'indicateur sur chaque instrument et en obtenant l'événement "tick" de celui-ci. Cherchez sur le site web, il en a été question dès les premiers jours de MT5.


Est-ce la solution ? Le conseiller expert est installé où vous voulez et ils travaillent tous en parallèle.

Si elle est définie sur différents graphiques et fonctionne indépendamment les uns des autres, cela ne signifie pas que l'EA est multidevise.

La question est de savoir comment l'installer sur un seul graphique et travailler avec les paires qui sont dans la vue d'ensemble du marché. Et les données tick peuvent être obtenues directement à partir d'eux plus rapidement et plus efficacement que le Timer ou le ChartEvent.

 
Petros Shatakhtsyan:


Est-ce une solution ? Le conseiller expert est installé à n'importe quel endroit et ils travaillent tous en parallèle.

Si elle est définie sur différents graphiques et fonctionne indépendamment les uns des autres, cela ne signifie pas que l'EA est multidevise.

La question est de savoir comment l'installer sur un seul graphique et travailler avec les paires qui sont dans la vue d'ensemble du marché. Et les données tick peuvent être obtenues directement à partir d'eux plus rapidement et plus efficacement que Timer ou ChartEvent.

Les indicateurs peuvent fonctionner automatiquement à partir d'un EA qui a besoin de ticks. J'ai suggéré - cherchez, il y a des solutions toutes faites.

La vitesse des événements graphiques est suffisante, vous ne pouvez même pas mesurer le délai.

 
Alexey Kozitsyn:
Si nous parlons des ticks COPY_TICKS_INFO, autant que je me souvienne, c'est ainsi. Si vous exécutez OnCalculate() et OnBookEvent() en parallèle, et demandez SymbolInfoTick(), OnBookEvent() montrera plus de ticks que OnCalculate().

Il n'y a pas de lien vers une discussion, un rapport de bogue ou autre chose de ce genre ? Ou juste le sentiment qu'il y en avait un, mais que vous ne l'avez pas vérifié maintenant ?

Autant que je me souvienne, les ticks collectés dans OnCalculate correspondaient à ceux demandés via CopyTicks.

 
Vladimir Pastushak:

Mes amis, j'essaie de comprendre ce qu'est un flux de dattes et je n'y arrive pas, si vous êtes si gentils et bien informés, expliquez à un vieil homme ce que c'est.

L'alimentation des dattes ?

A quoi sert-il ?


Rinat a expliqué, comme l'automne dernier. C'est le type de programmes qui fonctionnent sans référence au calendrier. Comme les services dans Windows. C'est comme ça que je m'en souviens.
 
Andrey Khatimlianskii:

Les indicateurs peuvent être exécutés automatiquement à partir d'un EA qui a besoin de ticks. J'ai suggéré - cherchez, il y a des solutions toutes faites.

Sur les multi-cœurs, les EAs seront utiles. Bien sûr, si vous êtes assis sur les muwings, les services ne sont pas nécessaires.
 
Alexey Kozitsyn:
Il n'y a rien à sauver ici. Vous ne pouvez pas traiter absolument tous les tics.

Absolument tout le monde et vous n'en avez pas besoin, il y a des inutiles parmi eux. Pour deux raisons au moins, l'heure du serveur estampillée sur le tick peut être moindre sur le tick suivant que sur le précédent :

1. La route de passage d'un paquet avec cette coche s'est avérée être considérablement plus longue que d'habitude.

2. Le serveur a remonté le temps par les protocoles de synchronisation habituels, NTP ou même SNTP(précision à la seconde), sans moyens de lissage particuliers.

Dans les deux cas, les ticks avec l'heure précédente doivent être ignorés. En principe, ce filtrage devrait être effectué par le terminal lui-même, mais je ne sais pas si c'est le cas. Je l'ai vérifié seulement en 2007, il n'y avait pas de tel filtrage.


À propos des flux de données. Depuis que j'ai rencontré ce terme, j'avais le sentiment que ce mot désignait une source de données (citations). Littéralement "remplisseur de données". Lorsque nous parlons d'instruments personnalisés, je comprends que nous pouvons calculer les cotations pour, par exemple, MXNRUB cotées par personne en utilisant les taux connus MXNUSD et USDRUB déchargés du terminal dans le format .csv et légaliser de nouvelles cotations pour le terminal en spécifiant le fichier .csv comme nouveau flux de données. Peut-être y aura-t-il une solution plus élégante, sans téléchargement dans des fichiers, par des opérations en ligne */ sur des ticks (MXNRUB = MXNUSD * USDRUB). Et ce serait une nouvelle source de données.

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