Discussion de l'article "Comment exporter des cotations de МetaTrader 5 vers des applications .NET à l'aide des services WCF" - page 3
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
1) Si vous avez un terminal x64, vous devrez très probablement recompiler votre projet C++ en x64. Pour être sûr, vous devriez le faire de cette façon : Visual Studio -> Propriétés (de votre projet C++) -> Gestionnaire de configuration -> et le changer en x64 via la liste déroulante ou <Nouveau...>. Compilez. C'est fait. S'il ne compile pas - vérifiez les références du projet, passez en revue les erreurs de compilation.
2) J'ai eu des problèmes avec l'EA, il ne s'est même pas initialisé. Je ne l'ai remarqué qu'en déconnectant l'EA du graphique, lorsque l'erreur init a échoué (amusant...). L'EA est tombé dans un sommeil infini à l'étape de l'initialisation et c'est à cause de ces lignes (dans QService.mqh) :
QService::EnterCriticalSection()
{
while (GlobalVariableCheck("QService_CriticalSection") > 0)
Sleep(1);
GlobalVariableTemp("QService_CriticalSection");
}
Après débogage et de vaines tentatives pour comprendre ce "Sleep(1)", j'ai remplacé le code par :
QService::EnterCriticalSection()
{
if(!GlobalVariableCheck("QService_CriticalSection"))
GlobalVariableTemp("QService_CriticalSection");
}
P.S : Merci à l'auteur de l'article ! Tout est cool !
Très intéressant... Merci... Mais il existe peut-être aujourd'hui des options plus simples* ???
Bien sûr qu'il y en a - en utilisant la connexion via la capacité intégrée du terminal. Il s'agit d'un canal PIPE.
https://www.mql5.com/ru/docs/files/fileopen
Je viens de poster un nouveau job basé sur cet article : https://www.mql5.com/en/job/34392.
Cela ne fonctionne pas dans mon environnement MT5 64 bits...
Excellent article !
Merci de votre compréhension.
Juste pour savoir, j'ai découvert ce qui s'est passé sur ma machine 64 bits.
Après des heures et des heures de recherche et de débogage, j'ai découvert qu'un assemblage référencé ne se chargeait pas, générant l'exception "System.IO.FileNotFoundException : Impossible de charger le fichier ou l'assembly 'QExport.Service, Version=1.0.5771.13857, Culture=neutral, PublicKeyToken=56996a45dd1e337b'".
Peut-être parce que la dll n'a pas de fichier de configuration, je ne sais pas encore, MT 5 ne savait pas où trouver l'assembly. Il essayait donc de l'obtenir dans le chemin de base (chemin où se trouve metaeditor64.exe). Après avoir changé le répertoire de sortie des projets référencés pour ce chemin, cela a fonctionné comme un charme.
Bonjour Joe,
Est-ce qu'il y a une astuce spéciale pour le faire fonctionner sur x64 ? Je viens de le compiler pour x64, mais la dll plante avec des erreurs bizarres au démarrage.
Sabe, voir ma réponse ci-dessous.
[]'s
Bonjour,
J'ai testé ton fichier prêt à l'emploi. Tout semble correct dans MT5. Mais les données n'arrivent pas dans WinClient.
Je me demande s'il existe un projet similaire avec préchargement des barres historiques ? J'aimerais ajouter tout cela à Lightweight-Chart et utiliser le graphique de manière pratique.