Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 1098
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
Hmm, seltsame Situation, wie die Aktivität in dem Thema, das ich angesprochen habe, hatte ich eine Frage, aus meiner Sicht spezifisch, aber statt einer Antwort bekam ich bisher "warum brauchen Sie es?
Ich möchte es mit SB CTrade machen, hier ein Beispiel (zusammengestellt aus 2 meiner Beispiele): Wir eröffnen jedenneuen Bar um 9 TF mit einer Order, wir merken uns das Ticket und bestimmen die Richtung einer geschlossenen Order durch die Ticketnummer.
In MQL4 würde der Code für den Tester wie folgt aussehen
wir brauchen einen Code für den Prüfer, d.h. die geringstmögliche Anzahl von Prüfungen und die schnellstmögliche Arbeit im Optimierer.
Wie schreibt man diesen Code in MQL5 mit SB CTrade?
Hmm, seltsame Situation, wie die Aktivität in dem Thema, das ich angesprochen habe, hatte ich eine Frage, aus meiner Sicht spezifisch, aber statt einer Antwort bekam ich bisher "warum brauchen Sie es?
Ich möchte es mit SB CTrade machen, hier ein Beispiel (zusammengestellt aus 2 meiner Beispiele): Wir eröffnen jeden neuen Bar um 9 TF mit einer Order, wir merken uns das Ticket und bestimmen die Richtung einer geschlossenen Order durch die Ticketnummer.
In MQL4 würde der Code für den Tester wie folgt aussehen
Wie schreibt man diesen Code in MQL5 mit SB CTrade?
Forum für Handel, automatisierte Handelssysteme und Strategietests
FAQ von Anfängern MQL5 MT5 MetaTrader 5
Vladimir Karputov, 2019.07.21 12:56
Die Grundlage ist also derPOSITION_IDENTIFIER, aber nicht das Positionsticket. Das ist allein schon wegen des Netzes wichtig:
POSITIONSNUMMER
Die Positionskennung ist eine eindeutige Nummer, die jeder neu eröffneten Position zugewiesen wird und sich während ihrer gesamten Lebensdauer nicht ändert. Sie entspricht dem Ticket des Auftrags, mit dem die Position eröffnet wurde.
Die Positionskennung wird in jedem Auftrag (ORDER_POSITION_ID) und jedem Geschäft (DEAL_POSITION_ID) angegeben, mit dem er eröffnet, geändert oder geschlossen wurde. Verwenden Sie diese Eigenschaft, um nach Aufträgen und Geschäften zu suchen, die sich auf die Position beziehen.
Wenn eine Position im Netting-Modus storniert wird (ein einzelnes In/Out-Geschäft), wird die POSITION_IDENTIFIER-Kennung der Position nicht geändert. POSITION_TICKET wird jedoch in das Auftragsticket geändert, das zum Storno geführt hat. Im Absicherungsmodus gibt es keine Positionsumkehr.
lang
Wir müssen also den Positionsbezeichner (POSITION_IDENTIFIER) im Auge behalten.
Nun eine genauere Aufgabe: Beim ersten Durchlauf eröffnen wir eine KAUFPOSITION und speichern sie (ACHTUNG: wir sollten uns die Positions-ID merken, nicht das Ticket). Wenn die Position geschlossen wurde, eröffnen wir eine entgegengesetzte Position: z. B. gab es einmal eine KAUF-Position, dann wurde sie geschlossen, was bedeutet, dass wir sofort eine VERKAUF-Position eröffnen.
Jetzt wird es viel einfacher sein, das Problem zu lösen.
d.h. CTrade weiß nicht, wie es selbständig feststellen kann, ob eine Order offen oder geschlossen ist, was der Typ der letzten geschlossenen Order war?
Welche Bibliothek sollte ich für diesen Zweck verwenden?
D.h. weiß CTrade nicht, wie es selbständig feststellen kann, ob eine Order offen oder geschlossen ist? was war der Typ der letzten geschlossenen Order?
Welche Bibliothek sollten wir für diesen Zweck verwenden?
Ich habe es Ihnen schon hundertmal gesagt, also streichen Sie bitte das Wort "Ordnung" aus Ihrem Wortschatz. Solange Sie das nicht tun, können Sie nicht weitermachen. Wie auch immer, ich werde Ihnen wahrscheinlich nicht helfen können. Das ist sehr schade.
Ich habe Ihnen schon hundertmal gesagt, dass Sie das Wort "Haftbefehl" aus Ihrem Wortschatz streichen sollten. Solange Sie das nicht tun, können Sie nicht weitermachen. Wie auch immer, ich kann Ihnen wahrscheinlich nicht helfen. Das ist sehr schade.
Nun, sagen Sie mir, was Sie damit meinen:
Ich habe Ihnen schon hundertmal gesagt, dass Sie das Wort "Haftbefehl" aus Ihrem Wortschatz streichen sollten. Solange Sie das nicht tun, können Sie nicht weitermachen. Wie auch immer, ich kann Ihnen wahrscheinlich nicht helfen. Das ist sehr schade.
OK? Lassen Sie mich die Frage anders formulieren:
Wie verwendet man ein erinnertes Ticket mit CTrade::ResultOrder()
um es herauszufinden:
1. ob die Position geschlossen ist?
2. Welche Art von Geschäft hatte die geschlossene Position?
3. wir müssen gleichzeitig 9 Positionen, Aufträge oder Tickets bearbeiten, oder ... OnAnyTerminology für ein Hedge-Konto
Ist meine Frage in dieser Formulierung eindeutig? (reproduzierbares Beispiel unter MQl4, siehe oben)
ZS: Ich kann die Wortfolge nicht vergessen, leider wird dieses Wort in der Hilfe zusammen mit anderen Begriffen verwendet:https://www.mql5.com/ru/docs/standardlibrary/tradeclasses/ctrade/ctraderequestorder
Hm, es ist eine seltsame Situation, ich schien das Thema angesprochen zu haben, meine Frage war aus meiner Sicht spezifisch, aber statt einer Antwort bekam ich "Wozu brauchen Sie das?
Der Grund dafür ist die Inkompetenz der Rettungskräfte. Ich habe fünf Minuten gebraucht, um ihn zu schreiben, und einen Versuch, ihn zu überprüfen.
MT4
Forum zum Thema Handel, automatische Handelssysteme und Strategietester
Fragen von Anfängern MQL5 MT5 MetaTrader 5
fxsaber, 2019.07.21 12:54
MT5
Sie müssen kein großer Experte sein, um dies zu schreiben, Sie müssen nur die Grundlagen von MT5 kennen.
ZS Beim Netting gibt es eine kleine Nuance bei der Bestimmung der Art der geschlossenen Position. Aber das spielt hier keine Rolle.
Sie müssen nicht stark sein, um dies zu schreiben, Sie müssen nur die Grundlagen von MT5 kennen.
Ich danke Ihnen!
Ja, ich habe nach einer Lösung gesucht, wenn ich es nicht in fünf Zeilen mit SB schreiben kann
Aber wie sehr habe ich verstanden, dass ein SB CTrade nicht in der Lage sein wird, mein Problem zu lösen, und dass ich auch CPositionInfo verwenden muss? - Wenn ich 9 Positionen von mehreren TFs gleichzeitig begleiten möchte?
ZS: Ich sitze in der MQL5-Hilfe mit Smart-TV - recht gut beschriebene Handelsfunktionen, die Verwendung von SatB ist unter einer Frage .... ich denke, es macht Sinn, SB für primitive Strategien zu verwenden, ein bisschen komplizierter - die Funktionalität ist unzureichend oder nicht offensichtlich zu verwenden, vielleicht brauche ich mehr Übung - ich werde versuchen, die SB zu "verdrehen"
Nochmals vielen Dank!
Der Grund ist Inkompetenz, so die Antwort. Ich habe fünf Minuten zum Schreiben und einen Versuch zur Überprüfung gebraucht.
MT4
MT5
Sie müssen kein großer Experte sein, um dies zu schreiben, Sie müssen nur die Grundlagen von MT5 kennen.
Sie müssen die Grundlagen nicht kennen, Sie müssen nur die grundlegenden MT5-Grundlagen kennen. Aber das spielt hier keine Rolle.
Dies ist der Ort, an dem
ein möglicher Fehler vorliegt.
In der historischen Liste sind die Optionsscheine nicht in der Reihenfolge angeordnet, in der sie in dieser Liste erscheinen. Ich bin bei der Entwicklung der Bibliothek über diese Seite gestolpert. Ich habe mich auf sie verlassen. Aber es stellte sich heraus, dass es nicht so einfach war. Versuchen Sie, Limit- und Stop-Aufträge der Reihe nach in folgender Reihenfolge zu setzen: Limit -> Stop -> Limit -> Stop -> Limit -> Stop und löschen Sie jeden Auftrag in beliebiger Reihenfolge und sehen Sie, welcher Auftrag der letzte ist, der in der Historienliste aufgezeichnet wird. Sie werden überrascht sein.
Dies ist der Ort, an dem
liegt ein möglicher Fehler vor.
In der Verlaufsliste sind die Aufträge nicht in der Reihenfolge angeordnet, in der sie in der Liste erscheinen. Dies ist mir bei der Entwicklung der Bibliothek aufgefallen. Ich habe mich auf sie verlassen. Aber es stellte sich heraus, dass es nicht so einfach war. Versuchen Sie, Limit- und Stop-Aufträge der Reihe nach in folgender Reihenfolge zu setzen: Limit -> Stop -> Limit -> Stop -> Limit -> Stop und löschen Sie jeden Auftrag in beliebiger Reihenfolge und sehen Sie, welcher Auftrag der letzte ist, der in der Historienliste aufgezeichnet wird. Sie werden überrascht sein.
Hier liegt kein Fehler vor, da die Liste durch HistorySelectByPosition erzeugt wird.