Neues MetaTrader 4 Client Terminal 387 und MetaTrader 4 Data Center Build 387 - Seite 10

 
nen:

Es handelt sich nicht um einen Fehler im visuellen Modus. Die Indikatorpuffer werden genau auf Null gesetzt - die Puffer werden mit der 388er Version neu initialisiert.

Leider irren Sie sich. Es handelt sich um eine Standardfunktion des Mechanismus IndicatorCounted() - Rücksetzen von Indikatorpuffern bei signifikanten Änderungen in der Geschichte (dieser Mechanismus war in allen Builds enthalten).

In diesem Fall liegt ein Fehler im visuellen Modus vor (im realen Modus habe ich ihn in dieser Woche nicht gefunden). Ich habe bereits beschrieben, was der Fehler ist.

 
AlexSTAL:
Ich habe den Grund für dieses Verhalten im folgenden Beitrag vollständig gefunden.

Danke für die Überprüfung, jetzt ist klar, wo wir graben müssen.

Wir werden versuchen, den Fehler zu finden, ihn zu beheben und so bald wie möglich ein Update zu veröffentlichen.

 
AlexSTAL:
Da haben Sie es also - Sie beantworten Ihre eigene Frage

Mein Fehler, IndicatorCounted() gilt nicht für die jüngsten Entwicklungen. Das ist nur in der ZUP der Fall. Und diese Neuinitialisierung wird nicht erfasst.
 
Ich möchte Sie darüber informieren, dass im Terminal und in der neuesten Version ein Fehler aufgetreten ist, nämlich der iBands-Indikator, der bei Angabe des Abweichungsparameters 0.8 0 setzt. Ich verstehe, dass dieser Parameter zu int gehört und eine ganze Zahl sein muss, aber wenn ich den Indikator an das Diagramm anhänge, kann der Abweichungswert kleiner als 1 gesetzt werden. Warum ist es möglich, eine Abweichung von weniger als 1 auf dem Chart einzustellen, aber nicht im Expert Advisor ...... oder wie kann man dies umgehen ..............
 
VOLDEMAR:
Ich möchte Sie darüber informieren, dass im Terminal und in der neuesten Version ein Fehler aufgetreten ist, nämlich der iBands-Indikator, der bei Angabe des Abweichungsparameters 0.8 0 setzt. Ich verstehe, dass dieser Parameter zu int gehört und eine ganze Zahl sein muss, aber wenn ich den Indikator an das Diagramm anhänge, kann der Abweichungswert kleiner als 1 gesetzt werden. Warum ist es möglich, eine Abweichung von weniger als 1 auf dem Chart einzustellen, aber nicht im Expert Advisor ...... oder wie kann man dies umgehen ..............
Das war schon immer so, soweit ich mich erinnere. Wenn nicht, wird Slava (stringo) mich korrigieren.
 
VOLDEMAR:
Ich möchte Sie darauf hinweisen, dass im Terminal und in der neuesten Version ein Fehler aufgetreten ist, nämlich der iBands-Indikator, der bei Angabe des Abweichungsparameters 0,8 0 setzt. Ich verstehe, dass dieser Parameter zu int gehört und eine ganze Zahl sein muss, aber wenn ich den Indikator an das Diagramm anhänge, kann der Abweichungswert kleiner als 1 gesetzt werden. Warum ist es möglich, eine Abweichung von weniger als 1 auf dem Chart einzustellen, aber nicht im Expert Advisor ...... oder wie man dies vermeiden kann ..............

Ja. Achten Sie auf die Art der übergebenen Parameter.

es ist int.

also iCustom BBands verwenden

 
sergeev:

Ja. Achten Sie auf die Art der übergebenen Parameter.

es ist int

also iCustom BBands verwenden

und wie man sie nutzt ?????

nie benutzt ....

 
VOLDEMAR:

und wie man sie nutzt ?????

nie benutzt ....

Das ist ein guter Grund, damit anzufangen, denn es gibt für alles ein erstes Mal. :)
 

Dem Terminal fehlt offensichtlich eine Funktion wie GetTerminalState, die einen Code (eine Reihe von Bits) zurückgeben sollte, mit dem man das Terminal direkt "fragen" kann, was es gerade tut, z.B. meldet IsConnected (das übrigens nach den Neuanmeldungen nicht immer das richtige Ergebnis liefert) nur ja oder nein. aber ich hätte gerne eine genauere Erklärung:

- offline (versucht zu verbinden, funktioniert nicht, steht still)

