Discussion de l'article "Exposer le code C# à MQL5 à l'aide d'exportations non gérées" - page 4
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
Cela fait un mois que je suggère timidement de faire un wiki-tutoriel sur mql5, rempli par la communauté. Cela résoudrait les problèmes du méga-tutoriel. Les auteurs pourraient même être récompensés par des crédits pour les articles particulièrement visités.
Le moteur wiki est gratuit et disponible.
// Si Metaquotes ne le fait pas, quelqu'un d'autre pourrait le faire sur un site externe. Pour ma part, j'y pense.
Pour les sites externes, il y a un problème - nous avons des droits d'auteur sur notre matériel. Et lorsque l'on crée un wiki externe, presque 100 % du texte sera un copier-coller de nos documents.
On pourrait dire que les wikis publics sont une utopie. L'idée des wikis publics est enterrée dans la pratique depuis longtemps. Regardez tous les efforts que nous consacrons au développement de nos communautés et de notre documentation. C'est beaucoup d'argent et de travail quotidien.
La solution à ce problème réside dans la gestion de la création de contenu avec livraison obligatoire sur le terminal de chaque utilisateur. L'efficacité de la familiarisation de masse passe ainsi d'un taux négligeable de 0,00x% à un taux très réaliste de 3-5%.
Nous augmentons quotidiennement le volume et la connectivité des matériaux MQL5. Le projet de documentation(langage MQL5, aide, multi-langues) occupe une part très importante de notre travail.
Pour les sites externes, il y a un problème - nous avons des droits d'auteur sur nos documents. Et lors de la création d'un wiki externe, presque 100 % du texte sera copié-collé à partir de nos documents.
On peut dire que les wikis publics sont une utopie. L'idée des wikis publics est enterrée dans la pratique depuis longtemps. Regardez tous les efforts que nous consacrons au développement de nos communautés et de notre documentation. C'est beaucoup d'argent et de travail quotidien.
La solution à ce problème réside dans la gestion de la création de contenu avec livraison obligatoire sur le terminal de chaque utilisateur. L'efficacité de la familiarisation de masse passe ainsi d'un taux négligeable de 0,00x% à un taux très réaliste de 3-5%.
Nous augmentons quotidiennement le volume et la connectivité des matériaux MQL5. Le projet de documentation(langage MQL5, aide, multi-langues) occupe une part très importante de notre travail.
Et si nous relancions les concours dans le cadre du tutoriel. Après tout, les nouveaux arrivants demandent un manuel.
Faire un concours en plusieurs étapes, les participants s'inscrivent, soumettent un plan de manuel, 50% sont éliminés, les autres sont payés 20$ chacun, passent à la deuxième étape, etc.
Jusqu'à la fin du marathon, on arrivera à la fin du petit nombre mais avec les meilleurs travaux. Fixez des conditions réelles de création avec une demi-année, divisez-la en étapes et tout se passera bien.
C'est un article très intéressant et utile sur l'interopérabilité générale entre C++ et .NET.
La stratégie la plus simple à mettre en œuvre est "2.4. Classe enveloppante C++/Cli", parce que vous pouvez utiliser l'API .NET dans C++/cli sans aucun problème, de sorte que le seul code de collage est une petite classe directe qui contient "gcroot".
Cette approche a été choisie comme base pour l'implémentation de http://www.nquotes.net - une bibliothèque qui permet la programmation MQL en C#.
Bien que la première version ne supporte que MQL4, elle sera certainement portée à MQL5 dans les versions futures.
Excellent article, très, très pratique. Mais...
J'ai un petit problème avec Visual Studio. Si je crée un nouveau projet en utilisant le modèle et que je le compile, VS n'a aucun problème. Je peux alors enregistrer le nouveau projet (y compris la dll construite) sur le disque, dans un dossier solution. La dll s'exécute correctement. Cependant, si je retourne dans le projet sauvegardé dans VS, il se plaint que le projet "RGiescke.DllExport.targets" n'a pas été trouvé ou n'est pas sur le disque, bien que le fichier soit là.
Je suppose qu'il s'agit d'un problème avec le fichier du projet.....
Très bon tutoriel, j'aime beaucoup.
grand merci.
Bonjour Investeo,
Merci pour cet article qui m'a été très utile, mais il semble que j'ai rencontré un problème en essayant d'utiliser le modèle de RGiesecke.
Lorsque j'ai créé et construit une DLL, j'ai utilisé DLL Export Viewer pour vérifier les noms des fonctions exportées afin de pouvoir les trouver et les appeler via GetProcAddress. Malheureusement, la DLL elle-même se charge bien dans la fonction LoadLibrary, mais GetProcAddress renvoie l'erreur 127 - Function not found. En même temps, DLL Export Viewer montre qu'aucune de mes fonctions n'a été exportée...
Pourriez-vous me dire ce qui ne va pas dans mon code ?
Ensuite, dans l'application Win 32 Console, je fais ce qui suit :
Merci, Art
D'ailleurs, MetaTrader 5 est capable d'importer nativement des fonctions à partir de DLLs écrites en .NET depuis plusieurs versions maintenant
Nous avons spécialement ajouté ce support et il n'est plus nécessaire d'utiliser des solutions de contournement.
Je n'arrive pas à trouver d'informations sur la façon de rendre une fonction .Net impromptue. Ceux qui le peuvent peuvent partager un lien ou un exemple simple.
Activez l'option "Afficher tous les types de fichiers" dans le navigateur de l'éditeur, saisissez votre DLL à l'aide d'une souris et lancez-la dans la fenêtre MQL5 du programme.
Vous serez probablement surpris par le résultat.
Activez l'option "Afficher tous les types de fichiers" dans le navigateur de l'éditeur, saisissez votre DLL à l'aide d'une souris et lancez-la dans la fenêtre MQL5 du programme.
Vous serez probablement surpris par le résultat.
cool.
Si je pouvais insérer toutes les fonctions de la DLL en une seule fois.
Activez l'option "Afficher tous les types de fichiers" dans le navigateur de l'éditeur, saisissez votre DLL à l'aide d'une souris et lancez-la dans la fenêtre MQL5 du programme.
Vous serez probablement surpris par le résultat.
P.S.
Win8 Enterprise 64
MetaEditor build 842
La librairie .Net a une fonction :