Frage zu objectget und objectgetvaluebyshift - Seite 3

 
Rajakumar1:

Vielen Dank für Ihre Hilfe. Gibt es einen Bereich, in dem ich zuerst suchen sollte? Der Meta-Editor zeigt nur Warnungen an. Keine Fehler.


Nun, wenn der Indikator funktioniert und die Trendlinien so zeichnet, wie Sie es erwarten, konzentrieren Sie sich auf den EA.

Wenn die Druckanweisungen nicht angezeigt werden, sind die Objekte nicht vorhanden. Haben Sie den Indikator zur gleichen Zeit wie den EA zum Chart hinzugefügt?

Wenn Sie die Linien auf dem Diagramm nicht sehen können, wird der EA nicht funktionieren.

 
honest_knave:


Nun, wenn der Indikator funktioniert und die Trendlinien so zeichnet, wie Sie es erwarten, konzentrieren Sie sich auf den EA.

Wenn die Druckanweisungen nicht angezeigt werden, sind die Objekte nicht vorhanden. Haben Sie den Indikator dem Diagramm hinzugefügt, während Sie den EA ausführen?

Wenn Sie die Linien auf dem Diagramm nicht sehen können, wird der EA nicht funktionieren.

Ich danke Ihnen. Der Indikator funktioniert einwandfrei. Ich frage mich, warum die Objekte für den EA nicht sichtbar sind. Die Chart-Objektliste zeigt alle Trendlinien an.
 
Rajakumar1:
Ich danke Ihnen. Der Indikator funktioniert gut. Ich frage mich nur, warum die Objekte für EA nicht sichtbar sind. Die Chart-Objektliste zeigt alle Trendlinien an.


Versuchen Sie, diese alle zu ersetzen:

   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);
      }
     }

Mit diesem:

   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:


Versuchen Sie, dies alles zu ersetzen:

Mit diesem:

Danke. Die Druckfunktion druckt den Preis nicht aus. Die Chart-Objektliste zeigt alle Trendlinien an, die sich auch im Chart befinden. Ich habe "Print("price1: ", price1);" nach der ersten Trendlinie hinzugefügt.
 
Rajakumar1:
Danke! Die Druckfunktion druckt den Preis nicht aus. In der Chart-Objektliste werden alle Trendlinien angezeigt und befinden sich auch im Chart. Ich habe "Print("price1: ", price1);" nach der ersten Trendlinie hinzugefügt.


Ja, der von mir angegebene Code druckt nur, wenn es ein Problem gibt.

Sehen Sie irgendwelche Meldungen im Expertenprotokoll?

z.B. "Fehler: kann Trendline1-m30 nicht finden"?

 
Rajakumar1:
Danke! Die Druckfunktion druckt den Preis nicht aus. Die Chart-Objektliste zeigt alle Trendlinien an und ist auch im Chart zu sehen. Ich habe "Print("price1: ", price1);" nach der ersten Trendlinie hinzugefügt.

Vielen Dank dafür. Es funktioniert jetzt. Das Problem ist, dass der automatische Handel deaktiviert ist.

 
Rajakumar1:

Vielen Dank dafür. Es funktioniert jetzt. Das Problem ist, dass der automatische Handel deaktiviert ist.


 
honest_knave:


Ja, der von mir zur Verfügung gestellte Code wird nur gedruckt, wenn es ein Problem gibt.

Sehen Sie irgendwelche Meldungen im Expertenprotokoll?

z. B. "Fehler: kann Trendlinie1-m30 nicht finden"?

Vielen Dank! Es funktioniert jetzt. Das Problem ist, dass der automatische Handel deaktiviert ist.
 
Rajakumar1: Es funktioniert jetzt. Das Problem ist mit deaktivierten Auto-Handel.
  1. Das Problem, nach dem Sie gefragt haben, hat nichts mit dem deaktivierten automatischen Handel zu tun.
  2. Überprüfen Sie Ihre Rückgabewerte (OrderSend) und finden Sie heraus, warum.Was sind Funktionsrückgabewerte? Wie verwende ich sie? -MQL4-Forum und häufige Fehler in MQL4-Programmen und wie man sie vermeidet - MQL4-Artikel
 
Hallo Leute, ich würde gerne den Indikator durch double iCustom(Symbol(), 0, jebatfx-breakout-trendline, Price_close, 0, 1) aufrufen;

Um die obere Trendlinie und die untere Trendlinie in meinem ea zu erhalten.

Wenn der Preis brechen sie, es nehmen einen Handel.

Ich habe jemals meine ea, aber ich kann nicht die hohe und die niedrige.


Glauben Sie, ich würde ObjectGetValueByShift() verwenden, um es zu definieren? Dankeschön