Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
merci
Merci. Vous êtes le goût de la vie.
J'aimerais avoir la réponse.
Je viens de finir d'écrire mon premier EA et j'ai essayé de le tester dans Strategy Tester.
J'obtenais des erreurs dans le journal ST, j'ai donc essayé d'utiliser la fonction d'impression dans mon EA pour déboguer les problèmes. J'ai résolu quelques bogues jusqu'à présent de cette façon, mais c'est un processus lent.Dans le métaéditeur, sous le menu d'édition, il y a "toggle breakpoint" ... pour utiliser le point d'arrêt ?
Juste pour information :
- fil de discussion sur la fonction e-mail (comment coder) https://www.mql5.com/en/forum/174336
- bon article avec quelques outils https://www.mql5.com/en/forum/176053
Code pour les TP et SL invisibles des courtiers
Bonjour à tous,
Avec la paranoïa des courtiers qui font la chasse aux SLs et qui élargissent les spreads pour éviter les TPs, je cherche des infos sur comment cacher les TP et SL aux courtiers.
Je sais qu'en soumettant un TP et un SL au courtier, dans le cas où vous êtes déconnecté, votre ordre est "sûr". En conservant l'information à distance, il y a un risque de pertes énormes en cas de perte de connexion.
Est-ce que quelqu'un a un EA ou un exemple de code sur la façon de garder le TP et le SL cachés du courtier ?
Merci !
Mike
Cet EA l'a
Bonjour MikeP
Je pense que cette EA contient ce que vous recherchez. S'il vous plaît, envoyez-moi un message si c'est ce que vous recherchez, j'ai une autre idée à ce sujet.
Aide pour simplifier un morceau de code
Bonjour à tous !
Je ne suis pas un codeur pro (voir ci-dessous !). Ce code fonctionne bien mais est-il possible de le simplifier ? Avec un cycle while/for par exemple ? Je souhaite le code le plus léger possible ! Celui-ci est très "lourd" et je reçois l'erreur "internal stack overflow-simplify the program, please" !!!
C'est un indicateur dans une fenêtre séparée.
Dans l'exemple de code, il affiche la hausse ou la baisse de la MA pour le multi TF.
Merci pour votre aide.
{
string MAfast_Trend_1, MAfast_Trend_5, MAfast_Trend_15;
double x;
color color_indic;
// period M1
double FastMA_1_1 = iMA(NULL,PERIOD_M1,FastMAPeriod,0,MAMethod,MAPrice,MAShift);
double FastMA_2_1 = iMA(NULL,PERIOD_M1,FastMAPeriod,0,MAMethod,MAPrice,MAShift+1);
if ((FastMA_1_1 > FastMA_2_1)) { MAfast_Trend_1 = "UP"; x = 256; color_indic = Lime; }
if ((FastMA_1_1 < FastMA_2_1)) { MAfast_Trend_1 = "DOWN"; x = 246; color_indic = Red; }
ObjectCreate("Trend_MAfast_1", OBJ_LABEL, WindowFind("xxxxxxx"), 0, 0);
ObjectSetText("Trend_MAfast_1",MAfast_Trend_1,7, "Verdana", color_indic);
ObjectSet("Trend_MAfast_1", OBJPROP_CORNER, 0);
ObjectSet("Trend_MAfast_1", OBJPROP_XDISTANCE, x);
ObjectSet("Trend_MAfast_1", OBJPROP_YDISTANCE, 22);
// period M5
double FastMA_1_5 = iMA(NULL,PERIOD_M5,FastMAPeriod,0,MAMethod,MAPrice,MAShift);
double FastMA_2_5 = iMA(NULL,PERIOD_M5,FastMAPeriod,0,MAMethod,MAPrice,MAShift+1);
if ((FastMA_1_5 > FastMA_2_5)) { MAfast_Trend_5 = "UP"; x = 256; color_indic = Lime; }
if ((FastMA_1_5 < FastMA_2_5)) { MAfast_Trend_5 = "DOWN"; x = 246; color_indic = Red; }
ObjectCreate("Trend_MAfast_5", OBJ_LABEL, WindowFind("xxxxxxx"), 0, 0);
ObjectSetText("Trend_MAfast_5",MAfast_Trend_5,7, "Verdana", color_indic);
ObjectSet("Trend_MAfast_5", OBJPROP_CORNER, 0);
ObjectSet("Trend_MAfast_5", OBJPROP_XDISTANCE, x);
ObjectSet("Trend_MAfast_5", OBJPROP_YDISTANCE, 37);
// period M15
double FastMA_1_15 = iMA(NULL,PERIOD_M15,FastMAPeriod,0,MAMethod,MAPrice,MAShift);
double FastMA_2_15 = iMA(NULL,PERIOD_M15,FastMAPeriod,0,MAMethod,MAPrice,MAShift+1);
if ((FastMA_1_15 > FastMA_2_15)) { MAfast_Trend_15 = "UP"; x = 256; color_indic = Lime; }
if ((FastMA_1_15 < FastMA_2_15)) { MAfast_Trend_15 = "DOWN"; x = 246; color_indic = Red; }
ObjectCreate("Trend_MAfast_15", OBJ_LABEL, WindowFind("xxxxxxx"), 0, 0);
ObjectSetText("Trend_MAfast_15",MAfast_Trend_15,7, "Verdana", color_indic);
ObjectSet("Trend_MAfast_15", OBJPROP_CORNER, 0);
ObjectSet("Trend_MAfast_15", OBJPROP_XDISTANCE, x);
ObjectSet("Trend_MAfast_15", OBJPROP_YDISTANCE, 52);
etc ...............
return(0);
}Aide sur le code ? Une seule transaction par bougie
J'essaie de limiter mon ea à une seule transaction par bougie. Je trouve que dans les pics de prix contre la tendance, j'obtiens plusieurs trades perdants car les indicateurs sont à la traîne.
J'ai vu le code avant mais je ne le trouve pas. Si quelqu'un peut m'indiquer une application qui a le bon code ou me montrer comment le faire.
C'est fait dans l'ea UniversalMa mais ce n'est pas très clair pour moi.
Toute aide serait appréciée.
Il est ici https://www.mql5.com/en/forum/173026
Je rassemble toutes les fonctions sur ce fil https://www.mql5.com/en/forum/174329
Merci encore
Bonjour NewDigital, comme toujours merci pour votre réponse rapide.
salutations
Voici quelques moyens de simplifier votre code :
REMPLACER LES VALEURS INDIVIDUELLES DES INDICATEURS PAR LA FONCTION
double FastMA_1_5 = iMA(NULL,PERIOD_M5,FastMAPeriod,0,MAMethod,MAPrice,MAShift) ;
double FastMA_1_15 = iMA(NULL,PERIOD_M15,FastMAPeriod,0,MAMethod,MAPrice,MAShift) ;
.... se transforme en ceci avec une fonction ajoutée
maVal(5,1) ;
maVal(15,1) ;
LA FONCTION QU'ILS APPELLENT EST CI-DESSOUS :
double maVal(int tf, int shift)
{
return ( iMA(NULL,tf,FastMAPeriod,0,MAMethod,MAPrice,shift) ) ;
}
* * * * * * * * * * * * * * * * * * * * * * * *
Remplacez également les autres variables individuelles que vous avez, comme les variables de type chaîne, par un tableau de chaînes. Les tableaux fonctionnent très bien dans les boucles et simplifient votre code car vous avez moins de déclarations à faire.
La chaîne MAfast_Trend_1, MAfast_Trend_5, MAfast_Trend_15 ;
.... devient ce.....
string MAfast_Trend [3] ;