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

 

Et dans le cas d'une erreur, que retournera votre fonction, vrai ?

 
Mihail Matkovskij #:

Et en cas d'erreur, que retournera votre fonction, vrai ? !

Quelle erreur ? Donnez-moi un exemple.
 
MakarFX #:

Cela, oui, devrait fonctionner.

 
Nerd Trader #:

Parlez-vous du changement de couleur via la propriété ? J'ai une telle variante, j'ai besoin de comprendre pourquoi celle-ci ne fonctionne pas.

Il fonctionne, mais réagit à tout OnChartEven, c'est-à-dire qu'il supprime->crée avec le prix "0"->déplace le curseur. D'où le scintillement

 
Nerd Trader #:

Vous parlez du changement de couleur via une propriété ? J'ai cette option, j'ai besoin de comprendre pourquoi cela ne fonctionne pas.

Non. C'est pour que les objets ne scintillent pas et n'apparaissent/disparaissent pas, ne rebondissent pas comme des échaudés et que le CPU ne fasse pas de bruit...

Alors, qu'est-ce qui ne va pas, quand l'objet dans la fenêtre principale est "0", votre fonction renvoie false ? Expliquez le point avec>=0... ou égal à zéro.

Regardez attentivement.

if (ObjectFind(chart, name) >= 0)

À quelle plage de valeurs la condition retournera-t-elle vraie ?

 
MakarFX #:
Quelle erreur ? Donnez un exemple.

Qu'est-ce qui est généralement vrai ? Tout ce qui n'est pas 0 (je l'ai mentionné ci-dessus). Et vous n'avez true que lorsque la condition renvoie false à 0. L'objet est au sous-sol (ObjectFind(ch, name) > 0) - false. Mais l'erreur (-1) est vraie.

Par conséquent, voici la variante correcte :

bool objectExist(const long _chartID, const string _name) { return(ObjectFind(_chartID, _name) >= 0); } // чётко определим условие существования объекта!
 
Mihail Matkovskij #:

Non. C'est pour que les objets ne scintillent pas et n'apparaissent pas/disparaissent, ne sautent pas partout comme des échaudés et que le CPU ne fasse pas de bruit...

Faites bien attention.

À quelle plage de valeurs la condition retournera-t-elle vraie ?

Et si
ObjectFind(chart, name)=-1

Et alors ?

 
MakarFX #:

Il fonctionne, mais réagit à tout OnChartEven, c'est-à-dire qu'il supprime->crée avec le prix "0"->déplace le curseur. D'où le scintillement.

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


Mihail Matkovskij #:

Il empêche les objets de scintiller et d'apparaître/disparaître, de rebondir comme des animaux échaudés et le bruit des processeurs...

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 est déplacé.


Mihail Matkovskij #:

Regardez attentivement.

Pour quelle plage de valeurs la fonction renvoie-t-elle la réponse vraie ?

de zéro et plus ?
 
Mihail Matkovskij #:

Qu'est-ce qui est généralement vrai ? Tout ce qui n'est pas 0 (je l'ai mentionné ci-dessus). Et vous avez vrai seulement quand la condition retourne faux avec une valeur de 0.

Regardez encore une fois attentivement

 
MakarFX #:

Regardez encore une fois attentivement.

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.

Raison: