Questions des débutants MQL5 MT5 MetaTrader 5 - page 1384
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
leonerd #:
Здравствуйте. А как программно узнать символ и таймфрейм активного чарта в клиентском терминале? Т.е. чарта выбранного в настоящее время во вкладке. Есть какая-то функция из MQL5 для этого?
CHART_BRING_TO_TOP
Afficher le graphique au dessus de tous les autres graphiques
bool
Comment définir un identifiant de graphique à afficher également ?
CHART_BRING_TO_TOP
Afficher le graphique au dessus de tous les autres graphiques
bool
Comment définir un ID de graphique à afficher également ?
https://www.mql5.com/ru/docs/constants/chartconstants/charts_samples#chart_foreground
Merci. CHART_FOREGROUND est probablement le plus approprié. Je n'ai pas besoin de définir de force le graphique actif, j'ai juste besoin de déterminer lequel est actif. Ai-je raison de penser que je vais devoir passer en revue tous les graphiques ouverts en vérifiant CHART_FOREGROUND ?
https://www.mql5.com/ru/docs/constants/chartconstants/charts_samples#chart_foreground
Merci. CHART_FOREGROUND est probablement le plus approprié. Ce n'est pas comme si j'avais besoin de définir de force le graphique actif, mais seulement d'identifier celui qui est actif. Est-ce que je comprends bien que je dois passer par tous les graphiques ouverts en vérifiant CHART_FOREGROUND ?
CHART_FOREGROUND est un graphique sur le dessus.
Et pour ne pas l'imposer, vous devriez remplacer ChartSetInteger par ChartGetInteger
Bonjour.
Pouvez-vous me donner un indice - je pense à un robot et il y a quatre conditions différentes - je ne sais pas encore lesquelles supprimer : je veux le découvrir plus tard lors de l'optimisation pour différents délais.
C'est-à-dire : quatre conditions (f1,f2,f3,f4). Il peut y avoir de nombreuses combinaisons (0,0,1,1) ou (1,0,1,0) et ainsi de suite - soit un total de 16 combinaisons. Exactement 15 - la variante (0, 0, 0, 0) n'est pas prise en compte.
Question : comment créer une logique de programme afin de ne pas décrire les 15 combinaisons dans le code. Il existe une fonction permettant de vérifier chacune de ces conditions, et dans quelles combinaisons de ces conditions s'appliquent - vérifiez comment.
Je serais heureux si vous pouviez me montrer un conseiller expert qui me permette de saisir un grand nombre de conditions dans un code concis.
Bonjour.
Pouvez-vous me donner un indice - je pense à un robot et il y a quatre conditions différentes - je ne sais pas encore lesquelles supprimer : je veux le découvrir plus tard lors de l'optimisation pour différents délais.
C'est-à-dire : quatre conditions (f1,f2,f3,f4). Il peut y avoir de nombreuses combinaisons (0,0,1,1) ou (1,0,1,0) et ainsi de suite - soit un total de 16 combinaisons. Exactement 15 - la variante (0, 0, 0, 0) n'est pas prise en compte.
Question : comment créer une logique de programme afin de ne pas décrire les 15 combinaisons dans le code. Il existe une fonction permettant de vérifier chacune de ces conditions, et dans quelles combinaisons de ces conditions s'appliquent - vérifiez comment.
Je serais heureux si vous me montriez un conseiller expert qui me permette d'introduire plusieurs conditions dans un code concis.
Je vais peut-être faire comme ça :
Ou quelque chose comme ça :
CHART_FOREGROUND est le graphique en haut de l'écran.
Et pour ne pas le forcer, remplacez ChartSetInteger par ChartGetInteger
merci
Tu pourrais faire ça :
Ou quelque chose comme ça :
Et voici la première construction - quel serait le comportement du code dans les conditions (0, 1, 0, 1) ?
Pourriez-vous expliquer le corps de la condition "If" ?
Et voici la première construction - quel sera le comportement du code dans les conditions (0, 1, 0, 1) ?
Pouvez-vous expliquer le corps de la condition Si
C'est très simple ici. Si F1==false, alors ( !F1 || f1) sera vrai quelle que soit la condition f1.
C'est-à-dire que si Fn==vrai, la condition fn est vérifiée, et si Fn==faux, la condition fn n'est pas vérifiée.
Par conséquent, pour (0, 1, 0, 1), seules les conditions f2 et f4 seront vérifiées, et si elles sont toutes deux valides, le code open_pos() sera exécuté.
C'est très simple. Si F1==faux, alors ( !F1 || f1) sera vrai quelle que soit la condition f1.
C'est-à-dire que si Fn==vrai, la condition fn est vérifiée, et si Fn==faux, la condition fn n'est pas vérifiée.
Par conséquent, pour (0, 1, 0, 1), seules les conditions f2 et f4 seront vérifiées, et si elles sont toutes deux vérifiées, le code open_pos() sera exécuté.
Mais pour le cas où f1 et les autres ne sont pas seulement 0 ou 1. Je pensais que si la condition f1 est satisfaite pour une position courte, alors une est retournée. Si c'est pour une position longue, il retourne 2. Si la condition n'est pas du tout remplie - 0.
Mais dans une telle construction, nous ne devrions probablement pas compter sur une telle variété de valeurs de paramètres et formuler la condition d'une autre manière ?
Mais pour le cas où f1 et les autres ne sont pas seulement 0 ou 1. Penser que si la condition f1 est remplie pour la position courte, alors un est retourné. Si pour une position longue, il retourne 2. Si la condition n'est pas du tout remplie - 0.
Mais peut-être ne devrions-nous pas compter sur une telle diversité de valeurs de paramètres dans cette construction et formuler la condition d'une autre manière, n'est-ce pas ?
Les ensembles de conditions pour l'ouverture longue et courte sont considérés séparément.
Je veux dire, par exemple, comme ça :
Je vendrai même un morceau de mon vrai code - il ne révèlera aucun savoir-faire sans information sur les valeurs de "bataille" des variables et les conditions de tenue des positions.
Vous pouvez en fait spécifier l'une des 224 options ici :