[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 708

 

Jegliche Diskussion über Makler ist untersagt. Formulieren Sie die Fragen so, dass sie sich nicht auf bestimmte VCs beziehen. Zum Beispiel: "Was sind die Regeln für die Auswahl eines Brokers?" und probieren Sie dann aus, ob er Ihnen zusagt oder nicht.

 

Können Sie mir sagen, ob es möglich ist, einen Hintergrund unter den Indikator zu schrauben?

Ich konnte es bei der Suche nicht finden...

Und noch eine Sache. Wie lösche ich alle vom Indikator erstellten Objekte korrekt? Sie einfach auflisten?

 
Wenn das Diagramm nur Objekte enthält, die von diesem Indikator erstellt wurden, ist ObjectsDeleteAll() ausreichend, und wenn nicht alle Objekte gelöscht werden müssen, ObjectDelete() in der Schleife.
 
   for(int sd=100;sd>0;sd--)
   ObjectDelete("signal"+sd);
 for(int sd=0;sd<100;sd++)
 ObjectDelete("signal"+sd);
for(int sd=-1;sd<100;sd++)
ObjectDelete("signal"+sd);

Alle diese verlassen "signal00", "signal01", "signal02" usw., alles oberhalb von "signal10" wird getötet... Wo bin ich dumm?

 

Warum nicht einfach alle Objekte mit der Maske "Signal" löschen? Oder gibt es Objekte mit ähnlichen Namen von anderen Indikatoren?

Im Allgemeinen ist Print() in solchen Fällen nützlich, um zu sehen, was Sie zu löschen versuchen.

 
Mathemat:

Warum nicht einfach alle Objekte mit der Maske "Signal" (ohne Leerzeichen) löschen?

Im Allgemeinen ist Print() in solchen Fällen nützlich, um zu sehen, was Sie zu löschen versuchen.

Daran habe ich nämlich noch nicht gedacht :)

Objekte werden "lehrbuchmäßig" erstellt.

   for(int x=0;x<9;x++)
      for(int y=0;y<3;y++)
      {
         ObjectCreate("signal"+x+y,OBJ_LABEL,0,0,0,0,0);
         ObjectSet("signal"+x+y,OBJPROP_XDISTANCE,x*40+12);
         ObjectSet("signal"+x+y,OBJPROP_YDISTANCE,y*20+20);
         ObjectSetText("signal"+x+y,CharToStr(254),20,"Wingdings",Gold);

      }

Dann wird nur der Inhalt durch Ticks verändert.

Ich werde den Druck jetzt ausprobieren, er ist immer noch nicht klar... Ist mt 01 nicht eine Zahl?

 
Abzasc:

Alle diese verlassen "signal00", "signal01", "signal02" usw., alles oberhalb von "signal10" wird getötet... Wo bin ich dumm?



vielleicht ist der Ratschlag "daneben", Sie sollten sich um Einzigartigkeit bemühen... Wieder einmal "out of the box"... Ich selbst erreiche zum Beispiel Eindeutigkeit durch "Datum" + TF + "Präfix". Vielleicht ist das in einem bestimmten Fall "zu schwer", aber bei der "Erweiterung" hilft es sehr.
 
Ja, ich bin überrascht, dass die Namensmaske nicht direkt eingegeben werden kann. Das ist ungünstig.
 
Abzasc:

Noch eine Sache. Wie lösche ich alle vom Indikator erstellten Objekte korrekt? Sie einfach auflisten?

void clear_object(string s) {
        for(int i=ObjectsTotal()-1; i>=0;i--) {
                string vName = ObjectName(i);
     if (StringFind(vName,s) !=-1) ObjectDelete(vName);
  }
}

löscht alle Objekte, die die Zeichenkette s enthalten - mein EA zeichnet Pfeile mit dem Namen "Pfeil" + Zeit - alle Pfeile löschen clear_object("Pfeil");
 
DDFedor:

Vielleicht wäre der Ratschlag "out of the box", wir sollten nach Einzigartigkeit streben... Noch einmal: "Off-Topic"... Ich selbst erreiche zum Beispiel Eindeutigkeit durch "Datum" + TF + "Präfix". Vielleicht ist diese Option in einem bestimmten Fall "zu schwer", aber bei der "Erweiterung" hilft sie sehr.


Ja, das wird wahrscheinlich passieren. Hier ist eine Idee. Der Indikator erstellt eine Tabelle, und in meinem Fall ist das Signal bereits eine eindeutige Gruppe.