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
Un conseil de la part d'un autodidacte :
Pour faciliter la transition vers mql5, il est souhaitable d'utiliser non pas les variables int period de mql4 mais de l'enum ENUM_TIMEFRAMES
Pourquoi ?
Parce que lorsqu'on implémente une telle chose dans d'autres langues, j'ai du mal à trouver comment entrer dans le terminal. Il peut ouvrir tout et n'importe quoi, et s'il est implémenté par µl, alors vous pouvez aussi y mettre des robots via des boutons.
Et vous pouvez également mettre une base de données, puis d'autres logiciels, et transporter toutes vos affaires dans une seule icône.Je suis heureux de croire que vos problèmes ne peuvent être résolus sans eux. Il faut entrer dans les détails pour ne pas y croire :)
Spin
Maintenant, sur un tick, nous devons déterminer la nouvelle barre sur H1, M5 et D1. C'est-à-dire que pendant les 1 heure et 5 minutes qui suivent, le conseiller expert dort et ce n'est qu'à 1 heure et 5 minutes d'un nouveau jour qu'il doit se réveiller et faire quelque chose.
Cela fera 3 variables globales? Et si nous devions faire la même chose dans les conseillers experts 2-3-7 ? Combien de variétés supplémentaires de noms de variables globales devons-nous créer ?
Je vais résoudre la tâche à ma façon. L'essentiel - la fonction doit bien fonctionner, ne pas ralentir le programme et être utilisée sur les deux terminaux. Le reste dépend de moi.
Votre procrastination à fournir une solution est une réponse éloquente. Parce qu'avec la POO, le problème est résolu de manière simple et standard sans aucune réflexion.
Je vais résoudre le problème à ma façon. L'essentiel est que la fonction fonctionne bien, ne ralentisse pas le programme et puisse être utilisée sur les deux terminaux. Laissez le reste à ma discrétion.
Votre procrastination à fournir une solution est une réponse éloquente. Parce qu'avec la POO, le problème est résolu de manière simple et standard sans aucune réflexion.
Je suis heureux de croire que vos problèmes ne peuvent être résolus sans eux. Il faut aller dans les détails pour le croire :)
J'ai entendu de nombreuses personnes se plaindre que "travailler avec des indicateurs sur MT5 est beaucoup plus compliqué que sur MT4".
L'approche OOP permet d'unifier ce travail de sorte que le conseiller expert ne s'intéresse pas à la plate-forme sur laquelle il fonctionne.
Je l'ai organisé de cette façon.
Si nous avons besoin d'un indicateur (disons, le MA) - le Conseiller Expert doit déclarer l'objet CMA_IParams:public CIndicatorParamsI, dans lequel il stocke tous les paramètres du MA dont nous avons besoin. Passez ensuite un pointeur vers cette structure au fournisseur de données, dans la fonction GetIndicator(). Cette fonction renvoie le pointeur vers l'interface virtuelle CIndicator. C'est tout. Cette interface contient toutes les données nécessaires sur l'indicateur appelé.
Si vous avez besoin d'un autre indicateur, l'objet dérivé de l'interface CIndicatorParamsI est déclaré, tous les paramètres de l'indicateur y sont inscrits et il est transmis au fournisseur de données, mais le pointeur vers l'indicateur créé est renvoyé.
Lorsqu'un nouvel indicateur est nécessaire, son code portable est écrit dans le fournisseur de données. Ensuite, tout utilisateur peut demander un nouvel indicateur au fournisseur de données, en lui transmettant ses paramètres.
Par conséquent, si un conseiller expert travaille "pour revenir à la moyenne", il devient très facile de changer cette moyenne, par exemple, prendre le milieu du canal de prix au lieu de la moyenne mobile, simplement en changeant l'objet du paramètre.
Je me demande comment cela est organisé pour les fans de l'approche procédurale ?
Les gens se plaignent souvent que "travailler avec des indicateurs sur MT5 est beaucoup plus compliqué que sur MT4".
Ainsi, l'approche OOP permet d'unifier ce travail, de sorte que le conseiller expert, encore une fois, ne s'intéresse même pas à la plateforme sur laquelle il fonctionne.
Je l'ai organisé de cette façon.
Si nous avons besoin d'un indicateur (disons, le MA) - le Conseiller Expert doit déclarer l'objet CMA_IParams:public CIndicatorParamsI, dans lequel il stocke tous les paramètres du MA dont nous avons besoin. Ensuite, le pointeur vers cette structure doit être transmis au fournisseur de données dans la fonction GetIndicator(). Cette fonction renvoie le pointeur vers l'interface virtuelle CIndicator. Cette interface contient toutes les données nécessaires sur l'indicateur appelé.
Si vous avez besoin d'un autre indicateur, l'objet dérivé de l'interface CIndicatorParamsI est déclaré, tous les paramètres de l'indicateur y sont écrits et il est transmis au fournisseur de données, le pointeur vers l'indicateur créé est renvoyé à la place.
Lorsqu'un nouvel indicateur est nécessaire, son code portable est écrit dans le fournisseur de données. Ensuite, tout utilisateur peut demander un nouvel indicateur au fournisseur de données, en lui transmettant ses paramètres.
Par conséquent, si un conseiller expert travaille "pour revenir à la moyenne", il devient très facile de changer cette moyenne, par exemple, prendre le milieu du canal de prix au lieu de la moyenne mobile, simplement en changeant l'objet du paramètre.
Je me demande comment cela est organisé pour les fans de l'approche procédurale ?
Je suis désolé, je dois partir. Les commandes sont arrivées... Si cela ne vous dérange pas, nous continuerons demain.
Je suis désolé, je dois partir. Les commandes sont arrivées... Si cela ne vous dérange pas, nous continuerons demain.
Il y a un ordre pour lui d'aller à l'ouest ?