Fehler, Irrtümer, Fragen - Seite 751

 
Rosh:
Alle notwendigen Funktionen sind bereits vorhanden, siehe Beispiel für IndicatorParameters()

Das alles ist verständlich. Ich verstehe nicht, warum sie es nicht erlaubt haben, sie direkt über den Handle zu löschen.

Es wäre logischer, den Indikator anhand seines Handles zu löschen, anstatt seinen Namen herauszufinden und ihn erst dann zu löschen.

Rosh:
Siehe EA_OBJPROP_CHART_ID

Ich möchte in der Lage sein, jedes Teilfenster separat zu verwalten.

Ich hatte z. B. Folgendes erwartet

bool  ChartSetInteger(
   long    chart_id,        // идентификатор графика
   int     prop_id,         // идентификатор свойства
   int     sub_window,      // номер подокна
   long    value            // значение
   );
 

PS

Was ist mit der Fehlermeldung 4014 im Testprogramm, wenn ein Indikator zum Diagramm hinzugefügt wird?

 
Interesting:

Das alles ist verständlich. Ich verstehe nicht, warum sie es nicht erlaubt haben, sie direkt über den Handle zu löschen.

Es wäre logischer, den Indikator anhand seines Handles zu löschen, anstatt seinen Namen herauszufinden und ihn erst dann zu löschen.

Ein Indikator kann einen Griff und einen Berechnungsteil haben - aber es gibt eine Vielzahl von grafischen Implementierungen in verschiedenen Charts. Das Diagramm weiß nur, dass es eine Entität mit diesem Namen gibt, kennt aber nicht genau das Handle dafür.

 
Interesting:

Das alles ist verständlich. Ich verstehe nicht, warum sie es nicht erlaubt haben, sie direkt über den Handle zu löschen.

Es wäre logischer, den Indikator anhand seines Handles zu löschen, anstatt seinen Namen herauszufinden und ihn dann zu löschen.

Danke für das Beispiel, aber ich habe dort keine Verwaltung des Unterfensters gefunden (ich verstehe, dass es eine Option gibt, nur die Eigenschaften des Hauptfensters zu steuern).


Dies ist schon seit langem verfügbar - MetaTrader 5 Client Terminal build 430

  1. Terminal: Zwangsweise Löschung von Terminalprotokollen, Expert Advisors und Tests, wenn nicht genügend Speicherplatz vorhanden ist.
  2. Terminal: Vererbung des Hauptdiagramm-Kommentars beim Hinzufügen eines grafischen Objekts "Chart" entfernt.
  3. Terminal: Repariertes Zeichnen von Indikatoren mit den Stilen DRAW_BARS und DRAW_CANDLES.
  4. Terminal: Feste Abfrage des Preisverlaufs eines Servers.
  5. MQL5: Neue Funktion für grafische Objekte OBJPROP_TOOLTIP - Tooltip-Text hinzugefügt.
  6. MQL5: Fähigkeit hinzugefügt, CHART_SHOW_PRICE_SCALE und CHART_SHOW_DATE_SCALE zu lesen.
  7. MQL5: Es wurde die Möglichkeit hinzugefügt, die Höhe des benutzerdefinierten Indikatorfensters über die INDICATOR_HEIGHT-Eigenschaft desIndicatorSetInteger() Befehls oder über #property indicator_height zu steuern.
  8. MQL5: Es wurde die Möglichkeit hinzugefügt, die Höhe des Diagramm-Unterfensters mit der Eigenschaft CHART_HEIGHT_IN_PIXELS zu steuern.
 

Was bedeutet das und wie wird man das Debugging los?

Indikator funktioniert, Neustart, keine Fehler, Editor geschlossen... woran liegt das?

 

Eine Frage zum Begriff des "Handels". Der Artikel Orders, Positions and Trades in MetaTrader 5 gibt das Beispiel: "Jeder Handel basiert auf einer bestimmten Order, abereine Order kann mehrere Trades erzeugen. Beispielsweise kann ein Auftrag zum Kauf von 10 Losen durch mehrere aufeinanderfolgende Abschlüsse in Teilausführung"ausgeführt werden. Wenn ich eine Position für z.B. 10 Lots eröffne, kann es sein, dass mehrere Trades in der Historie erscheinen. Nach meiner Strategie, 1 und 2 Position in die gleiche Richtung, mein Expert Advisor (MT4) öffnet mit 1,0 Lot, und dann die dritte und dann 2,0 Lot. Im MT5 kann es vorkommen, dass beim Öffnen der 1. Position in der Historie z.B. 2 oder mehr Trades erscheinen. In der Historie können 2 oder mehr Abschlüsse erscheinen. Wenn Sie eine 2. Position öffnen möchten, scrollt der Expert Advisor durch die Historie und stellt fest, dass es sich um die dritte Position handelt. Und es wird das falsche Los geöffnet. Das ist irgendwie ärgerlich.

Vielleicht weiß jemand, wie man dieses Problem lösen kann oder kann mir einen Link geben.

 
Silent:

Was bedeutet Debugging und wie wird man es wieder los?

Haben Sie versucht, den Indikator neu zu kompilieren?

 
alexvd:

Haben Sie versucht, den Indikator neu zu kompilieren?

Ja, natürlich. Mit F5 wird er kompiliert, er geht zum Terminal, wo sich der Chart mit diesem Indikator öffnet. Es gibt keine Fehler (im Journal). Ich schließe die Tabelle und gehe zurück zum Editor. Ich schließe den Editor, werfe den Indikator aus dem Navigator im Terminal in den Chart - er startet wieder als Debugging
 
Silent:
Ja, natürlich. Mit F5 wird er kompiliert, zum Terminal geworfen, wo sich der Chart mit diesem Indikator öffnet. Es gibt dort (im Protokoll) keine Fehler. Ich schließe die Tabelle und gehe zurück zum Editor. Ich schließe den Editor und wende den Indikator aus dem Navigator im Terminal auf den Chart an - er funktioniert wieder als Debugging
F5 ist nur der Anfang der Fehlersuche. Um zu kompilieren, drücken Sie F7 und werfen Sie danach den Indikator aus dem Navigator auf den Chart
Документация по MQL5: Операции с графиками / ChartIndicatorAdd
Документация по MQL5: Операции с графиками / ChartIndicatorAdd
  • www.mql5.com
Операции с графиками / ChartIndicatorAdd - Документация по MQL5
 
Silent:
Ja, natürlich. F5 kompiliert es und wirft es in das Terminal,

Kompilieren Sie es also mit der Taste F7!

F5 bedeutet Kompilieren zum Debuggen, siehe die Hilfe des Editors Hotkeys

 
Alexx:
F5 ist nur der Anfang der Fehlersuche. Um zu kompilieren, drücken Sie F7, und danach können Sie den Indikator im Navigator auf dem Chart zeichnen
Oh Mann... Danke, ist schon gut.
Grund der Beschwerde: