Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 96
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
Sind Sie sicher, dass Sie alle Klammern haben. Sie fehlen an einigen Stellen. Deshalb ist Ihre Logik fehlerhaft. Und höchstwahrscheinlich ist das Ergebnis nicht das, was Sie erwartet haben.
Vitja, warst du verreist? Ich habe dich schon lange nicht mehr gesehen...
Ich war heute (fast) zu Hause.
Heute (fast) zu Hause gewesen
Sind Sie sicher, dass Sie alle Klammern haben. Sie fehlen an einigen Stellen. Deshalb ist Ihre Logik fehlerhaft. Und höchstwahrscheinlich ist das Ergebnis nicht das, was Sie erwarten.
Wenn Sie den Code des Indikators meinen, ist dort alles in Ordnung, der Indikator funktioniert, gibt Signale in Form von Pfeilen (für Kauf/Verkauf-4 und 5 Indikatorpuffer). Aber wenn ich diese Pfeile vom Indikator im Expert Advisor ablese, erhalte ich Unsinn. Ich habe den Expert Advisor nicht vollständig erwähnt, weil es dort vor allem darum geht, zu verstehen, wie man das Signal liest und die entsprechende Operation ausführt. Im Allgemeinen liegt das Problem beim Lesen des Signals.
Um den Code hier korrekt einzufügen, klicken Sie zunächst auf SRC und kopieren Sie den Code dann dorthin.
Wenn ich Sie richtig verstanden habe, müssen wir zu einem bestimmten Zeitpunkt einen OP_BUYSTOP und einen OP_SELLSTOP öffnen? Ist es akzeptabel, dass zu diesem Zeitpunkt noch andere Aufträge offen sind? Es gibt z. B. noch nicht erledigte Aufträge, aber bevor ein neuer Auftrag eröffnet wird, sollen die alten Aufträge gelöscht werden?
Ich habe den generischen Code bereits eingefügt, um ihn zu verdeutlichen... Am Ende des Tages wollte ich alle möglichen Positionen und Aufträge schließen...
und zum Zeitpunkt der Eröffnung von zwei schwebenden Aufträgen (am Morgen) gibt es keine offenen Aufträge oder offenen Positionen davor, da sie alle zu einer bestimmten Zeit am Abend geschlossen werden müssen. Ich frage mich, ob mein vollständiger Auftragsabschluss wenigstens richtig beschrieben ist =)))
Ich kenne die Logik Ihrer Funktion wirklich nicht. Ob es Objekte löschen oder bauen soll, weiß ich nicht. Sagen Sie mir, was es tun soll, und wir werden sehen, wo die Logik falsch ist. Wenn die Funktion jedoch versucht, ein grafisches Objekt zu erstellen, aber fehlschlägt, bedeutet dies, dass es bereits existiert. Wie geht es nun nach der Logik Ihres Programms weiter? Sie können ein neues Objekt mit einem anderen Namen erstellen (z. B. fügen Sie dem Objektnamen die aktuelle Uhrzeit hinzu (TimeToStr(TimeCurrent()))) oder, wenn Sie bereits ein Objekt haben, aber seine Eigenschaften ändern müssen, erstellen Sie es nicht erneut, sondern ändern Sie einfach seine Eigenschaften. Dann wird der Fehler nicht mehr auftreten.
Das ist ganz einfach. Die Hauptsache ist, dass Sie wissen, was Sie wollen... :)
Eigentlich ist die Funktion nur ein visueller Ersatz für den Ausdruck, sie zeigt einfach alles auf dem Bildschirm an. Es ist noch nicht sehr gut geschrieben, aber es funktioniert. :) Ich werde es schaffen und umschreiben. Und dann kann man über die Frage nachdenken, die war.
Übrigens, wenn Sie keine neuen Objekte erstellen, sondern die Eigenschaften bestehender Objekte ändern, dann wiederum... Das wird Kopfschmerzen bereiten. Die Idee ist, die letzten N Untiefen auf dem Bildschirm anzuzeigen. Wenn wir immer das äußerste Objekt überschreiben, könnten wir am Ende nur ein Objekt haben, das einen bestimmten Fehler hat. Ich könnte noch weiter gehen und in einer Schleife so viele Objekte auswählen, wie ich benötige, und nur diese umschreiben, aber das ist wahrscheinlich den Aufwand nicht wert, da diese Funktion nur zum Testen ist und ich mich nicht wirklich damit langweile, da ich bereits zu viele Dinge zu tun habe. Eines Tages werde ich den Code dieser Funktion ausprobieren und ihn mir zu Gemüte führen, und dann kann ich darüber nachdenken!
Es hat sich eine Frage ergeben. Ich schreibe das folgende Experiment. Ich habe eine Reihe von Aufträgen, die natürlich nacheinander auf der Grundlage bestimmter Signale eröffnet werden. Wenn der letzte Auftrag geschlossen wird, sollten alle anderen Markt- und schwebenden Aufträge überhaupt geschlossen werden...
Natürlich kann alles über Arrays geschrieben werden, aber ich habe einen einfachen Weg gewählt. Jetzt geht's los:
Zustand:
wir prüfen, ob der letzte offene Auftrag geschlossen ist! Dann beginnen wir, die schwebenden Aufträge zu löschen und die Marktaufträge zu schließen...
Hier ist die Funktion selbst, so dass es keinen Zweifel gibt, dass etwas mit ihr nicht stimmt (Kritik und Kommentare sind willkommen, und sogar mehr als willkommen :)) ):
Wenn Sie über den Indikator-Code sprechen - alles ist in Ordnung dort mit den Klammern, der Indikator funktioniert, gibt Signale in Form von Pfeilen (für Kauf/Verkauf - 4 und 5 Indikator-Puffer). Aber wenn ich diese Pfeile vom Indikator im Expert Advisor ablese, erhalte ich Unsinn. Ich habe den Expert Advisor nicht vollständig erwähnt, weil es dort vor allem darum geht, zu verstehen, wie man das Signal liest und die entsprechende Operation ausführt. Im Allgemeinen liegt das Problem beim Lesen des Signals.
Etwa so.
Eigentlich ist die Funktion nur ein visueller Ersatz für den Ausdruck, aber sie zeigt alles auf dem Bildschirm an. Es ist noch nicht besonders gut geschrieben, aber es funktioniert... :) Ich werde es schaffen und umschreiben. Und dann kann man über die Frage nachdenken, die war.
Übrigens, wenn wir keine neuen Objekte bauen, sondern die Eigenschaften bestehender Objekte ändern, dann wiederum... Das würde uns Kopfschmerzen bereiten. Die Idee ist, die letzten N-Gelenke auf dem Bildschirm anzuzeigen. Wenn wir immer das äußerste Objekt überschreiben, könnten wir am Ende nur ein Objekt haben, das einen bestimmten Fehler hat. Ich könnte noch weiter gehen und in einer Schleife so viele Objekte auswählen, wie ich benötige, und nur diese umschreiben, aber das ist wahrscheinlich den Aufwand nicht wert, da diese Funktion nur zum Testen ist und ich mich nicht wirklich damit langweile, da ich bereits zu viele Dinge zu tun habe. Eines Tages werde ich den Code dieser Funktion ausprobieren und ihn mir zu Gemüte führen, und dann kann ich darüber nachdenken!
Das gehört Ihnen: So sollte es sein:
Etwa so.
danke für die Korrektur, aber der Algorithmus hat nicht richtig funktioniert...