Bonjour à tous,
J'aimerai savoir si il est possible d'obtenir par une fonction le résultat (gain ou perte) de la derniere position cloturé.
Merci d'avance.
![]() |
|
![]() |
|
Dimanche 27 Mai 2012
Trader-Forex.fr en RSS
Bonjour à tous,
J'aimerai savoir si il est possible d'obtenir par une fonction le résultat (gain ou perte) de la derniere position cloturé.
Merci d'avance.
J'ai cherché dans mon coin et je pense avoir trouvé une solution mais je ne l'ai pas encore testé.
Voici l'algorithme:
Qu'en pensez-vous? Ce n'est qu'un algo, il n'est pas au language MQL4 pour l'instant mais dans la logique je pense que cela peut fonctionner?Code:double avant; double apres; avant = balance(); "Ouverture Position;" "Fermeture Position;" apres = balance(); if (apres-avant > 0) { Print("position gagnante"); } else if (apres-avant < 0) { Print("position perdante"); };
Si vous avez une meilleure solution, je suis prenneur.
Bonne soirée.
Bonjour,
L'algorithme semble correct. Reste à traduire en mql4, et notamment les 2 valeur/fonction "ouverture et fermeture position". Peut-être en faisant un repérage sur les 2 barres relatives à ces 2 opérations, dans la fonction balance().
Après, il est même très facile d'aller plus loin, avec non seulement l'information binaire gain/perte > ou < 0, mais avec la valeur du gain ou de la perte :
gain_perte = après - avant;
Mais si je peux me permettre une question : Dans quel but as-tu besoin de savoir si le dernier trade est gagnant ou perdant ?
Cordialement,
Loup
--------------------------------------------------------------------------------------
Gestion des trades : EA Trade Management, par Tanaïs et Loup REBEL
----------------------- Indicateur de Money Management
Chandelier Multi TF : Graphique multi Chandeliers Multi Time Frame
Par exemple si on souhaite associer de la gestion des pertes avec martingales en plus du money management.
OK, merci pour ta réponse.
Dans ce cas, tu devrais trouver le code dans tout les EAs disponibles qui intègrent une martingale. Et les martingales sont légions dans la bibliothèque MetaQuote, où tu devrais trouver ton bonheur.
![]()
Cordialement,
Loup
--------------------------------------------------------------------------------------
Gestion des trades : EA Trade Management, par Tanaïs et Loup REBEL
----------------------- Indicateur de Money Management
Chandelier Multi TF : Graphique multi Chandeliers Multi Time Frame
Ok merci bien.
d'après l'aide MT4 tu peux passer par orderselect et mode_history, après bien sur faut filtrer les trades pour avoir que le dernier
il y a aussi
OrdersHistoryTotal( )
mais la c'est pareil faut trouver le moyen d'aller chercher que le dernier
Car entre l'affectation de la balance entre avant et apres, on ouvre et on ferme une position (le code n'y est pas inscrit) donc la balance va être changé.
C'était un peu difficile pour moi de travailler sur MT4 car je n'avais plus de connexion à internet (pas facil alors d'aller sur le site mql4.com).
Mais je vais essayer de vous faire un code MQL4 propre pour ce weekend.
Je confirme que ma méthode fonctionne.
Voici le code:
Personnellement j'ai utilisé ce bout de code pour faire une EA avec utilisation des martingales... ca fonctionne parfaitement.Code:double avant; double apres; int init() { avant=AccountBalance(); return(0); } int start() { if (OrdersTotal()<=0) //Attente fermeture position { apres=AccountBalance(); //récupération balance après fermeture position if (apres-avant<0) //si balance apres - balance avant <0 (perte à la derniere position) { //Traitement cas dernier trade perdant } else { //Traitement cas dernier trade gagnant } avant=apres; } return(0); }