Discussion sur "Comment écrire une DLL pour MQL5 et échanger des données en 10 minutes". - page 11

 
Seric29:

Oui, je l'ai vu aussi sans, mais ça ne marche pas pour moi, pourquoi ne pas me montrer comment le reproduire ?

https://github.com/Roffild/RoffildLibrary/blob/master/Libraries/Roffild/PythonDLL/public.h

https://github.com/Roffild/RoffildLibrary/blob/c38ba6babd0935704fd30abeb58b953e33ede3e9/Include/Roffild/PythonDLL.mqh#L16

J'ai utilisé cette approche afin de ne pas dupliquer le code dans différents fichiers.

 
Roffild:

Ce n'est pas quelque chose que je peux faire.

 
Quelles bibliothèques dois-je inclure en c++ pour passer des dates et des chaînes de caractères à la dll, et comment puis-je travailler avec les couleurs en c++ ?
 
Seric29:
Quelles bibliothèques dois-je inclure en c++ pour passer des dates et des chaînes de caractères à la dll, et comment puis-je travailler avec les couleurs en c++ ?

Aucun n'est nécessaire. __time64_t (datetime) et wchar_t (string) sont des types standard. L'analogue de la couleur est COLORREF.

 
Ihor Herasko:

Aucun n'est nécessaire. __time64_t (datetime) et wchar_t (string) sont des types standard. L'analogue de la couleur est COLORREF.

Ne pouvez-vous pas me montrer comment cette variable est déclarée et comment ses valeurs se présentent en utilisant vos recommandations ? Pour les dates, ce doit être__time32_t car j'utilise 32. Montrez-moi comment déclarer__time32_t, comment déclarer une variable stockant la date et à quoi cela ressemble et la même chose pour les couleurs. Avec les cordes, je fais ceci

#include<string>

en utilisant std::string ;

chaîne l="123456 " ;

Pour les dates conseillé #include<chrono>, mais il ne fonctionne pas, mais sur les couleurs ont été donnés des conseils encore plus compliqué même écrire sur elle ne sera pas.

 
Oh, ouais ? ! ... C'est beaucoup plus dur qu'une bûche. Cela fait trois jours que je tripote la même chose, que je change tout, que je la renomme, que je la réorganise, que je la déforme de telle sorte que même les punaises de mon espace cérébral ont cessé d'haleter et se sont résignées à la futilité de leur entreprise, qu'elles ont craché sur tout et qu'elles sont allées chez mes voisins, prenant congé, étant arrivées à la conclusion sans équivoque qu'il existe quelque chose de plus cool que leur obscurantisme éphémère : jouant du psaltérion, dansant sur la balalaïka avec des tambourins et des timbales en si bémol majeur ; il s'agit clairement d'une sorte de chant extraterrestre... ? ! Et c'est parce que je n'ai pas coché la case dans lesparamètres du terminal : Outils/Paramètres/Advices/Autoriser l'importation de DLL. Oh, mec... . Et pour couronner le tout, je n'arrive pas à comprendre : peut-être ai-je fait tout correctement la plupart du temps... Je pourrais répéter tout le processus, mais je ne me souviens pas de ce que j'ai fait et comment je l'ai fait... . C'est encore pire... . Ici, tout fonctionne et fonctionne sur différents studios. La seule chose que je ne comprends pas est le lien avec le langage "C" et l'interaction avec les structures et les classes, c'est-à-dire qu'on ne pourra pas les y mettre, mais il m'est venu à l'esprit d'essayer d'écrire "CPP" au lieu de "C" et d'essayer... Je suppose que je vais devoir tout écrire quelque part en cours de route. Bonne leçon. Bonne chance à tous. J'ai essayé, ça ne fonctionne pas avec ce "CPP", mais l'interaction de la classe dans la DLL elle-même fait que tout fonctionne.
Настройки платформы - Начало работы - MetaTrader 5
Настройки платформы - Начало работы - MetaTrader 5
  • www.metatrader5.com
Торговая платформа обладает множеством настроек, что позволяет организовать работу в ней так, как это удобно именно вам. Выполните команду " Настройки" меню "Сервис" или нажмите "Ctrl+O". Графики — общая настройка отображения ценовых графиков, а также настройка параметров управления объектами: выделение объектов после их создания, немедленная...
 
P.S : Je supprime les fichiers erronés en une fois et ne me souviens même pas de presque toutes les erreurs, (C'est quand je vais faire une DLL moi-même), mais pas toujours, pour une raison quelconque ?!.... Et il n'y a aucune chance que je puisse l'attraper. Il est lié à certains attributs et à Windows Kits avec des informations de la bibliothèque winnt.h bien sûr peut être trouvé à la volée si vous traduisez votre navigateur à la recherche en anglais, mais hier, j'ai essayé une petite recherche et quelque chose sans succès. Je crois personnellement que quelque part dans les paramètres du projet pour tricher, ou faire quelque chose d'aléatoire, et puis linker devient fou avec ses mouvements. En général, cette erreur pour moi est encore au bord de l'obscurité ..., cependant, il ya une option, maintenant rapidement faire mura qu'il produirait cette erreur et de regarder votre code et d'analyser ... . Il est fort probable que je le fasse. Mais pas tout de suite, mais progressivement, sinon mon cerveau va s'épuiser complètement et il ne restera plus grand-chose. Bonne chance à tous. P.S. : J'oublie Microsoft Docs, et il a tout, maintenant j'ai jeté un coup d'œil et déjà trouvé un intéressant, il dit que quelque part je n'ai pas ajouté l'expression #define. Oh, j'ai oublié Docs. J'emmerde ce google... .
 
Comment implémenter les variables datetame et colour dans la bibliothèque dll C++ ? Comment appeler la fonction Print() dans une dll ; par quoi la remplacer, car c++ n'en dispose pas ?
 
Ihor Herasko:

Aucun n'est nécessaire. __time64_t (datetime) et wchar_t (string) sont des types standard. L'analogue de la couleur est COLORREF.


Alors, voyons comment ça marche, d'accord ?

 
Seric29:
Comment implémenter les variables de type datetame et color dans la bibliothèque dll c++ ? Comment appeler la fonction Print() dans une dll ; par quoi la remplacer, car c++ n'en dispose pas ?

Print() est une fonction disponible uniquement dans mql4 et mql5. Il ne peut pas être remplacé directement, car son périphérique de sortie est un fichier journal du terminal. Mais il peut être appelé indirectement, si vous envoyez une commande correspondante à l'Expert Advisor (indicateur, script), auquel la dll est connectée. Cela dépend de la manière dont l'échange de données entre dll et le conseiller expert est mis en œuvre.

De même, si une tâche consiste à imprimer quelque chose quelque part, pas nécessairement dans le journal du terminal, il existe de nombreuses possibilités pour cela : fichier, imprimante, affichage à la fin.