Question sur l'objetget et l'objetgetvaluebyshift - page 3

 
Rajakumar1:

Merci beaucoup pour votre aide. Où regarder en premier ? L'éditeur Meta n'affiche que des avertissements. Aucune erreur.


Si l'indicateur fonctionne / dessine les lignes de tendance comme vous le souhaitez, concentrez-vous sur l'EA.

Si les instructions d'impression ne s'affichent pas, les objets n'existent pas. L'indicateur est-il ajouté au graphique en même temps que vous exécutez l'EA ?

Si vous ne pouvez pas voir les lignes sur le graphique, l'EA ne va pas fonctionner.

 
honest_knave:


Si l'indicateur fonctionne / dessine les lignes de tendance comme vous le souhaitez, concentrez-vous sur l'EA.

Si les instructions d'impression ne s'affichent pas, les objets n'existent pas. L'indicateur est-il ajouté au graphique en même temps que vous exécutez l'EA ?

Si vous ne pouvez pas voir les lignes sur le graphique, l'EA ne va pas fonctionner.

Merci. L'indicateur fonctionne bien. Je me demande pourquoi les objets ne sont pas visibles pour l'EA. La liste des objets du graphique montre toutes les lignes de tendance.
 
Rajakumar1:
Merci. L'indicateur fonctionne bien. Je me demande pourquoi les objets ne sont pas visibles pour l'EA. La liste des objets du graphique montre toutes les lignes de tendance.


Essayez de remplacer tout cela :

   int obj_total = ObjectsTotal();
   string name;
   for(int j = 0; j<obj_total; j++)
   {
   name = ObjectName(j);
   Print(j, "Object - ", name);
   
      if(ObjectType(name) == OBJ_TREND && name == "Trendline1-m30")
      {
       price1 = ObjectGetValueByShift(name, 0);
       Print("price1:  ", price1);
      }

      if(ObjectType(name) == OBJ_TREND && name == "Trendline2-m30")
      {
       price2 = ObjectGetValueByShift(name, 0);
       Print("price2:  ", price2);
      }

      if(ObjectType(name) == OBJ_TREND && name == "Trendline3-m30")
      {
       price3 = ObjectGetValueByShift(name, 0);
       Print("price3:  ", price3);
      }

      if(ObjectType(name) == OBJ_TREND && name == "Trendline4-m30")
      {
       price4 = ObjectGetValueByShift(name, 0);
       Print("price4:  ", price4);
      }

      if(ObjectType(name) == OBJ_TREND && name == "Trendline5-m30")
      {
       price5 = ObjectGetValueByShift(name, 0);
       Print("price5:  ", price5);
      }

      if(ObjectType(name) == OBJ_TREND && name == "Trendline6-m30")
      {
      price6 = ObjectGetValueByShift(name, 0);
      Print("price6:  ", price6);
      }

      if(ObjectType(name) == OBJ_TREND && name == "Trendline7-m30")
      {
       price7 = ObjectGetValueByShift(name, 0);
       Print("price7:  ", price7);
      }

      if(ObjectType(name) == OBJ_TREND && name == "Trendline8-m30")
      {
       price8 = ObjectGetValueByShift(name, 0);
       Print("price8:  ", price8);
      }
     }

Avec ça :

   string name = "Trendline1-m30";
   if(ObjectFind(0,name)<0) Print("Error: cannot find ", name);
   else price1 = ObjectGetValueByShift(name, 0);

   name = "Trendline2-m30";
   if(ObjectFind(0,name)<0) Print("Error: cannot find ", name);
   else price2 = ObjectGetValueByShift(name, 0);

   name = "Trendline3-m30";
   if(ObjectFind(0,name)<0) Print("Error: cannot find ", name);
   else price3 = ObjectGetValueByShift(name, 0);

   name = "Trendline4-m30";
   if(ObjectFind(0,name)<0) Print("Error: cannot find ", name);
   else price4 = ObjectGetValueByShift(name, 0);
   
   name = "Trendline5-m30";
   if(ObjectFind(0,name)<0) Print("Error: cannot find ", name);
   else price5 = ObjectGetValueByShift(name, 0);
   
   name = "Trendline6-m30";
   if(ObjectFind(0,name)<0) Print("Error: cannot find ", name);
   else price6 = ObjectGetValueByShift(name, 0);   

   name = "Trendline7-m30";
   if(ObjectFind(0,name)<0) Print("Error: cannot find ", name);
   else price7 = ObjectGetValueByShift(name, 0);
   
   name = "Trendline8-m30";
   if(ObjectFind(0,name)<0) Print("Error: cannot find ", name);
   else price8 = ObjectGetValueByShift(name, 0);
 
honest_knave:


Essayez de remplacer tout ça :

Avec ça :

Merci. La fonction d'impression n'imprime pas le prix. La liste des objets du graphique montre toutes les lignes de tendance et sont également dans le graphique. J'ai ajouté "Print("price1 : ", price1) ;" après la première ligne de tendance.
 
Rajakumar1:
Merci. La fonction d'impression n'imprime pas le prix. La liste des objets du graphique montre toutes les lignes de tendance et sont également dans le graphique. J'ai ajouté "Print("price1 : ", price1) ;" après la première ligne de tendance.


Oui, le code que j'ai fourni n'imprime que s'il y a un problème.

Voyez-vous des messages dans le journal des experts ?

Par exemple, "Error : cannot find Trendline1-m30" ?

 
Rajakumar1:
Merci. La fonction d'impression n'imprime pas le prix. La liste des objets du graphique montre toutes les lignes de tendance et elles sont également dans le graphique. J'ai ajouté "Print("price1 : ", price1) ;" après la première ligne de tendance.

Merci beaucoup. Cela fonctionne maintenant. Le problème vient de la désactivation du trading automatique.

 
Rajakumar1:

Merci beaucoup. Cela fonctionne maintenant. Le problème vient de la désactivation du trading automatique.


 
honest_knave:


Oui, le code que j'ai fourni ne s'imprime que s'il y a un problème.

Voyez-vous des messages dans le journal des experts ?

Par exemple, "Error : cannot find Trendline1-m30" ?

Merci beaucoup. Cela fonctionne maintenant. Le problème vient de la désactivation de l'auto trading.
 
Rajakumar1: Cela fonctionne maintenant. Le problème est que l'auto trading est désactivé.
  1. Le problème que vous posez n'a rien à voir avec la désactivation de l'auto trading.
  2. Vérifiez vos codes de retour (OrderSend) et trouvez la raison.Que sont les valeurs de retour des fonctions ? Comment les utiliser ? -MQL4 forum and Common Errors in MQL4 Programs and How to Avoid Them - MQL4 Articles
 
Bonjour les gars, Je voudrais appeler l'indicateur par double iCustom(Symbol(), 0, jebatfx-breakout-trendline, Price_close, 0, 1) ;

Pour obtenir la ligne de tendance haute et la ligne de tendance basse sur mon ea.

Quand le prix la casse, il prend un trade.

J'ai toujours eu mon ea mais je n'arrive pas à obtenir le haut et le bas.


Pensez-vous que je devrais utiliser ObjectGetValueByShift() pour le définir ? Merci
Raison: