![MQL5 - Langage des stratégies de trading intégré au terminal client MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Les seules et uniques GlobalVariables et fichiers pour l'échange de données entre EAs, indicateurs et scripts sont les suivants
Les 4 points ci-dessus sont des "trucs" locaux pour le manque de poisson. Les 4 points ci-dessus utilisent des mécanismes qui ne sont pas conçus pour échanger des données arbitraires, et encore moins des tableaux de données.
On pourrait croire que GlobalVariables a été conçu spécialement pour la messagerie. C'est une chose stupide à dire. En fait, il s'agit du même hack que pour n'importe quel autre article.
...En gros,un cycle complet d'écriture/lecture d'une ressource se déroule à un rythme de 4 millions de ticks par seconde.
La lecture/écriture de la ressource est très rapide. Mais dans quelle mesure cela convient-il à une telle transmission ?
1. Ligne A. Événement de chronométrage. Recueillir toutes les valeurs de paramètres qui ont été modifiées lors de l'événement et les traduire en une chaîne de caractères. Traduit la chaîne en Char, écrit dans la ressource. Envoyez un message au côté B.
2. Partie B. L'événement OnChartEvent(), reçoit un signal de message, ouvre la ressource, la lit, remplit le noyau de paramètres avec de nouvelles valeurs, redessine les éléments requis.
Et si cet événement est exécuté en continu, à la fréquence de la minuterie ?
La question est de savoir comment utiliser au mieux les ressources pour cela, s'il existe d'autres options.
//---------------------------------------------------------------------------------------------------------------------
Et si cet événement est exécuté en continu, à la fréquence de la minuterie ?
La question est de savoir comment utiliser au mieux les ressources pour cela, s'il existe d'autres options.
Forum sur le trading, les systèmes de trading automatisés et les tests de stratégie
Échange de données entre programmes
fxsaber, 2018.11.21 13:12
J'ai probablement beaucoup de temps pour décrire de manière aussi détaillée les différentes possibilités d'interaction. Malheureusement, je ne possède pas une telle ressource.
Voici un article sur le sujet où une interaction complète a lieu. Chaque bâtiment est construit à partir de briques et pour des tâches spécifiques. Toutes les briques possibles sont indiquées au début du fil. Le reste est du ressort du constructeur.
L'article ne teste pas la communication de deux programmes via des ressources, dont l'une se trouve dans le testeur.
Quel est le problème avec le syndicat ? S'il vous plaît, un exemple :
L'article ne teste pas la communication de deux programmes via des ressources, dont l'une se trouve dans le testeur.
Lisez la phrase sur les briques.
...
Cet article tire un canon sur des moineaux. Comme de nombreux articles. Je préfère résoudre le problème moi-même plutôt que de comprendre l'article.
Tout peut être fait dix fois plus facilement et plus clairement. Mais l'article est beaucoup plus facile...
Et à quoi sert l'article si vous dites que vous n'avez pas vérifié le fonctionnement des ressources dans le testeur ?
Et à quoi sert cet article si vous dites que vous n'avez pas vérifié le fonctionnement des ressources dans le testeur ?
Je me suis retiré de la discussion.
Il y a quelque chose qui cloche avec cette solution. Peut-être que je fais quelque chose de mal.
Pour faire court :
La fonction StringToCharArray() prend UNIQUEMENT un tableau de caractères.
La fonction ResourceCreate() accepte UNIQUEMENT un tableau d'uint.
Par conséquent, il est nécessaire de réécrire de façon intermédiaire le contenu du tableau char (rempli avec la chaîne convertie), dans le tableau uint.
Indicateur sur un graphique normal :