- Verbinden (versuchen zu verbinden)

- verbunden (mit dem Server verbunden)

Im letzten Fall besteht ebenfalls Klärungsbedarf:

- HistoryOrdersLoading, HistoryOrdersLoaded (heruntergeladen, die gesamte Bestellhistorie wird heruntergeladen).

- HistoryBarsLoading, HistoryBarsLoaded (heruntergeladen, der gesamte Verlauf nach Preisen.)

Auch während der Auftragsbearbeitung ist es nützlich zu wissen, dass ein Befehl zur Eröffnung eines Auftrags gesendet wurde und das Terminal nun auf dessen Eröffnung, Änderung oder Schließung wartet. Ein Auftrag wird nie sofort ausgeführt, und es wäre gut zu wissen, worüber das Terminal nachdenkt (die Ticks ticken, aber das Terminal handelt nicht - warum?).

Sie können auch den Status der Arbeits-/Handelserlaubnis des EA "packen".

 
nen:

Gut.

Die visuelle Prüfung. Moving Average Expert Advisor.

Einstellung der ZUP.

Euro. Arbeitszeiten.

Bitte beachten Sie, dass mein Code den Tausch der Historie verfolgt. Es wird also neu initialisiert, wenn die Geschichte ausgetauscht wird.

Früher in diesem Zweig habe ich ein Stück Code gepostet. Alle Optimierungen sind vorhanden.

Ich füge hier Bilder ein. Mein "aufgeblähter" Code ist für das Zeichnen von Bildern gedacht, das ist alles. Sie befasst sich nicht mit automatischem Handel. Wenn ein Bild nicht korrekt gezeichnet wird, handelt es sich um einen Fehler.

Erstes Bild. Eine kleine Geschichte. Ein Strahl wird gezeichnet. Alles ist normal.

Fast unmittelbar nach Beginn des Tests wurden mehrere Zickzack-Strahlen gezeichnet, ein Schmetterling wurde gezeichnet. Normales Fliegen.

Weiteres Fliegen. IHRE Neuinitialisierung ist erfolgt. Die Software kann dies nicht nachvollziehen. ES GIBT KEINE ROUTINEMÄSSIGE MÖGLICHKEIT, DIE NEUINITIALISIERUNG ZU VERFOLGEN.

Da die Berechnungsoptimierung aktiviert ist und es kein Signal für eine vollständige Neuberechnung gibt, sehen wir das Ergebnis:

Es hat sich ein wenig neue Geschichte angesammelt. Ein zickzackförmiger Strahl wurde gezeichnet:

Wenn wir nun den Indikator zurücksetzen, wird eine Initialisierung durchgeführt, und alles sieht wie folgt aus:

Und so weiter. Es gibt keine interne Möglichkeit, die Neuinitialisierung IHRES Indikatorpuffers zu verfolgen.

Und Sie können den Indikator nicht bei jedem Tick neu berechnen. Machen Sie selbst so ein Chaos. SIE haben schon lange viele Dinge in diesem Sinne getan. Und egal, wie oft wir Ihnen von vielen Fehlern erzählt haben, Sie haben sie nicht verstanden. Und jetzt, wo viele Programmierer es einfach leid sind, mit Ihnen zu kämpfen und ihre eigenen Umgehungen für Ihre Fehler gefunden haben, fangen Sie an, hinterhältige Dinge zu arrangieren.

Ihr Code ist genauso groß geworden. Und Sie haben wenig Ahnung von den Folgen Ihrer Innovationen.

Testen wir es weiter.


Ihre Neuinitialisierung ist erneut mehrmals durchgelaufen. Sie sollte folgendermaßen aussehen:

Ist sie schwer zu reproduzieren? Oder vielleicht wollen Sie das einfach nicht?

Und auch im weiteren Verlauf der Prüfung ist alles wie gehabt.

Schieben Sie die Schuld nicht auf andere. Der Code ist aufgebläht.

-------

Abschließend möchte ich es noch einmal sagen. Ich mache mir keine Sorgen um mich selbst. Ich kann jeden Ihrer Fehler selbst programmatisch vermeiden. Aber die Nutzer - und davon gibt es viele - werden das nicht können.

Ich möchte hinzufügen. Ich habe noch nie einen meiner Indikatoren verkauft und habe auch keinen meiner Indikatoren gegen eine Gebühr entwickelt. Ich denke, wenn Metaquotes alles grundlegend verändern können, wie in 387-388 Builds, wird niemand von außen in der Lage sein, ein gutes Geschäft mit der Entwicklung unter Verwendung von MQL(*)-Sprachen aufzubauen. Sie können Entwicklern von Drittanbietern noch keinen stabilen Entwicklungsrahmen bieten.

