Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 25
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
Construisez une ligne virtuelle, et non un objet graphique, à la place d'une ligne de tendance. Respectivement, et obtenir la valeur non pas par ObjectGetValueByShift("1",bar_seek), mais par équation de ligne droite.
Merci ! Je vais essayer.)
Merci, je vais l'essayer)
J'ai écrit un article sur mql4.com il y a longtemps. Il contient une description détaillée du travail avec les lignes de tendance virtuelles et de la recherche de la bonne valeur de prix sur la bonne barre de ces lignes virtuelles.
Il existe un indicateur basé sur cet article dans kodobase. J'y ai déjà retravaillé le code pour la nouvelle mql4.
Ça devait être l'idée. Toutefois, cette vérification ne prend pas seulement en compte les ordres en attente, mais aussi toutes les opérations effectuées sur un compte de trading - dépôts, retraits, bonus, etc.
Cette condition permet au conseil de ne travailler qu'avec des commandes empilées, était-ce l'intention ?
continue;
Le calcul est que les ordres en attente ne seront pas pris du tout jusqu'à ce qu'ils soient convertis en ordres de marché uniquement pour le symbole actuel. Après le traitement du dernier ordre de marché (s'il y en a plusieurs) pour le symbole courant, l'EA est retiré du graphique (maintenant il est retiré immédiatement après le déclenchement du premier ordre et il ne fait attention que s'il y a un ordre pour le symbole courant et un autre pour un autre, l'EA en tient compte).
Pourquoi cela se produit-il et où dois-je placer un ordre de retour, de sorte que lorsque le prochain ordre est fermé, il envoie une fonction directement aux conditions après le compte++ et ne commence à jouer qu'après le déclenchement du dernier ordre. Enfin, je mets Orderselect() pour déterminer le dernier (si l'ordre est fermé et que nous ne pouvons pas sélectionner l'ordre nous n'avons rien à faire sur ce graphique)
Les ordres en attente ne seront pas du tout pris en compte jusqu'à ce qu'ils soient convertis en ordres de marché uniquement pour un symbole courant. Après le traitement du dernier ordre de marché (s'il y en a plusieurs) pour le symbole actuel, le Conseiller Expert se supprime du graphique (il est supprimé immédiatement après le déclenchement du premier ordre et fait attention au fait que s'il y a un ordre pour le symbole actuel et un autre pour un autre, il le prend en considération).
pourquoi cela se produit et où mettre un retour, de sorte que lorsque le prochain ordre est fermé, il envoie une fonction immédiatement aux conditions après count++ et seulement après que le dernier ordre se soit déclenché, il exécutera playsound. Enfin, je mets Orderselect() pour déterminer le dernier (si l'ordre est fermé et que nous ne pouvons pas sélectionner l'ordre nous n'avons rien à faire sur ce graphique)
continue;
Ce code ignore toutes les positions de marché dans la boucle.
La suite m'est inconnue mais si l'on passe au traitement d'autres types d'ordres - ceux de type 2 et plus, ce traitement prendra en compte tous les types d'ordres en attente et les ordres de type 6 - actions sur le compte.
Où est le code avec le cycle complet ?
continue;
Où est le code avec le cycle complet ?
Poste 236
cette section ne doit passer que celles du marché pour l'instrument actuel
Poste 236
cette section ne doit passer que les marchés sur l'instrument actuel
Cette boucle que vous avez est stupidement vide du tout. Cela n'a aucun sens - il ralentit simplement si vous avez un grand nombre d'ordres sur votre compte.
Et mettez de l'ordre dans votre code - ce ne sont que des déchets illisibles, pas du code.
Et pourquoi avez-vous besoin de doubles accolades dans OnTick() ? Quelle est la signification sacrée de ceci ?
Et mettez de l'ordre dans votre code - ce ne sont que des déchets illisibles, pas du code.
Ne vous méprenez pas. Si je pouvais le faire comme vous le voulez, je ne serais pas assis ici. C'est pourquoi je demande de l'aide pour résoudre la tâche actuelle.
Artyom Trishkin :
Et mettez de l'ordre dans votre code - ce ne sont que des déchets illisibles, pas du code.
Ne vous méprenez pas. Si je pouvais le faire comme vous le voulez, je ne serais pas assis ici. C'est pourquoi je vous demande de m'aider à résoudre la tâche actuelle.
Peut-être êtes-vous en mesure de supprimer les lignes vides du code ? Cela nécessite-t-il des compétences particulières ?
En fait, il existe la combinaison de touches Ctrl+ "," - un stylo. Bien que mauvais, mais quand même. Et puis vous pouvez supprimer les lignes vides du code pour ne pas laisser les gens regarder les "tripes". C'est la culture la plus simple de la communication.
Mais après avoir nettoyé votre code, il deviendra plus lisible pour vous, sans parler des autres personnes qui devront également comprendre votre logique. Tous les défauts y seront vus.
Vous savez probablement comment supprimer les lignes vides du code, n'est-ce pas ? Cela nécessite-t-il des compétences particulières ?
En fait, il existe un raccourci clavier Ctrl+ "," - un styliste. Bien que mauvais, mais quand même. Et puis vous pouvez supprimer les lignes vides du code pour ne pas laisser les gens regarder les "tripes". C'est la culture la plus simple de la communication.
Mais après avoir nettoyé votre code, il deviendra plus lisible pour vous, sans parler des autres personnes qui devront également comprendre votre logique. Et tous vos défauts y seront vus.
Après avoir nettoyé votre code, il deviendra plus lisible pour vous, sans parler des autres personnes qui doivent également comprendre votre logique. C'est là que l'on verra tous les bugs.