Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 337
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
Des béquilles, imho.
Bonjour !
Pouvez-vous nous dire comment fonctionne une bibliothèque en tant qu'ensemble de fonctions utilisées ?
C'est-à-dire qu'en appelant les fonctions d'une bibliothèque dans deux EA, accrochés à des paires différentes - chaque EA sera chargé et initialisé sa propre instance de bibliothèque ?
Ou s'attendre à ce que les mêmes variables (internes) de la bibliothèque soient utilisées par la concurrence ?
Simplement, j'ai intégré certaines fonctions dans la bibliothèque (*.mqh que je ne veux pas), et ces fonctions utilisent des variables/rays déclarés dans la bibliothèque pour stocker les données réelles . Ces données sont communes à tous les symboles, mais peuvent être modifiées à des moments aléatoires par l'un des EA actifs. Lorsqu'un seul EA fonctionne - tout va bien, mais lorsque deux EA fonctionnent - des fissures incompréhensibles (données désordonnées) apparaissent, et je soupçonne que l'accès concurrentiel aux variables est tordu.
Bonjour !
Pouvez-vous nous dire comment fonctionne une bibliothèque en tant qu'ensemble de fonctions utilisées ?
C'est-à-dire qu'en appelant les fonctions d'une bibliothèque dans deux EA, accrochés à des paires différentes - chaque EA sera chargé et initialisé sa propre instance de bibliothèque ?
Ou s'attendre à ce que les mêmes variables (internes) de la bibliothèque soient utilisées par la concurrence ?
Simplement, j'ai intégré certaines fonctions dans la bibliothèque (*.mqh que je ne veux pas), et ces fonctions utilisent des variables/rays déclarés dans la bibliothèque pour stocker les données réelles . Ces données sont communes à tous les symboles, mais peuvent être modifiées à des moments aléatoires par l'un des EA actifs. Lorsqu'un seul EA fonctionne, tout va bien, mais lorsque deux EA fonctionnent, des données bizarres (désordonnées) sortent, et je soupçonne que l'accès concurrentiel aux variables est tordu.
Comme vous le savez, la ligne inférieure du terminal contient les informations suivantes, par exemple
Solde : 211721.72 Fonds : 101193.75 Collatéral : 55595.98 Libre : 45481.77 Niveau : 181.81% -110643, 34 (environ)
Cependant, sur l'un de mes terminaux, sur un compte en cents réels, seules les informations suivantes sont affichées, bien qu'il y ait des positions ouvertes :
Solde : 211721,72 Fonds : 101193,75 -110643,34
Quelle peut en être la raison ? Merci de votre attention.
Dans le testeur, MarketInfo() ne fonctionne pas, et les Bid et Ask sont lents et déformés. Par conséquent, sur les conseils de Xrust'a, je les récupère à partir de iClose(NULL,0,0) :
J'ai déjà écrit tant de choses, je les ai passées au testeur pour m'assurer qu'il n'y avait pas d'erreurs de logique, et... Ce n'est que maintenant que je découvre que MarketInfp() ne fonctionne pas dans mon testeur.
Qu'est-ce que je vérifie si soigneusement alors ? Comment cela fonctionne-t-il pour moi ?
Shaitan ! !!
Tut.
Merci.
Comment cela fonctionne-t-il dans le cas d'un EA qui plane sur deux paires ? C'est-à-dire que le module appelant est un (expert.ex4) ou deux (deux instances en cours d'exécution) ?
Merci.
Comment cela fonctionne-t-il dans le cas d'un EA qui plane sur deux paires ? C'est-à-dire que le module appelant est un (expert.ex4) ou deux (deux instances en cours d'exécution) ?
Chaque EA (quel que soit le nombre d'entre elles accrochées aux graphiques) possède son propre module d'appel (fichier EA).
Pour dissiper toute confusion, j'ai écrit un test EA et une bibliothèque.
Le Conseiller Expert sort simplement à Comment la valeur actuelle de la variable de la bibliothèque, plus pour EURUSD il incrémente la valeur de la variable. La réception de la variable et son incrémentation sont mises en œuvre par les fonctions de la bibliothèque.
Par conséquent, le commentaire sur l'EURUSD montre la valeur changeante, alors que sur l'autre symbole il ne le fait pas.
Il est donc correct de dire que pour chaque instance (et non un fichier) de l'EA, sa propre instance de EX4-library est chargée.
Des béquilles, imho.