[ARCHIVE !] Toute question de débutant, pour ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 4. - page 65
![MQL5 - Langage des stratégies de trading intégré au terminal client MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Roll, merci pour le conseil, voici une fonctionnalité pour afficher un commentaire dans le coin inférieur gauche du graphique si quelqu'un en a besoin :
void mycomment(color c,string mytext)
{
string name="mycomment";
if(ObjectFind(name)<0) ObjectCreate(name,OBJ_LABEL,0,0,0);
ObjectSet("mycomment", OBJPROP_CORNER, 2);
ObjectSet(name,OBJPROP_XDISTANCE,5);
ObjectSet(name,OBJPROP_YDISTANCE,7);
ObjectSetText(name,mytext,12,"",c);
}
Bonjour à tous !
Pouvez-vous me dire s'il est possible d'afficher du texte sur un graphique, comme par exemple
comme une fonction séparée pour qu'elle puisse être appelée comme ceci :
Regardez cette fonction :
Il recherche la fenêtre vide de l'indicateur Win_Inform sur le graphique et, si elle est présente, affiche des messages dans celle-ci. Si ce n'est pas le cas, il faut l'éditer avec print.
Exemple d'appel :
Utilise le tableau de chaînes Mass_Name_Message[10] déclaré au niveau global. Il s'agit d'un tableau permettant de stocker les noms d'objets. Vous pouvez modifier sa taille en fonction de vos besoins. La variable Prefix stocke les noms des experts afin de leur permettre d'identifier leurs propres objets pour une manipulation correcte des objets graphiques. Il est également déclaré globalement et possède le type chaîne de caractères. Vous pouvez probablement le découvrir...
La dinde dans une remorque
Confronté à un petit problème avec ma fonction :
void mycomment(color c,string mytext)
{
string name="mycomment";
if(ObjectFind(name)<0) ObjectCreate(name,OBJ_LABEL,0,0,0);
ObjectSet("mycomment", OBJPROP_CORNER, 2);
ObjectSet(name,OBJPROP_XDISTANCE,5);
ObjectSet(name,OBJPROP_YDISTANCE,7);
ObjectSetText(name,mytext,12,"",c);
}
Il coupe un long message, par exemple si vous essayez de commenter la ligne "Vérifiez les paramètres de votre EA, pour ouvrir la fenêtre des paramètres, appuyez sur F7".
ça laisse juste ça : "Vérifiez les paramètres de votre EA pour ouvrir la fenêtre des paramètres", puis elle est coupée, alors que le texte n'est même pas à la moitié de la fenêtre.
Pouvez-vous me dire s'il existe un moyen de supprimer cette restriction ?
Vous ne pouvez pas, la longueur maximale de la ligne dans l'étiquette = 62 caractères.
Formatez le texte en plusieurs lignes (étiquettes), ou utilisez la fonction Commentaire() - il y a 255 caractères.
Voici le code lui-même.
Si vous avez une solution plus simple, je serais heureux de recevoir des commentaires.
Confronté à un petit problème avec ma fonction :
void mycomment(color c,string mytext)
{
string name="mycomment";
if(ObjectFind(name)<0) ObjectCreate(name,OBJ_LABEL,0,0,0);
ObjectSet("mycomment", OBJPROP_CORNER, 2);
ObjectSet(name,OBJPROP_XDISTANCE,5);
ObjectSet(name,OBJPROP_YDISTANCE,7);
ObjectSetText(name,mytext,12,"",c);
}
Il coupe un long message, par exemple si vous essayez de commenter la ligne "Vérifiez les paramètres de votre EA, pour ouvrir la fenêtre des paramètres, appuyez sur F7".
ça laisse juste ça : "Vérifiez les paramètres de votre EA pour ouvrir la fenêtre des paramètres", puis elle est coupée, alors que le texte n'est même pas à la moitié de la fenêtre.
Pouvez-vous me dire s'il existe un moyen de supprimer cette restriction ?
Comment puis-je combler cette lacune ?
Comment puis-je télécharger l'historique sans aucun trou ?
Et y a-t-il un moyen de vérifier s'il y a un trou dans l'histoire ?
Essayez ma fonction. Il se trouve au-dessus de votre message sur cette page. Divise une chaîne de caractères en plusieurs chaînes de manière à ce que chacune d'entre elles ne compte pas plus de 64 caractères. Ma fonction produit ces lignes fractionnées l'une au-dessus de l'autre. Ensuite, lorsque le message suivant s'affiche, il met en gris les anciens messages et affiche le nouveau message dans la couleur que vous avez définie lorsque vous avez appelé ma fonction.