Créez votre propre extension MetaTrader (dll)

 
Toute personne intéressée par la création de sa propre extension MetaTrader (dll) peut se rendre sur le site :

Créer votre propre extension MetaTrader (dll) - Partie 1

Créer votre propre extension MetaTrader (dll) - Partie 2

Il y aura une autre partie (ou 2) que je suis en train d'écrire !

J'espère que vous les apprécierez !
 

Merci beaucoup !

 
codersguru:
Toute personne intéressée par la création de sa propre extension MetaTrader (dll) peut se rendre sur le site :

Créer votre propre extension MetaTrader (dll) - Partie 1

Créer votre propre extension MetaTrader (dll) - Partie 2

Il y aura une autre partie (ou 2) que je suis en train d'écrire !

J'espère que vous les apprécierez !

WOOT WOOT WOOT !

 

EXCITING !!!!!

Codersguru, tu es FANTASTIQUE ! MERCI !

dee

 

Excellente ressource ! !!

 

Bonjour codersguru !

Super cours que vous écrivez là. Merci.

J'essaie de créer une dll et de la tester sur MT4. J'ai un code d'erreur 127(cannot call function 'Test' from dll 'ExpertSample.dll' (error 127)).

Voici tout le processus que je fais :

1. écrire le .cpp :

#define WIN32_LEAN_AND_MEAN

#define MT4_EXPFUNC __declspec(dllexport)

#include

BOOL APIENTRY DllMain(HANDLE hModule,DWORD ul_reason_for_call,LPVOID lpReserved)

{

switch(ul_reason_for_call)

{

cas DLL_PROCESS_ATTACH :

cas DLL_THREAD_ATTACH :

cas DLL_THREAD_DETACH :

cas DLL_PROCESS_DETACH :

break ;

}

return(TRUE) ;

}

MT4_EXPFUNC int __stdcall Test()

{

return(12) ;

}

2. J'ai écrit le fichier .def :

LIBRARY ExpertSample EXPORT Test

3. Je compile, sans erreur, et je place la dll ExpertSample.dll dans le dossier \experts\libraries.

4. Je crée mon fichier de test mq4 :

#property indicator_chart_window

#import "ExpertSample.dll"

int Test() ;

#import

int init() { return(0) ; }

int deinit() { return(0) ; }

int start() { Alert( Test() ) ; return(0) ; }

5. Je compile, pas d'erreur

6. J'attache le test indy sur le graphique, je vérifie les dll autorisées et ... erreur 127.

En VC++, j'ai du mal à compiler car le fichier windows.h n'est pas trouvé. Ensuite, j'utilise DevC++ ou Code::Blocks sans aucune erreur à la compilation.

Mes questions : ai-je oublié quelque chose, dans le codage, dans les paramètres du projet c++ ou autre chose ?

Merci pour votre aide.

FerruFx

 

Je suis loin d'être un expert en écriture de dll sous Windows, mais j'ai réussi à en écrire une pour MT4 en utilisant gcc sous cygwin. En dehors des incantations dans le code, le compilateur avait besoin de quelques arguments afin d'éviter d'utiliser ses valeurs par défaut pour les dll dépendantes. Peut-être avez-vous un problème similaire ?

Les arguments de gcc que j'ai utilisés étaient : -shared -Wl,--add-stdcall-alias -mno-cygwin

Bien sûr, je ne connais pas votre compilateur, donc peut-être que cela n'est d'aucune aide du tout.

 

Quelqu'un a-t-il essayé d'écrire une dll pour MT4 avec C# en utilisant VisualStudio2005 ? J'ai fait une tentative mais je continue à obtenir l'erreur 127. Peut-être que .net n'est pas une bonne technologie pour écrire des bibliothèques pour MT4 ?

Merci,

Pawel

 

Où trouver le script du conseiller expert ProfitProtector ?

Salut codersguru,

Je suis très nouveau dans la programmation MQL4. J'ai téléchargé votre manuel pdf. Et j'ai trouvé que vous avez très bien expliqué les snipets de code dans le manuel. Je suis très intéressé par l'Expert Advisor et je suis surpris d'apprendre que l'on peut faire beaucoup de choses avec ce langage pour le trading. Dans le manuel, vous avez mentionné que je peux télécharger le script ProfitProtector depuis votre site. Jusqu'à présent, je ne suis pas en mesure de trouver le script. S'il vous plaît guidez-moi comment télécharger l'exemple de script.

Merci

 

Super, merci pour la vidéo

 

vidéo

Bonjour Patrick,

Merci pour cette vidéo très intéressante ! C'est exactement ce que je cherchais.

J'ose à peine demander, mais serait-il également possible de faire une instruction pour une dll côté serveur et une dll côté client en combinaison avec metatrader ? Ce serait vraiment génial.

Raison: