Fehler, Irrtümer, Fragen - Seite 929

 
Die Funktion gibt die Fensternummer zurück. Sie prüfen das Ergebnis nicht korrekt.
 
Konstantin83:
Wie funktioniert die ObjectFind-Funktion? Wo liegt der Fehler im Code für die Suche nach einem Objekt anhand des Namens? Die Eigenschaften des Objekts ändern sich, aber ich kann das Objekt selbst nicht finden.

void OnStart()
  {
//---

   if(ObjectCreate(0,"test",OBJ_LABEL,0,0,0))
     {
      ObjectSetString(0,"test",OBJPROP_TEXT,"Init");
      if(ObjectFind(0,"test")<0)
        {
         ObjectSetString(0,"test",OBJPROP_TEXT,"Нашел объект с помощью функции ObjectFind");
        }
      else
        {
         ObjectSetString(0,"test",OBJPROP_TEXT,"Не нашел объект с помощью функции ObjectFind");
        }
     }
  }

Wir sollten die Bedingungen ändern:

if(ObjectFind(0,"test")>=0)
 
Contender:

Wir sollten die Bedingungen ändern:

Vielen Dank :)

Ich habe einen kleinen Knick in mir.

 
Konstantin83:

Danke :)

Irgendetwas hat mich total durcheinander gebracht.

Das kommt vor :)
 

Kolleginnen und Kollegen, bitte um Ratschläge zur Ausrichtung von Text in einem Diagramm.

Das Diagramm muss einige Textinformationen anzeigen. Zum Beispiel so:

Beispielhafte Ausgabe

Wie Sie aus dem Beispiel ersehen können, ist der Text wie folgt formatiert:

1. Der Name des Parameters wird von links nach rechts ausgerichtet, wobei derselbe vom linken Rand aus beginnt.

2. Die Parameterwerte sind von rechts nach links ausgerichtet, wobei derselbe Wert am rechten Rand beginnt.

In dem oben genannten Beispiel wird die Funktion Comment() verwendet. Zur Veranschaulichung des Beispiels habe ich einen an den Abstand angepassten Text verwendet.

Meine Frage lautet eigentlich. Wie lässt sich dieser Mechanismus der automatischen Ausrichtung am besten (mit welchen Funktionen) und mit minimalem Leistungsverlust umsetzen?

Ich wäre sowohl für eine allgemeine Antwort als auch für einen Code dankbar.

 

Vielleicht ist ja jemand interessiert. Im Allgemeinen wird das Problem teilweise durch die Verwendung des grafischen ObjektsOBJ_LABEL und die Verwendung einer einzeiligen Schriftart gelöst.

Ich erstelle Objekte in OnInit() und lösche sie in OnDeinit() und versuche, die Eigenschaft OBJPROP_TEXT zu setzen. Wenn ein Fehler auftritt, melden Sie ihn einfach in Form eines Protokolls. Bei jedem Tick/Timer zu prüfen, ob ein Benutzer/ein anderer EA das Etikett gelöscht hat, ist zu ressourcenintensiv.

Was es nicht geschafft hat, ist, die Breite der gesetzten Markierung zu ermitteln. Um, grob gesagt, je nach_Wert, seine obere rechte Ecke weiter zu entfernen, damit sie sich nicht mit dem Namen des_Wertes überschneidet. Finden Sie einfach einen angenehmen Abstand, um einen siebenstelligen Wert einzupassen. Achtstellige Zahlen werden sich überschneiden. Nicht schön und nicht praktisch! :)

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов - Документация по MQL5
 
voix_kas:

Vielleicht ist ja jemand interessiert. Im Allgemeinen wird das Problem teilweise durch die Verwendung des grafischen ObjektsOBJ_LABEL und die Verwendung einer einzeiligen Schriftart gelöst.

Verwenden Sie OBJ_EDIT ("Eingabefeld"), das nicht bearbeitet werden darf. Größe, Farbe, Schriftart und Textausrichtung können mitOBJPROP_ALIGN eingestellt werden.

Eine für den Namen mitALIGN_LEFT und eine für den Wert mitALIGN_RIGHT.

Um zu verhindern, dass ein anderes Programm Ihre Objekte löscht, geben Sie ihnen eindeutige Namen.

Die mit dem Programm erstellten Objekte können anfangs nicht vom Benutzer ausgewählt und gelöscht werden, aber wenn sie es doch tun, ist es einfach, diese Tatsache zu erkennen und das Objekt neu zu erstellen.

 

Es gibt Störungen in den Signalen:
Einlagen: 1.68 USD############ Broker: Alpari-Demo
WER hat das Geld deponiert und wer spielt es ein?

 
Kann man es so einrichten, dass während der Optimierung alle Berechnungen nur in die Cloud gehen? Ich möchte alle Prozessorkerne meines Computers entlasten, da sich ein Agent nicht abschalten lässt.
 
paladin800:
Kann man es so einrichten, dass während der Optimierung alle Berechnungen nur in die Cloud gehen? Ich möchte alle CPU-Kerne meines Computers von der Last abkoppeln, da ein Agent nicht abgekoppelt ist.
Klicken Sie mit der rechten Maustaste in den Abschnitt Agenten und deaktivieren Sie im Kontextmenü die Option Lokale Agenten.
Grund der Beschwerde: