Discussion de l'article "Comment exporter des cotations de МetaTrader 5 vers des applications .NET à l'aide des services WCF" - page 2

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
j'ai aussi eu un crash dans le testeur de stratégie. en mode normal, c'est bon.
est-ce que quelqu'un a déjà trouvé une solution ?
Excellent travail Alexander. Je n'avais jamais codé en C# auparavant et je cherchais à faire passer les cotations MT5 dans Excel sans utiliser le serveur DDE.
J'ai finalement réussi à le faire en modifiant votre code avec MT5 32 bits. Prochaine étape : x64.
SM
TradePlatform.NET
Je suis en train d'essayer d'implémenter mon propre wrapper c++ pour ma dll c# pour l' interopérabilité mql5. J'ai un problème avec l'ajout de la référence de la dll c# à ma bibliothèque c++. Pourriez-vous clarifier la phrase suivante "...ajouter le support CLR, System.dll, QExport.d ll, Qexport.Service.dll à la référence de construction". J'ai pu enregistrer ma dll avec l'utilitaire regasm, l'ajouter au gac et obtenir un fichier de définition de type .tlb. Mon problème est que je ne trouve aucune instruction #import ou #include dans le code source que vous m'avez fourni. Votre projet semble faire référence à vos bibliothèques dll d'une manière mystérieuse. Quelqu'un pourrait-il m'expliquer comment ajouter une référence à une dll .NET dans une bibliothèque C++ ? Même s'il ne s'agit pas d'une question purement mql5, elle est directement liée à l'article. J'ai fait des recherches sur le sujet pendant un certain temps maintenant et je n'arrive toujours pas à comprendre comment une bibliothèque c++ peut avoir des dll .NET dans ses "dépendances externes" sans aucune instruction #import. J'ai même pensé à convertir le .dll en .lib et à y ajouter une référence, mais avant de faire quoi que ce soit, j'ai décidé de demander l'avis d'un spécialiste COM. Je tourne sous Windows 8 Ultimate x64 et je compile mes dll c# avec VS2012 Ultimate. Merci d'aider le novice.
Très intéressant... Merci... Mais il y a peut-être aujourd'hui des moyens plus simples* ???
L'article est bon pour parler de WCF à ceux qui ne sont pas familiers avec cette technologie. En passant, j'ai vérifié les performances de WCF via Internet sur la distance Peter - Odessa, j'ai obtenu une vitesse décente d'environ 14000 transactions bilatérales/sec avec des paquets de 1kB. Personnellement, j'aime cette technologie parce qu'elle est orientée objet, c'est-à-dire qu'elle ne transmet pas un flux d'octets (même si c'est possible), mais des instances de classes, c'est-à-dire que le destinataire n'a pas besoin de décoder ce flux.
En ce qui concerne les citations, il est plus facile d'utiliser la cartographie de la mémoire. Nous commençons une tâche séparée avec un mutex dans une application .NET, MQL4 charge les données en mémoire et réinitialise le mutex, après quoi l'application lit les données. C'est plus simple et plus rapide, et vous n'avez pas besoin d'une DLL. Il est seulement nécessaire d'ajouter des DLL système dans MQL4 pour prendre en charge le mappage et les mutex, il y a eu un article récent sur ce sujet.
J'ai réussi à faire fonctionner l'EA avec MT5 32bit et, après avoir recomplété pour x64, j'ai réussi à le faire fonctionner avec MT5 64bit.... cependant, lorsque j'essaie d'exécuter l'EA dans le testeur de stratégie, ils se plantent tous les deux de manière spectaculaire.
J'aimerais l'utiliser pour exporter des données de prix et d'indicateurs dans une table de base de données afin d'effectuer des analyses avec un logiciel externe...... Vous avez une idée de la cause de ce plantage ? C'est la solution la plus proche que j'ai trouvée jusqu'à présent.
Joe
Bonjour Joe,
Y a-t-il une astuce spéciale pour le faire fonctionner sur x64 ? Je viens de le compiler pour x64, mais la dll se plante avec des erreurs bizarres au démarrage.