Alle kostenpflichtigen Entwicklungen, die Ihre Sprachen verwenden, werden als eine Art Ausweichmanöver betrachtet.


Hat alles wie beschrieben gemacht. Aber mit ein paar Änderungen.

  1. Im Client-Terminal habe ich die Ausgabe im Protokoll bei OUR-Puffer-Neuinitialisierung eingestellt.
  2. Im Kennzeichen ZUP setzen Sie den Ausdruck beim Löschen von Schmetterlingen.

Hier ist das Protokoll.

15:45:16 Compiling 'ZUP_v92'
15:45:16 ZUP_v92 EURUSD,H1: loaded successfully
15:45:40 ZUP_v92 EURUSD,H1: initialized
15:45:40 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1095  IndicatorCounted=0
15:45:40 ZUP_v92 EURUSD,H1: triangle deleted
15:45:40 ZUP_v92 EURUSD,H1: triangle deleted
15:45:40 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:45:40 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1095  IndicatorCounted=0
15:45:40 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:45:40 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1095  IndicatorCounted=1094
15:45:41 custom indicator ZUP_v92 EURUSD,H1 buffer reinitialize
15:45:41 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1001  IndicatorCounted=0
15:45:41 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:45:41 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1001  IndicatorCounted=0
15:45:41 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:45:41 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1001  IndicatorCounted=1000
15:45:41 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:45:41 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1001  IndicatorCounted=1000
15:45:41 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:45:41 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1001  IndicatorCounted=1000
15:45:41 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:45:41 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1001  IndicatorCounted=1000
15:45:41 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:45:41 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1001  IndicatorCounted=1000
15:45:41 ZUP_v92 EURUSD,H1: delete objects from ZigZag
...
15:46:07 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1007  IndicatorCounted=1006
15:46:07 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:46:07 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1007  IndicatorCounted=1006
15:46:07 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:46:07 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1007  IndicatorCounted=1006
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:07 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:46:07 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1007  IndicatorCounted=1006
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:07 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:46:07 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1007  IndicatorCounted=1006
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:07 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:46:07 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1007  IndicatorCounted=1006
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:07 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:46:07 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1007  IndicatorCounted=1006
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:07 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:46:07 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1007  IndicatorCounted=1006
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:08 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:46:08 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1007  IndicatorCounted=1006
15:46:08 ZUP_v92 EURUSD,H1: triangle deleted
15:46:08 ZUP_v92 EURUSD,H1: triangle deleted
...
15:55:15 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:15 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1036  IndicatorCounted=1035
15:55:15 ZUP_v92 EURUSD,H1: triangle deleted
15:55:15 ZUP_v92 EURUSD,H1: triangle deleted
15:55:23 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:23 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1036  IndicatorCounted=1035
15:55:23 ZUP_v92 EURUSD,H1: triangle deleted
15:55:23 ZUP_v92 EURUSD,H1: triangle deleted
15:55:23 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:23 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1036  IndicatorCounted=1035
15:55:23 ZUP_v92 EURUSD,H1: triangle deleted
15:55:23 ZUP_v92 EURUSD,H1: triangle deleted
15:55:23 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:23 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1036  IndicatorCounted=1035
15:55:23 ZUP_v92 EURUSD,H1: triangle deleted
15:55:23 ZUP_v92 EURUSD,H1: triangle deleted
15:55:23 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:23 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1036  IndicatorCounted=1035
15:55:23 ZUP_v92 EURUSD,H1: triangle deleted
15:55:23 ZUP_v92 EURUSD,H1: triangle deleted
15:55:24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:24 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1035
15:55:24 ZUP_v92 EURUSD,H1: triangle deleted
15:55:24 ZUP_v92 EURUSD,H1: triangle deleted
15:55:24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:24 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:24 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:24 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:24 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:24 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:24 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:24 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:52 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:52 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:52 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:52 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:52 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:52 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:52 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:52 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:53 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:53 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:53 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:53 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:53 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:53 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036

Nach der letzten Schmetterlingslöschung (zwei gelöschte Dreieckszeilen) gab es keine Neuinitialisierung des Puffers!

Das gleiche Verhalten zeigt sich übrigens auch in Ihrem Lieblings-Build 225