[ARCHIV]Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Ohne dich kann ich nirgendwo hingehen - 5. - Seite 209
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Dies sind die Funktionen, und die Objekte sind die Rechtecke, die im Diagramm erscheinen.
Drucken Sie zunächst etwas über die Bibliotheksfunktionen in Print aus, damit Sie wissen, ob sie überhaupt aufgerufen werden
Grafische Objekte werden in Bibliotheksfunktionen erstellt. Nach dem ersten Aufruf des Indikators werden die Objekte erstellt und im Terminalfenster angezeigt.
Wenn man sie erneut aufruft, sind sie nicht in der Liste der Objekte vorhanden, was darauf schließen lässt, dass die externen Funktionen bei der Neuberechnung des Indikators aus irgendeinem Grund nicht funktionieren und das Terminal darüber schweigt.Gut. Anstelle von indirekten Zeichen, drucken Sie ( " Aufruf dieser Funktion") in den Indikator; wir werden sofort sehen, ob diese Funktion aufgerufen wird.
Sie sollten weniger arrogant sein, dann werden die Fehler schneller gefunden)
Im Allgemeinen liegt das Problem höchstwahrscheinlich in der Funktion
Das Problem ist, dass die Statik bei der Neuinitialisierung nicht zurückgesetzt wird, so dass beim Neustart die BarTime immer gleich der Zeit des letzten gezählten Balkens ist, d.h. isNewBar () ist falsch, bis eine neue Kerze eintrifft. Es wäre besser, die Funktion aus der Bibliothek in den mqh-Inluder zu verschieben und BarTime=0 explizit in init () zu nullen.
Dies ist nur ein erster Blick auf den Code, also urteilen Sie nicht zu streng, wenn ich falsch liege.
Ich würde damit beginnen, diese Zeile aus Ihrer Bibliothek zu entfernen
#property library
Da Sie keine Bibliothek verwenden, sondern eine Include-Datei
Soweit ich mich erinnere, müssen Sie sich diese Zeit speziell merken, wenn Sie den schwebenden Auftrag einstellen. Sie können sie direkt im Kommentar zum Auftrag speichern (oder in der Magie, als besondere Perversion:).
FRAGE 1.
Wie man diese Idee kodiert.
Um eine Pending Order zu setzen, diese aber nur in eine Market Order umzuwandeln , wenn der gesetzte Preis der Pending Order mit dem Eröffnungskurs einer beliebigen TF60-Kerze übereinstimmt
FRAGE 2.
Wie man diese Idee kodiert.
Wenn eine schwebende Order in eine Marktorder umgewandelt wird, sollten wir in 10 Minuten eine weitere schwebende Order mit denselben Werten einstellen: Eröffnungskurs, Stoppkurs, Volumen wie bei der vorherigen schwebenden Order, die in eine Marktorder umgewandelt wurde.
Ich danke Ihnen.
Gut. Vielleicht sollten wir, anstatt nach indirekten Zeichen zu urteilen, einfach den Indikator selbst eingeben: Print ("Aufruf dieser und jener Funktion"); wir werden sofort sehen, ob sie aufgerufen wird oder nicht.
Sie sollten weniger übermütig sein, dann werden die Fehler schneller gefunden).
Und im Allgemeinen liegt Ihr Problem höchstwahrscheinlich in der Funktion
Das Problem ist, dass die Statik bei der Neuinitialisierung nicht auf Null gesetzt wird, so dass beim Neustart die BarTime immer gleich der Zeit des letzten gezählten Balkens ist, d.h. isNewBar () wird falsch sein, bis eine neue Kerze eintrifft. Es wäre besser, die Funktion aus der Bibliothek in den mqh-Inluder zu verschieben und BarTime=0 explizit in init () zu nullen.
Dies ist nur ein erster Blick auf den Code, also urteilen Sie nicht zu streng, wenn ich falsch liege.
Herzlichen Dank!
isNewBar () wurde aus der Bibliothek entfernt und in die Indikatordatei aufgenommen. Alles funktioniert wie am Schnürchen!