Questions des débutants MQL5 MT5 MetaTrader 5 - page 673
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
Comment détecter les alertes via iCustom ?
Peut-être connaissez-vous des indicateurs/conseillers déjà existants pour cela ?
J'écris un EA qui fonctionne sur la base d'une martingale.
Comment puis-je faire en sorte qu'il ferme tous les ordres qu'il a ouverts lorsque la perte maximale en pips est atteinte sur une paire de devises ?
Si vous en avez vraiment besoin en pips et non en argent, voici une fonction à appliquer en plus de la précédente
//------------------ Возвращает суммарный профит открытых позиций в пунктах --------------------+
//===============================================================================================
double GetProfitOpenPosInPoint(string symb="0", int type=-1, int mg=-1) {
double p=0, prb=0, prs=0, pr=0;
if(symb=="0") { symb=Symbol();}
for(int i=0; i<OrdersTotal(); i++) {
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if((OrderSymbol()==symb||symb=="")&&(type<0||OrderType()==type)&&(mg<0||OrderMagicNumber()==mg)) {
p=MarketInfo(OrderSymbol(), MODE_POINT)*Sign;
if(OrderType()==OP_BUY) {
prb+=((MarketInfo(OrderSymbol(), MODE_BID)-OrderOpenPrice())/p);
}
if(OrderType()==OP_SELL) {
prs+=((OrderOpenPrice()-MarketInfo(OrderSymbol(), MODE_ASK))/p);
}
pr=prb+prs;
}
}}
return(pr);
}
Bonjour,Quel code dois-je ajouter pour que les alertes de n'importe quel indicateur apparaissent dans l'EA ?
Comment détecter les alertes via iCustom ?
Peut-être connaissez-vous des indicateurs/conseillers déjà existants pour cela ?
Bonjour, je voulais ouvrir un fichier.ex4 avec mt4.exe et le configurer pour qu'il soit utilisé pour tous les fichiers. Comment puis-je rétablir la "bibliothèque générale de l'interpréteur de commandes de Windows" ? Pour une raison quelconque, mt4 ne voit pas cet EA (robot) maintenant.
Vous n'allez pas le croire, mais tout le monde veut ouvrir un fichier .ex4, le problème est qu'il n'a jamais été ouvert pour être édité, et ne s'ouvre pas.
Les fichiers modifiables sont uniquement .mq4, les fichiers exécutables sont .ex4.
Événements liés au terminal du client
Init
Immédiatement après le chargement d'un programme (Expert Advisor ou indicateur personnalisé) par le terminal client et le début de l'initialisation des variables globales, un événement Init sera envoyé qui sera traité en utilisant OnInit(), si disponible. Cet événement est également généré après un changement de titre et/ou de période graphique, après une recompilation du programme dans MetaEditor, après un changement des paramètres d'entrée d'un Expert Advisor ou d'une fenêtre de réglage d'un indicateur personnalisé. Le conseiller expert est également initialisé après le changement de compte. L'événement Init n'est pas généré pour les scripts.
Et si ce n'est pas "par la fenêtre" ? Par exemple, en mode d'optimisation dans le Strategy Tester ? Où trouver des informations à ce sujet ?
Événements liés au terminal du client
Init
Immédiatement après le chargement d'un programme (Expert Advisor ou indicateur personnalisé) par le terminal client et le début de l'initialisation des variables globales, un événement Init sera envoyé qui sera traité en utilisant OnInit(), si disponible. Cet événement est également généré après un changement de titre et/ou de période graphique, après une recompilation du programme dans MetaEditor, après un changement des paramètres d'entrée d'un Expert Advisor ou d'une fenêtre de réglage d'un indicateur personnalisé. Le conseiller expert est également initialisé après le changement de compte. L'événement Init n'est pas généré pour les scripts.
Et si ce n'est pas "par la fenêtre" ? Par exemple, en mode d'optimisation dans le Strategy Tester ? Où trouver des informations à ce sujet ?
En mode optimisation, chaque passage avec de nouveaux paramètres n'est rien d'autre qu'une nouvelle exécution du programme. En conséquence, après le démarrage, l'événement OnInit() passe.
Merci Vladimir, j'ai compris)). Mais où cela est-il écrit dans la documentation ? Si je mets Print, Alert, Comment dans init(), rien n'est écrit ni dans le journal ni à l'écran. Comment pouvons-nous être sûrs de ce que nous savons ?
Il existe des limitations pour certaines fonctions dans le testeur de stratégie du terminal client.
Fonctions Print() et PrintFormat()
Pour améliorer les performances lors de l'optimisation des paramètres EA, les fonctionsPrint() etPrintFormat() ne sont pas exécutées. L'exception est l'utilisation de ces fonctions à l'intérieur du gestionnaireOnInit(). Cela facilite la recherche des causes d'erreurs lorsque celles-ci se produisent.
les fonctions Alert(), MessageBox(), PlaySound(), SendFTP, SendMail(), SendNotification() et WebRequest().
Les fonctionsAlert(),MessageBox(),PlaySound(),SendFTP(),SendMail(),SendNotification() etWebRequest() qui interagissent avec le "monde extérieur" ne sont pas exécutées dans le testeur de stratégie.
Et pour en être sûr, lancez le débogage sur l'historique et définissez un point d'arrêt dans OnInit().
Je n'arrive pas à obtenir quelque chose à imprimer() dans le journal du testeur. Comment faites-vous ?