Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1265
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
Bonjour à tous !
Question : quel est le moyen le plus simple de déterminer les temps forts et faibles d'une barre ?
L'heure d'ouverture/de fermeture du bar n'est pas intéressante.
Sur MT4.
Merci !
a fait ça
publié dans KBhttps://www.mql5.com/ru/code/25897
S'il vous plaît dites-moi, dans MT4 il y avait une variable prédéfinie double Ask, et comme je comprends, à l'intérieur de void OnTick() sans forcé
RereshRates sa valeur ne changerait PAS.
Dans MT5, Ask est remplacé par MqlTick last_tick ; SymbolInfoTick(_Symbol,last_tick) ; double Ask=last_tick.ask ; sa valeur est toujours mise à jour par un nouveau tick.
Mon problème est que j'ai besoin de définir la coordonnée de la ligne par la valeur de Ask + X mais je ne peux pas le faire dans MT5 parce que la ligne change ses coordonnées après le changement de valeur.
Ask=last_tick.ask. Quel est votre conseil ?
S'il vous plaît dites-moi, dans MT4 il y avait une variable prédéfinie double Ask, et comme je comprends, à l'intérieur de void OnTick() sans forcé
RereshRates sa valeur ne changerait PAS.
Dans MT5, Ask est remplacé par MqlTick last_tick ; SymbolInfoTick(_Symbol,last_tick) ; double Ask=last_tick.ask ; sa valeur est toujours mise à jour par un nouveau tick.
Mon problème est que j'ai besoin de définir la coordonnée de la ligne par la valeur de Ask + X mais je ne peux pas le faire dans MT5 parce que la ligne change ses coordonnées après le changement de valeur.
Ask=last_tick.ask. Quel est votre conseil ?
Comment cela n'a pas changé ? Il changeait à chaque tic. Mais dans la boucle, ça n'a pas changé. Peut-être vous êtes-vous un peu embrouillé avec elle ?
Mais dans mql5, vous pouvez déterminer le prix actuel avant la boucle et il ne changera pas jusqu'à ce que vous sortiez de la boucle.
Existe-t-il un moyen de mesurer la largeur en pixels du texte écrit dans OBJ_TEXT?
Comment n'a-t-il pas changé ? Il changeait à chaque tic. Mais dans le cycle, oui, ça n'a pas marché. Peut-être que tu t'es un peu embrouillé avec celui-là ?
Mais dans mql5, vous pouvez déterminer le prix actuel avant la boucle et il ne changera pas jusqu'à ce que vous sortiez de la boucle.
Oui, merci, mon hypothèse s'est avérée fausse, mais la question est un peu différente. J'ai un code, le mêmepour MT4 et MT5:
La question est la suivante : dans MT4, la ligne créée sera fixée au prix auquel elle a été créée, mais dans MT5, à chaque nouveau tick, la ligne sera tracée à une nouvelle valeur de LastAsk et sa position changera en même temps que le prix. Comment puis-je l'éviter dans MT5 ?
Oui, merci, mon hypothèse s'est avérée fausse, mais la question est un peu différente. Il existe un code,le même pour MT4 et MT5:
La question est que dans MT4, la ligne créée sera stationnaire au prix auquel elle a été créée, mais dans MT5, à chaque nouveau tick, la ligne sera dessinée à une nouvelle valeur de LastAsk et sa position changera en même temps que le prix. Comment puis-je l'éviter dans MT5 ?
Recherchez une ligne par son nom. S'il n'y a pas de ligne, créez-en une. C'est l'essentiel en général.
Merci, que puis-je lire d'autre sur ces bases de la logique de programmation ? Cela semble élémentaire, mais c'est difficile à comprendre en partant de zéro.
J'ai ajouté une condition et tout a fonctionné.
Merci, que puis-je lire d'autre sur ces bases de la logique de programmation ? Cela semble élémentaire, mais c'est difficile à comprendre en partant de zéro.
J'ai ajouté une condition et tout a fonctionné.
Soudainement (comme d'habitude) ObjectGetInteger(0,objectName,OBJPROP_TYPE) fonctionne plus rapidement.
ObjectFind est une commande synchrone, c'est-à-dire qu'elle attend la mise à jour complète (et la disponibilité) des objets du graphique.
Si vous travaillez avec vos propres objets (c'est-à-dire créés dans votre propre stock), vous ne devriez pas utiliser ObjectFind - vous savez déjà dans quelle fenêtre l'objet a été créé et qu'il existe très probablement et qu'il est du bon type.
Le pire qui puisse arriver est que l'utilisateur supprime l'objet ou modifie la propriété.
Oui, merci, mon hypothèse était fausse, mais la question est un peu différente. Il existe un code,le même pour MT4 et MT5:
La question est que dans MT4, la ligne créée sera stationnaire au prix auquel elle a été créée, mais dans MT5, à chaque nouveau tick, la ligne sera dessinée à une nouvelle valeur de LastAsk et sa position changera en même temps que le prix. Comment puis-je l'éviter dans MT5 ?
Je ne m'en souviens pas, je dois vérifier mais je ne veux pas. Peut-être qu'en mql4, lorsqu'on essayait de créer un objet nommé après un objet déjà existant, une erreur était simplement renvoyée, alors qu'en mql5, ce n'est pas une erreur mais une modification des paramètres, si les coordonnées sont différentes.
Comme Artem l'a dit, vérifiez l'existence de l'objet.