[Archive] Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Je ne peux aller nulle part sans toi - 2. - page 417

 

VladimirR:

Mais lorsqu'une sortie du cycle se produit, il reste un "jour supplémentaire". Et par conséquent, la mauvaise réponse sera imprimée.


Pour cela, vous devez savoir exactement pour quelle raison la sortie a eu lieu - jour ou deux fermes. Alors, vous aurez raison.
 
rustein:

Help fix si les ordres s'ouvrent avec SL, et s'il y a deux ordres opposés, pour le second il supprime SL.... mais ce n'est pas nécessaire.

Que voulez-vous ?
 

J'ai besoin qu'il parcoure tous les ordres ouverts, mais pour une raison quelconque s'il y a 2 ordres ouverts, il supprime le SL sur le dernier immédiatement après l'ouverture....

Et il devrait détruire tous les ordres lorsque la valeur de l'indicateur est supérieure à OrderOpenPrice() pour l'achat et inférieure pour la vente.

 
rustein:

J'ai besoin qu'il parcoure tous les ordres ouverts, mais pour une raison quelconque s'il y a 2 ordres ouverts, il supprime le SL sur le dernier immédiatement après l'ouverture....

Et il devrait détruire tous les ordres lorsque la valeur de l'indicateur est supérieure à OrderOpenPrice() pour l'achat et inférieure pour la vente.


vous avez oublié d'ajouter des contrôles pour Up et Dn (par analogie)
Up>0 && Up!=EMPTY_VALUE
 
sergeev:
vous avez oublié d'ajouter des contrôles pour Up et Dn (par analogie)
...Merci )
 
granit77:
Passez en revue tous les objets du graphique, trouvez un objet nommé lbl, sortez la chaîne FXRanger : Risk:Reward=x.xxx, analysez-la et convertissez x.xxx en double.
Veuillez expliquer ce que signifie "analyser" et, si ce n'est pas difficile, comment organiser une énumération d'objets. Je peux commander, mais je n'ai pas encore traité d'objets.
 
DhP:

Où est le matériau de base ?
Qu'ai-je attaché ? Il n'y a rien d'autre, ce fichier a été inséré dans les indicateurs et il fonctionne.
 
demlin:
Qu'est-ce que j'ai collé ? Il n'y a rien d'autre, j'ai collé ce fichier dans les indicateurs et cela fonctionne.

Vous n'avez pas joint le fichier source avec l'extension mq4, mais un exécutable compilé avec l'extension ex4.

 
demlin:
Veuillez expliquer ce que signifie "parsing" et, si ce n'est pas difficile, comment organiser l'énumération des objets. Je peux gérer les commandes, mais je n'ai pas encore traité les objets.
Je pense qu'en cherchant parmi les objets, nous devons trouver l'étiquette requise et placer son texte dans une variable de type chaîne de caractères en utilisant la fonction ObjectDescription().
Ensuite, nous "analysons" la chaîne de caractères résultante, c'est-à-dire que nous l'analysons et en extrayons les informations dont nous avons besoin. Nous utilisons les fonctions StringFind(), StringLen(), StringSubstr()
pour trouver la position du caractère "=" dans la chaîne "FXRanger::Risk:Reward=x.ххх" et placer la partie de la chaîne qui le suit (х.хххх) dans une autre variable de chaîne. Utilisez ensuite la fonction StrToDouble( ) pour convertir la chaîne de caractères en le nombre que vous recherchez.

   int obj_total=ObjectsTotal();
   string name;   
   string myname="lbl";
   string mytext;
   
   for(int i=obj_total+1;i>-1;i--){
     name=ObjectName(i);   
     if(StringFind( name,myname,0)>-1){
       mytext=ObjectDescription(name);  
     }
   }
//далее парсим строку mytext
P.S.
Cette danse est nécessaire car l'indicateur sort les données dans des objets, et non dans des tampons, et iCustom ne peut pas être appliqué. Et si vous n'avez pas le code de l'indicateur, vous ne pouvez rien changer à l'intérieur.
 

https://www.mql5.com/ru/code/10272

Bon après-midi. Veuillez m'aider à comprendre les tampons de l'indicateur ci-joint. Comment écrire dans le code de l'expert les conditions à l'ouverture, au changement de couleur...Merci.

Raison: