Questions des débutants MQL5 MT5 MetaTrader 5 - page 602
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
Dans un indicateur ou dans un EA/script ?
Yuri Evseenkov:
de moi à toi:
Une autre question : comment faire pression sur le développeur de l'environnement d'exécution du code MT4 et MQL, pour qu'il mette son esprit et sa main à développer un langage permettant de gérer les exceptions, comme dans mon exemple ou dans un sens similaire ?
Contactez servesdesk, créez un fil de discussion/sondage sur le forum.
Il n'y a pas si longtemps, MT4 était enterré. Ils n'ont pas une vision claire du marché, ils ont une vision claire de la régulation du marché.
Voir le post de Renat d'aujourd'hui :
...
Le développement de MT4 est arrêté et il n'y aura que des corrections et des cosmétiques.
Bonjour. Pouvez-vous m'indiquer comment résoudre ce problème ? J'ai besoin de trouver les prix ouverts des barres à un certain moment, par exemple à 01:00, en analysant par exemple les 50 dernières barres. Je ne suis pas sûr de la façon de procéder pour cette tâche dans mql5.
Que ce soit en calculant la date actuelle + en y ajoutant le temps nécessaire puis en ajoutant vingt-quatre heures, cette méthode a fonctionné sur mql4.
D'après ce que j'ai compris, mql5 a des structures spéciales avec une sortie de temps, mais pour une raison quelconque, je ne peux pas les utiliser.
Merci d'avance pour la réponse.
Je serais très reconnaissant si quelqu'un pouvait me lancer un peu de code pour comprendre le processus de réflexion.Dans l'indicateur.
Ici, pour une meilleure compréhension, je conseille de regarder d'abord la numérotation des barres. Tout d'abord, nous devons comprendre comment est numérotée la barre la plus à droite de l'indicateur MQL5.
Pour ce faire, mettez le commentaire suivant dans l'indicateur de OnCalculate :
Ce code produira ce résultat :
C'est-à-dire que, par défaut, la barre la plus à droite dans les tableaux d'indicateurs MQL5 a un index égal à "rates_total-1".
Pour en revenir à votre question - vous devez prendre les 50 dernières mesures et les traverser. Et analyser le temps d'ouverture de la barre (le tableau time[]), si le temps de la barre est égal à celui spécifié, retenir l'index de la barre. Ensuite, obtenez le prix ouvert du tableau open[] en utilisant cet indice.
Ça ressemble à ça :
Ici, pour que vous puissiez mieux comprendre par la suite, je vous conseille de commencer par regarder la numérotation des barres. C'est-à-dire que vous devez d'abord comprendre exactement comment est numérotée la barre la plus à droite dans l'indicateur MQL5.
Pour ce faire, mettez le commentaire suivant dans l'indicateur de OnCalculate :
Ce code produira ce résultat :
C'est-à-dire que, par défaut, la barre la plus à droite dans les tableaux d'indicateurs MQL5 a un index égal à "rates_total-1".
Pour en revenir à votre question - vous devez prendre les 50 dernières mesures et les traverser. Et analyser le temps d'ouverture de la barre (le tableau time[]), si le temps de la barre est égal à celui spécifié, retenir l'index de la barre. Ensuite, obtenez le prix ouvert du tableau open[] en utilisant cet indice.
Cela ressemble approximativement à ceci
Karputov Vladimir, merci beaucoup. Je l'apprécie vraiment. Je pense que mql5 a un accès plus flexible aux séries temporelles, mais c'est un peu compliqué pour les programmeurs "débutants". :))
C'est une question d'habitude. Vous constaterez alors que tout est structuré, facile et correct.
Une autre question. Les paramètres
Je pense qu'ils sont responsables de la paire à laquelle l'indicateur est appliqué. Donc, il est impossible d'obtenir les mêmes informations sur une autre paire de devises ? En d'autres termes, la solution la plus universelle est de créer les mêmes tableaux de OCHL, uniquement par le biais de la fonction Copy... ?Une autre question. Paramètres
Je comprends qu'ils sont responsables de la paire à laquelle l'indicateur est appliqué. Et sortir avec leur aide les mêmes informations sur une autre paire de devises est impossible... Donc, la solution la plus universelle est de créer les mêmes tableaux OCHL uniquement par la fonction Copy... ?Lorsque vous accédez aux caractères d'autres personnes, il existe des nuances que vous devez comprendre et connaître :Organiser l'accès aux données. En d'autres termes, si vous demandez les données de séries chronologiques de symboles de quelqu'un d'autre, vous devez d'abord vous assurer que ces données ont été préparées et existent. Ce n'est que de cette façon que vous pouvez être sûr que les données que vous demandez au personnage étranger sont correctes.
Je l'ai. Merci.
Une autre question est de savoir si vous convertissez toujours les valeurs en type chaîne de caractères dans la fonction Print(). Quel est le but de cette démarche ? Sans traduction, les types int, double, etc. sont affichés dans la fonction Print() exactement de la même manière.
Je l'ai. Merci.
Autre question : convertissez-vous toujours les valeurs en chaînes de caractères dans la fonction Print() ? Quel est le but de cette démarche ? Sans traduction, les types int, double, etc. sont affichés dans Print() exactement de la même manière.
La façon dont un nombre est stocké dans la mémoire de l'ordinateur et la façon dont il est sorti sont deux grandes différences. En particulier avec les nombres à virgule flottante, il est toujours préférable de limiter le nombre de décimales.
C'est pourquoi j'essaie toujours de formater correctement la sortie - en utilisantIntegerToString etDoubleToString.
La façon dont un nombre est stocké dans la mémoire de l'ordinateur et la façon dont il est sorti sont deux grandes différences. En particulier avec les nombres à virgule flottante, il est toujours préférable de limiter le nombre de décimales.
C'est pourquoi j'essaie toujours de formater correctement la sortie des nombres en utilisantIntegerToString etDoubleToString.
Merci pour vos réponses et votre patience.
Vladimir, je suis probablement fatigué de toi :) Mais les progrès dans les domaines de base sont très lents. J'ai essayé de faire une tâche de test avec la fonction Copy... L'indicateur n'est pas dessiné, bien qu'il y ait des chiffres à Printe... Je ne comprends rien.