Services. Sont-ils déjà opérationnels ? - page 16

 
Slava :

Avec GlobalVariable Terminal, vous pouvez transférer jusqu'à 8 octets d'informations dans une variable.

Pour différencier les accès de différents programmes MQL5, vous pouvez utiliser GlobalVariableSetOnCondition

Que faire lorsque vous avez 1 Go de données à transférer ?
 
Alain Verleyen:
Quoi, quand vous avez 1 Go de données à transférer ?

Où va cette somme ?

Vous pouvez utiliser la tuyauterie pour transférer 1 giga.

 
Slava :

Où va tout ça ?

Vous pouvez utiliser la tuyauterie pour transférer 1 giga.

Je ne peux pas expliquer ici pourquoi. Si vous le souhaitez, je peux vous envoyer un message privé expliquant mon problème.

Je sais qu'il existe une solution utilisant une DLL ou un outil tiers (le tuyau nécessite un serveur avec des canaux), mais je voudrais seulement une solution MT5 / mql5.

 
Alain Verleyen:

Je souhaite uniquement une solution MT5 / mql5.

Ressources.

 
fxsaber :

Ressources.

Oui. Fonctionne-t-il avec d'énormes quantités de données (1 Go ou plus) ? Je ne l'ai pas encore essayé.
 
Alain Verleyen:
Oui. Fonctionne-t-il avec d'énormes quantités de données (1 Go ou plus) ? Je ne l'ai pas encore essayé.

Lorsqu'il existe un véritable défi, il est logique d'essayer de le résoudre en premier.

 
fxsaber :

Lorsqu'il existe un véritable défi, il est logique d'essayer de le résoudre en premier.

Je ne ferais jamais ça, petit rigolo.
 
Alain Verleyen:
Je ne ferais jamais ça, petit rigolo.

Pourquoi pas un transfert de 100 Go ? Il s'agit d'une question rhétorique.

Le code de vérification compte moins d'une douzaine de lignes.

 
Slava :

Où est-ce que ça va ?

La tuyauterie peut être utilisée pour transférer 1 giga.

En fait, je peux l'expliquer ici. Je travaille sur un système avec des ticks sur l'historique (plusieurs années). Nous travaillons sur les barres, puis nous devons analyser les ticks sur certaines barres filtrées.

Lorsque j'utilise CopyTicks / CopyTicksRange barre par barre, c'est très lent, donc je dois charger de grandes quantités de données en mémoire (comme 1GB) et ensuite c'est beaucoup plus rapide (au moins 5 fois plus rapide).

Maintenant, même le chargement de gros morceaux de données (ticks) en mémoire prend du temps si vous devez le faire à chaque démarrage, donc j'ai commencé à le faire avec un service pour garder les données en mémoire. Et voilà de nouveaux problèmes.

Idéalement, obtenir des ticks pour une barre (ou plusieurs barres) en utilisant CopyTicks / CopyTicksRange ne devrait pas être aussi lent, mais c'est probablement inévitable.

J'espère que le transfert est bon.

 
fxsaber :

Pourquoi pas un transfert de 100 Go ? Il s'agit d'une question rhétorique.

Le code de vérification compte moins d'une douzaine de lignes.

Ne répondez pas si vous n'avez rien à dire.

Je me fiche d'une question rhétorique, j'ai une question pratique à résoudre.