Remplacement des fonctions des fichiers MT4. - page 4

 
tworkman:
De plus, je ne suis pas un expert, mais d'après le peu que j'ai appris sur Winsock, les fonctions d'écoute sont des fonctions de blocage, ce qui signifie (je pense) que l'application (mt4) doit être multi-filière. Il faudrait qu'elle fasse des allers-retours entre l'écoute d'un message entrant et son propre travail. pour ce que ça vaut...

mt4 est déjà multi-filière. Chaque graphique a son propre thread. Afin d'utiliser les fonctions winsock bloquantes, on voudrait attacher un script à un graphique avec une boucle continue. Le script peut alors fixer/défixer certaines variables globales, qui d'autre part peuvent être utilisées par n'importe quel EA.

 
 

MT4 vers le serveur SQL - comment transférer les données ?

Beluck:
Bien joué , mais les fonctions de fichier (ainsi que beaucoup d'autres) peuvent être utilisées directement à partir des dlls API de Windows.

exemple de fonction de copie de fichier import :

#importation de "Kernel32.dll".

bool CopyFileA (string source_file, string destination_file, bool if_exist) ;

Avec les DLLs vous pouvez faire beaucoup de choses, comme l'accès aux bases de données SQL et ainsi de suite.

Obtenir les relevés de transactions et les cotations de MT4 dans une base de données SQL serait génial.

Mais je ne sais pas comment faire pour que cela fonctionne.

Quelqu'un pourrait-il m'expliquer, étape par étape, avec des exemples de code, comment transférer automatiquement ces données dans un serveur SQL ?

 

codersguru,

Pensez-vous toujours que ces fonctions basées sur les sockets soient une bonne idée ? J'aimerais savoir si vous vous êtes penché sur la question ? Faites-moi savoir si vous n'avez pas eu le temps ou si vous avez simplement abandonné l'idée.

Merci.

 
tworkman:
codersguru,

Pensez-vous toujours que ces fonctions basées sur les sockets soient une bonne idée ? J'aimerais savoir si vous vous êtes penché sur la question. Faites-moi savoir si vous n'avez pas eu le temps ou si vous avez simplement abandonné l'idée.

Merci.

tworkman,

Mon problème est le temps, je n'ai pas abandonné l'idée.

Je vous informerai de la mise à jour dès que j'aurai le temps.

 

Rebonjour,

J'ai travaillé avec un ami pour écrire une dll en c++ qui fait ce genre de choses netcomm, mais je n'arrive pas à surmonter le problème mentionné ci-dessus : cannot call function functionname from dll ' dllname.dll'.

Si et quand vous aurez le temps, pourriez-vous jeter un coup d'œil à la source et me dire si vous voyez ce qui ne va pas ? Nous avons en fait essayé de compiler avec deux compilateurs c++ différents, et nous obtenons toujours la même erreur. Nous avons même pris l'exemple de code source que mt4 fournit, et nous obtenons la même erreur lorsque nous essayons d'appeler ces fonctions. Il semble que ce soit un problème de compilation.

Veuillez me tenir au courant.

Merci.

 
tworkman:
Salut encore,

J'ai travaillé avec un ami pour écrire une dll en c++ qui fait ce genre de choses netcomm, mais je n'arrive pas à surmonter le problème mentionné ci-dessus : cannot call function functionname from dll ' dllname.dll'.

Si et quand vous aurez le temps, pourriez-vous jeter un coup d'œil à la source et me dire si vous voyez ce qui ne va pas ? Nous avons en fait essayé de compiler avec deux compilateurs c++ différents, et nous obtenons toujours la même erreur. Nous avons même pris l'exemple de code source que mt4 fournit, et nous obtenons la même erreur lorsque nous essayons d'appeler ces fonctions. Il semble que ce soit un problème de compilation.

Veuillez me tenir au courant.

Merci.

tworkman,

Avez-vous essayé le code source de ma dll ? Elle est écrite en VC++.

Essayez de compiler mon code source et dites-moi ce que vous obtenez.

 
tworkman:
Nous avons même pris l'exemple de code source fourni par MT4, et nous obtenons la même erreur lorsque nous essayons d'appeler ces fonctions. Il semble qu'il s'agisse d'un problème de compilation.

Faites-moi savoir.

Merci.

Ce n'est pas bon. Je n'ai aucun problème pour le compiler. Peut-être trop simple, mais avez-vous activé l'appel des fonctions DLL depuis MT4 ?

 
michal:
Ce n'est pas bon. Je n'ai aucun problème pour le compiler. Peut-être trop simple, mais avez-vous activé l'appel des fonctions DLL depuis MT4 ?

Bien sûr, vous devez activer "Autoriser l'importation de DLL".

 

Oui, j'ai bien coché la case Autoriser les importations de DLL.

Lorsque j'essaie d'ouvrir le fichier dsw de votre code, j'obtiens un avertissement indiquant que le projet doit être converti au format VC++ actuel. J'utilise la version .Net. Cela peut-il être la cause du problème ? Je m'y connais très peu en C++, aussi n'ai-je pas essayé d'aller plus loin. L'ami qui m'aidait n'est pas disponible ces derniers temps.

Raison: