conseiller expert - questions diverses - page 26

 
Max Enrik:
J'ai déjà essayé le code ci-dessous.
if(id==CHARTEVENT_OBJECT_DRAG && sparam=="#"+IntegerToString(OrderTicket())+"-TP")
  {
// here was my functions
  }

Cela ne m'a pas répondu.

Je viens de le relire... essayez-vous de déclencher un code lorsque vous faites glisser une ligne TP générée par le terminal ? Si oui, je vais devoir voir si cela fonctionne à l'ouverture des marchés.
 
honest_knave:
Je relis juste ça... est-ce que tu essayes de déclencher un code quand tu déplaces une ligne TP générée par le terminal ?

Non, il ne le fait pas.

Il essaie de déplacer une ligne furtive faite sur mesure.

Il devrait fonctionner 24/7 et si les marchés fermés produisent une erreur de modification, si le code est configuré pour faire cela parce que j'avais enlevé cette partie à sa demande la dernière fois.

 

@honest_knave

Non, je ne veux pas utiliser le terminal - ligne TP générée. (La ligne TP du terminal doit suivre un objet HLine personnalisé - je l'ai déjà fait avec votre aide et celle de M. Marco - merci beaucoup encore une fois).

---

Tout d'abord, merci pour vos deux commentaires.
Peut-être que j'ai perdu mon cerveau, vraiment je suis désolé. Je ne peux pas utiliser vos derniers commentaires.

Je pense juste que je devrais écrire un code qui vous aide à comprendre mon problème plus clairement.

void OnTick()
  {
   ObjectCreate(0,"Label",OBJ_LABEL,0,0,0);
   ObjectSetInteger(0,"Label",OBJPROP_COLOR,clrWhite);
   ObjectSetInteger(0,"Label",OBJPROP_XDISTANCE,20);
   ObjectSetInteger(0,"Label",OBJPROP_YDISTANCE,Bid); // of course this is not correct value for it - but I try Label object moves with bid line together

   /*
   I do not need Object Text why? Because it will disappear when I scrolls chart.
   I just need fixed OBJPROP_XDISTANCE = 20 | also my chart design starts from left margin x = 20

   I have a faith this Chart Operation can help me,
   but there is not example for how can I use this operation ( in MQL4 documentation - also I can't find it )
   ChartTimePriceToXY();
   */

  }

Encore une fois, je suis vraiment désolé pour cette confusion.

Merci d'avance.

 

Non, maintenant vous essayez de recréer l'objet à chaque tick ! cela va générer l'erreur 4200 à chaque tick, l'objet existe déjà.

Créez l'objet une fois dans OnInit ou dans une fonction séparée et utilisez la fonction ObjectMove() pour déplacer l'objet.

 
Marco vd Heijden:

Non, maintenant vous essayez de recréer l'objet à chaque tick ! cela va générer l'erreur 4200 à chaque tick, l'objet existe déjà.

Créez l'objet une fois dans OnInit ou dans une fonction séparée et utilisez la fonction ObjectMove() pour déplacer l'objet.

Je ne vois pas dans la documentation de Obj_Label la fonction ObjectMove().
Est-il possible d'utiliser ObjectMove() pour Obj_Label, s'il vous plaît ?

 
Max Enrik:

Je ne vois pas de documentation sur ObjectMove() dans Obj_Label.
Est-il possible d'utiliser ObjectMove() pour Obj_Label, s'il vous plaît ?

Non. ObjectMove() est destiné aux objets fixés par le temps/prix et non par x/y, je crois (à moins que la documentation ne doive être mise à jour !).

Utilisez deux appels ObjectSetInteger() avec OBJPROP_XDISTANCE et OBJPROP_YDISTANCE.

 

Merci pour votre commentaire.

J'ai déjà demandé dans d'autres sites de forum, qui peutObj_Label se déplace avec la ligne de prix d'offre ensemble, s'il vous plaît ?
Puis-je convertir la valeur du prix de l'offre en coordonnée Y, s'il vous plaît ?

Je suis vraiment fatigué de faire des recherches sur ce sujet.

Merci !

 

Si vous n'êtes pas sûr, vous pouvez toujours essayer, c'est le seul moyen de savoir si quelque chose fonctionne ou non.

Si cela ne fonctionne pas, il y a toujours une alternative OBJ_BUTTON OBJ_RECTANGLE

 
Max Enrik:

Merci pour votre commentaire.

J'ai déjà demandé dans d'autres forums, queObj_Label puisse se déplacer avec la ligne de prix de l'offre, s'il vous plaît ?
Puis-je convertir la valeur du prix de l'offre en coordonnée Y, s'il vous plaît ?

Je suis vraiment fatigué de faire des recherches sur ce sujet.

Merci !

La solution la plus simple est d'utiliser OBJPROP_TEXT sur une ligne. Le texte sera toujours à gauche de l'écran, mais se déplacera vers le haut et le bas avec le prix.

Sinon, vous aurez besoin de plus de code. Jetez un œil à ChartTimePriceToXY() et ChartXYToTimePrice().

 
honest_knave:

La solution la plus simple est d'utiliser OBJPROP_TEXT sur une ligne. Le texte sera toujours à gauche de l'écran, mais se déplacera vers le haut et le bas avec le prix.
Sinon, vous aurez besoin de plus de code. Jetez un coup d'œil à ChartTimePriceToXY() et ChartXYToTimePrice().

M. Marco a déjà publié un exemple pour ChartXYToTimePrice(), puis j'ai essayé pour Label Object, je n'ai pas pu obtenir un bon résultat, mais c'était un exemple génial que je garde pour moi - merci beaucoup @Marco vd Heijden.

Je voudrais donc demander si les deux ChartTimePriceToXY() et ChartXYToTimePrice() peuvent m'aider pour cette solution, s'il vous plaît ?
Si oui, où puis-je apprendre avec des exemples les fonctions ChartTimePriceToXY(), s'il vous plaît ?

Si j'ai fait des erreurs dans mon commentaire, ne me blâmez pas, je suis fatigué de chercher une solution à ce problème.

Merci d'avance.