Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1795

 
Nerd Trader #:

Pourquoi ? Pourquoi cela ne se produit-il pas pour la ligne verte ? Les conditions sont identiques mais l'inverse (prix > Ask) pour la ligne jaune et (prix < Bid) pour la ligne verte.

Mais les lignes vertes et rouges, pour une raison quelconque, ne sont créées que dans une seule instance et ne clignotent pas lorsque le curseur se déplace.

de zéro et au-dessus ?

Point intéressant...

Vous recherchez deux lignes

        if(ObjectFind("Buy Stop") == window || ObjectFind("not allowed") == window){

et vous en supprimez un.

          ObjectDelete(line_name);

La question est : lequel ? Quel est le nom de famille de "line_name" ?

 
Mihail Matkovskij #:

Terminé le message. Testez votre fonction et la mienne avec un ID de graphique incorrect et une sous-fenêtre lorsque l'objet est créé. Et voyez ce que votre fonction renvoie et ce que la mienne croit.

Vous êtes juste hors du circuit)


 
MakarFX #:
Et si

Et alors ?

Erreur. Et toi, vrai, pour une raison quelconque !

 
Mihail Matkovskij #:

Erreur. Et toi, vrai, pour une raison quelconque !

"-1" signifie qu'il n'y a pas d'objet. Puisqu'il n'y a pas d'objet, vrai
 
MakarFX #:

Vous êtes juste hors du coup.)


Je vous ai donné à quoi devrait ressembler la vérification de l'existence de l'objet. Et que ma fonction ne fonctionnera pas ? Au contraire, il est plus polyvalent. Si vous devez travailler avec une sous-fenêtre, vous ne verrez pas une grande différence.

 
Mihail Matkovskij #:

Je vous ai donné à quoi devrait ressembler la vérification de l'existence de l'objet. Et que ma fonction ne fonctionnera pas ? Au contraire, il est plus polyvalent. Si vous devez travailler avec une sous-fenêtre, cela ne fera pas une grande différence.

Permettez-moi de répéter la question

Et si
ObjectFind(chart, name)=-1

Et alors ?

 
MakarFX #:
"-1" - il n'y a pas d'objet. Puisqu'il n'y a pas d'objet - vrai

Votre fonction retournera vrai et quand une erreur se produit :

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading

Toutes les questions des débutants sur MQL4 et MQL5, les astuces et les discussions sur les algorithmes et les codes.

Mihail Matkovskij, 2021.12.06 12:38

Enrichir votre message. Vous devez tester votre fonction et la mienne avec un ID de graphique incorrect et lorsque l'objet est créé dans la sous-fenêtre. Et voyez ce que votre fonction va retourner et ce que la mienne va retourner. Et lisez attentivement la documentation. Tous les liens et citations sont donnés ci-dessus.


 
  string name = "name";

  ObjectCreate(1, name, OBJ_HLINE, 1,0,0);

  Print(FindObject("name"));

  if (objectExist(0, "name")) Print("objectExist Find");
  else Print("objectExist Object not found.");

...

bool objectExist(const long _chartID, const string _name) { return(ObjectFind(_chartID, _name) >= 0); }

bool FindObject(string name)
  {
   if(ObjectFind(0,name)) return(false);
   return(true);
  }
Je ne crée pas dans la fenêtre principale, c'est toujours vrai (mais Makar a écrit pour ma situation seulement pour la fenêtre principale). Pour objectExist c'est clair, il y a >= 0.


Si la recherche d'un autre objet n'est pas "nom", alors la variante de Makar retournera false.
 
Mihail Matkovskij #:

Terminé le message. Testez votre fonction et la mienne avec un ID de graphique incorrect et lorsque l'objet est créé dans la sous-fenêtre . Et voyez ce que votre fonction va retourner et ce que la mienne va retourner. Et lisez attentivement la documentation. Tous les liens et citations sont donnés ci-dessus.

Mihail Matkovskij #:

Je vous ai donné à quoi devrait ressembler le contrôle d'existence de l'objet. Et ma fonction ne fonctionnera pas ? Au contraire, elle est plus universelle. Si vous devez travailler avec une sous-fenêtre, cela ne fera pas une grande différence.


Quant à l'universalité de la fonction, eh bien...

bool FindObject(string name,int win)
  {
   if(ObjectFind(0,name)!=win) return(false);
   return(true);
  }
 
MakarFX #:

Un point intéressant...

Vous cherchez deux lignes

et vous en retirez un.

La question est : lequel ? Quel est le nom de famille de "line_name" ?

Celle qui, par convention, est vraie
Raison: