Exécuter le script par le biais d'Expert Advisor - page 9

 

Et j'ai mes boutons !

Maintenant, je vais juste faire un peu de stylisme.

 
onewithzachy:

Salut Dadas,

1. Essayez du mieux que vous pouvez, le smiley EA n'est pas cliquable.

2. Ne postez pas de code dé-compilé. Les codes compilés sont des documents protégés par le droit d'auteur et appartiennent à leur propriétaire. En le décompilant, vous violez le droit d'auteur du propriétaire. mql4-mql5 .com appartient à MetaQuotes (MQ), et MQ ne soutient pas la violation du droit d'auteur.

1. Que voulez-vous dire ?

Je clique sur le smiley lorsque mon EA est sur le graphique et que le panneau de contrôle de l' EA s'ouvre - toujours, lorsque je clique une fois sur le "X", le FROWN ou le SMILE.

2. OK, je l'ai supprimé - mais il est gratuit, et avec une démo en plus, alors pourquoi s'embêter ?

Et je ne l'ai pas décompilé ! J'ai posté .ex4 et non .mq4 ! Je n'ai pas de .mq4 pour le script OneClickTrading.

3. et 4. sans importance - j'ai trouvé ce dont j'ai besoin !

 
Dadas:

1. Que voulez-vous dire ?

Je clique sur le smiley lorsque mon EA est sur le graphique et que le panneau de contrôle de l'EA s'ouvre - toujours, lorsque je clique une fois sur le "X", le FROWN ou le SMILE.

2. OK, je l'ai supprimé - mais il est gratuit, et avec une démo en plus, alors pourquoi s'embêter ?

Et je ne l'ai pas décompilé ! J'ai posté .ex4 et non .mq4 ! Je n'ai pas de .mq4 pour le script OneClickTrading.

3. et 4. sans importance - j'ai trouvé ce dont j'ai besoin !

Salut Dadas,

1. Tu as raison pour le numéro 1. Le smiley est codé en dur dans MT. Mon EA fonctionne en boucle, donc cliquer dessus n'ouvrira pas de fenêtre de propriété.

2. Il est livré gratuitement sans le code source, et vous disiez "J'ai essayé de trouver un décompilateur gratuit, mais je n'ai pas pu. J'apprécie votre aide - peut-être pouvez-vous faire quelque chose avec ce fichier ?

3. Vous avez déjà trouvé cela dans ho ho et pourtant vous continuez à demander donc j'ai répondu.

 
onewithzachy:

Salut Dadas,

3. Tu l'as déjà trouvé dans ton ho ho et pourtant tu continues à demander alors j'ai répondu.

Non, je ne l'ai pas trouvé dans ton ho ho !

Je l'ai trouvé ici : https://www.mql5.com/go?link=https://www.fx1.net/wiki/pmwiki.php/MT4GUI/MT4GUI

- tu as dû manquer mon message précédent.

Et ça marche ! !!

Peut-être que c'est la même chose dans votre hoho, je ne sais pas.

Ce que j'ai trouvé est clairement expliqué, et c'est ce dont j'avais besoin.

Maintenant, l'EA appelle un certain nombre de scripts différents, en fonction de la situation.

Il ouvre et ferme les ordres automatiquement, ou manuellement, au choix.

Il désactive le bouton Experts, si nécessaire.

Je présenterai plus loin des boutons ON/OFF pour les différentes fonctions.

Ensuite, une boîte de formulaire pour entrer le lot si la gestion des lots est désactivée.

Ensuite, peut-être, je mettrai 3 EA différents dans un seul avec une option de commutation.

En fin de compte, j'envisage de faire de cette application une application autonome,

mais c'est un long chemin, car je n'ai pas encore les compétences nécessaires.

P.S. J'ai vérifié - votre ho ho est complètement différent de ce que j'ai trouvé. BTW, je l'ai trouvé sur ce forum !

 

Salut les gars,

Maintenant mon EA ressemble à ceci :

Et vous pouvez voir qu'il fonctionne.

Mais il n'est pas encore terminé.

 

Au cas où quelqu'un chercherait cette information,

vous pouvez même exécuter un autre EA à partir d'un autre EA comme ceci :

#include <WinUser32.mqh>
#define MT4_WMCMD_REMOVE_EXPERT   33050

int start() {
if(ConditionsForOpeningMySecondEA==true) 
{

DisableExperts(); // when Experts enabled - disables Experts
RemoveEA();
DisableExperts(); // when Experts disabled - enables Experts
RunMyEA();

{
           }

void DisableExperts() // Emulates keyboard event for Ctrl+E
   {
   keybd_event(17, 0, 0, 0); // CTRL down
   keybd_event(69, 0, 0, 0); // E down
   keybd_event(69, 0, 2, 0); // E up
   keybd_event(17, 0, 2, 0); // CTRL up
   }

void RemoveEA()
   {
   PostMessageA(hwnd,WM_COMMAND,33050,1);
   }


void RunMyEA() { // Runs another EA with HOTKEY assigned
   keybd_event(18, 0, 0, 0); // ALT down
   keybd_event(69, 0, 0, 0); // E down
   keybd_event(69, 0, 2, 0); // E up
   keybd_event(18, 0, 2, 0); // ALT up
}

J'utilise ceci, et ça marche.
 

BTW au lieu de

void DisableExperts() // Emulates keyboard event for Ctrl+E
   {
   keybd_event(17, 0, 0, 0); // CTRL down
   keybd_event(69, 0, 0, 0); // E down
   keybd_event(69, 0, 2, 0); // E up
   keybd_event(17, 0, 2, 0); // CTRL up
   }

utiliser

#include <WinUser32.mqh>
#import "user32.dll"
  int GetAncestor(int hWnd, int gaFlags);
#import

void DisableExperts() // Emulates keyboard event for Ctrl+E
   {
   int hwnd = GetAncestor(WindowHandle(Symbol(),Period()),2);
   PostMessageA(hwnd,WM_COMMAND,33020,1);
   }

PS ALT + E ne fait rien

 
qjol:

BTW au lieu de

utiliser

PS ALT + E ne fait pas


Alt+E n'est pas assigné à quoi que ce soit par défaut.

Vous devez d'abord l'affecter à quelque chose.

Je viens de modifier, maintenant c'est correct.

 
Oui, ça marche très bien, merci !
 

Bonjour à tous,

Merci pour les contributions apportées ici.

Je suis nouveau dans le codage et je voudrais créer un EA qui traite des scripts pour placer mes ordres, mais je voudrais que les scripts soient exécutés en utilisant des touches de raccourci. J'utilise MT4. Avez-vous des suggestions sur la façon dont je peux m'y prendre pour y parvenir ? À ce stade, je ne sais pas trop comment établir les connexions pour que cela devienne une réalité.

Vos suggestions sont les bienvenues !


Merci d'avance :).