[ARCHIV!] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen - 4. - Seite 338

 

Vinin 20.08.2012 13:28

Gek34:

Vielen Dank, ich werde es auseinandernehmen. Und mit der zweiten Frage, können Sie mir sagen, 3 Beiträge über?

Es gibt nicht viele Informationen

Code beigefügt: Wenn eine schwebende Limit- oder Stop-Order platziert wird, erscheint eine Änderungszeile. Wenn ich sie verschiebe, wird die Order nach Bedarf geändert, aber dann wird bei jedem Tick versucht, sie zu ändern, obwohl ich sie nicht mehr brauche.

Ich habe nicht alle Fehler aufgeschrieben, aber ich habe keine Lust, es jetzt noch einmal zu schreiben. Schriften sind nicht angehängt (Wenn Sie sie nicht installiert haben, wird der Name schief angezeigt)

Dateien:
pobedaov5.mq4  51 kb
 
Gek34:

Vinin 20.08.2012 13:28

Gek34:

Und mit der zweiten Frage, kann nicht prompt 3 Beiträge oben ?

Es gibt nicht viele Informationen

Ich füge den Code bei: Nachdem eine schwebende Limit- oder Stop-Order platziert wurde, erscheint eine Änderungszeile. Wenn Sie diese verschieben, wird die Order nach Bedarf geändert, aber nach jedem Tick wird versucht, sie zu ändern, obwohl ich sie nicht mehr brauche.

Ich habe die Fehler beim Schreiben des Codes nicht verfolgt, aber jetzt habe ich keine Lust, ihn neu zu schreiben.


Man muss die Logik verstehen, um sie zu verstehen. Und das kostet mich eine Menge Zeit. Entschuldigung
 

Dann formuliere ich die Frage anders: Wenn ein Fehler bei der Auftragsänderung nicht im (Journal, das Journal ist sauber), sondern in der Registerkarte (Experten) angezeigt wird, bedeutet das, dass

1. Ein Fehler in den Berechnungen des Expert Advisors (eine Anfrage an den Server zur Änderung des Auftrags wurde nicht gesendet)?

2. der Server die Fehlermeldung zurückgegeben hat (da dies jedes Mal passiert, kann das Konto gesperrt werden)?

 
Gek34:

Dann formuliere ich die Frage anders: Wenn ein Fehler bei der Auftragsänderung nicht im (Journal, das Journal ist sauber), sondern in der Registerkarte (Experten) angezeigt wird, bedeutet das, dass

1. Ein Fehler in den Berechnungen des Expert Advisors (eine Anfrage an den Server zur Änderung des Auftrags wurde nicht gesendet)?

2. der Server den Fehler zurückgegeben hat (da dies jedes Mal passiert, kann das Konto gesperrt werden)?


Fehlercode. Wenn 0, wurde keine Anfrage an den Server gesendet.
 
skyjet:
... Kann MetaTrader entscheiden, ob die Ergebnisse wichtig sind oder nicht?

Ja, wenn Sie das Kontrollkästchen "Unbrauchbare Ergebnisse überspringen" aktiviert haben. Registerkarte Optimierungsergebnisse, rechte Maustaste.
 
Zhunko:
Wenn Sie danach suchen, recherchieren Sie weiter unter DOS. Das könnte sich als nützlich erweisen.

Danke, ich habe es verstanden.

Sehr lustig.

 

https://www.mql5.com/ru/forum/138609/page333#683047

Kann mir aber jemand helfen, wie ich das Feld richtig organisiere? Es ist kein kompliziertes Problem, aber ich kann es nicht allein lösen.

 
silhouette:

https://www.mql5.com/ru/forum/138609/page333#683047

Kann mir aber jemand helfen, wie ich das Feld richtig organisiere? Es ist kein kompliziertes Problem, aber ich kann es nicht allein lösen.

Versuchen Sie, die Aufgabe auf einem Blatt Papier zu lösen:

2) Finde die Länge einer Reihe von grünen und roten Werten und speichere sie in einem Array.

Mir persönlich ist nicht klar, wie groß die Arrays sein sollten. Mit anderen Worten: Über welchen Zeitraum möchten Sie ein Bild der grünen und roten Werte sehen, ausgehend von welchem Balken?

 
artmedia70:

Versuchen Sie, dieses Problem "auf dem Papier" zu lösen:

2) Ermitteln Sie die Länge einer Reihe von grünen und roten Werten und speichern Sie sie in einem Array.

Ich persönlich verstehe nicht, wie groß die Arrays sein sollen. Mit anderen Worten: Über welchen Zeitraum möchten Sie das Bild der grünen und roten Werte sehen, ausgehend von welchem Balken?

Wie groß die Arrays sein sollen, weiß ich nicht. Sein Index sollte über das gesamte Intervall der berechneten Takte akkumuliert werden, d.h. ab der Taktgrenze.

Ich werde versuchen, die Logik des Problems in Worten zu beschreiben.

  • Wir haben drei Indikatorpuffer, die eine farbige LSMA zeichnen. Wenn der Wert des aktuellen Balkens höher ist als der des vorherigen, wird der Wert im gelben und grünen Puffer belassen und der Wert im roten gelöscht. Wenn der aktuelle Wert niedriger ist als der vorherige - im Gegenteil. In allen anderen Fällen wird der Wert im roten und grünen Puffer gelöscht, so dass nur der gelbe Puffer übrig bleibt.
  • Der Pufferwert der grünen Serie ist 1, der Indexwert ist 0. Wenn der grüne Puffer im aktuellen Takt =EMPTY_VALUE und im vorherigen Takt ebenfalls =EMPTY_VALUE ist, dann erhöht sich der Wert des grünen Puffers um eins (Wertakkumulation). Wenn der Wert des grünen Puffers == EMPTY_VALUE ist, während der Wert des roten Puffers ebenfalls == EMPTY_VALUE ist (nur gelbe Farbe im Diagramm), bedeutet dies, dass die Serie zu Ende ist - wir weisen die Serienlänge dem grünen Serien-Array mit dem Index 0 zu (wir speichern es im Puffer). Wir erhöhen den Array-Index um eins (die nächsten werden nun 1, 2, 3 usw. sein), setzen den Serienwert auf eins zurück und warten auf den Beginn der nächsten grünen Serie.
  • Wir führen die gleichen Manipulationen mit der roten Reihenanordnung durch.
 
granit77:
Ja, wenn Sie das Kästchen "Unbrauchbare Ergebnisse überspringen" angekreuzt haben. Registerkarte Optimierungsergebnisse, rechte Maustaste.
Ich danke Ihnen!