Woher weiß ich, dass in der Geschichte dieser bestimmten Position einige davon geschlossen sind?
Ich habe eine Position mit 1,0 Loteröffnet, sie mit 0,5 und mit 10$ Verlust geschlossen. Später habe ich weitere 0,25 mit 5$ Gewinn geschlossen. Ich werde alles mit 50$ Gewinn schließen. Im Moment habe ich sogar 50 Dollar Gewinn.
Wie schließe ich -$10 und +$5 bei der Berechnung des aktuellen Gewinns? Mit 55 $ Gewinn abschließen
Siehe den Kommentar der Position (in mql4) - der geschlossene Teil hat ein Ticket des verbleibenden Teils (bis#1234556789), der verbleibende Teil hat ein Ticket des geschlossenen (von#123456788) - ich erinnere mich nicht, wo es Lücken gibt - Sie werden es selbst sehen
Schauen Sie sich den Kommentar der Position (in mql4) an - der geschlossene Teil hat ein Ticket für den Rest (bis#1234556789), der Rest hat ein Ticket für den geschlossenen Teil (von#123456788) - ich weiß nicht mehr, wo die Leerzeichen sind - Sie werden es selbst sehen
Ich vergleiche den Kommentar der geschlossenen Position mit dem Ticket der offenen Position und erhalte "0.0".
double prof_cl_pos(string sy="0", int op=-1, int mn=-1) {
datetime ta;
int i, k=OrdersHistoryTotal();
double profit_=0;
string comment="";
if (sy=="" || sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
if (OrderSymbol()==sy) {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (op<0 || OrderType()==op) {
if (mn<0 || OrderMagicNumber()==mn) {
// comment=OrderComment();if (ticket_op_pos(Symbol(), -1,mn)==OrderComment())
profit_=OrderProfit();
}
}
}
}
}
}
return(profit_);
}
int ticket_op_pos(string sy="", int op=-1, int mn=-1) {
datetime o;
double l=-1;
string comment="";
int ticket, i, k=OrdersTotal();
if (sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==sy || sy=="") {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (op<0 || OrderType()==op) {
if (mn<0 || OrderMagicNumber()==mn) {
ticket=OrderTicket();
}
}
}
}
}
}
return(ticket);
}
Im Kommentar sollte das Ticket hervorgehoben werden, d.h. zusätzliche Zeichen wie "von #" und "nach #" sollten entfernt werden. Das ist hier nicht der Fall.
[in] Длина извлекаемой подстроки. Если значение параметра равно -1 либо параметр не задан, то будет извлекаться подстрока, начиная с указанной позиции и до конца строки.
Tun Sie das nicht noch einmal :-) Sie können sich nicht auf die Länge oder den Anfang eines Fragments verlassen, wenn Sie mit undefinierten Zeichenfolgen arbeiten.
ps/ sollten Sie ebenfalls nur eine Groß- oder Kleinschreibung verwenden. Leider gibt es kein Protokoll für die Kennzeichnung von Kommentaren, so dass es möglich ist, dass auf einem Server "FROM #" (in Großbuchstaben) steht; insbesondere einige setzen [sl] und einige (sl) am Ende des Kommentars auf Stop-Loss. Und die Größe des Kommentars ist übrigens begrenzt. Und so weiter und so fort.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Erlauben Sie die Verwendung von Cookies, um sich auf der Website MQL5.com anzumelden.
Bitte aktivieren Sie die notwendige Einstellung in Ihrem Browser, da Sie sich sonst nicht einloggen können.
Sie sind angemeldet. Die Zwei-Faktor-Authentifizierung wurde deaktiviert. Richten Sie sie erneut ein und scannen Sie einen neuen QR-Code oder fahren Sie mit deaktivierter Zwei-Faktor-Authentifizierung fort.
Woher weiß ich, dass in der Geschichte dieser bestimmten Position einige davon geschlossen sind?
Ich habe eine Position mit 1,0 Loteröffnet, sie mit 0,5 und mit 10$ Verlust geschlossen. Später habe ich weitere 0,25 mit 5$ Gewinn geschlossen. Ich werde alles mit 50$ Gewinn schließen. Im Moment habe ich sogar 50 Dollar Gewinn.
Wie schließe ich -$10 und +$5 bei der Berechnung des aktuellen Gewinns? Mit 55 $ Gewinn abschließen
Siehe den Kommentar der Position (in mql4) - der geschlossene Teil hat ein Ticket des verbleibenden Teils (bis#1234556789), der verbleibende Teil hat ein Ticket des geschlossenen (von#123456788) - ich erinnere mich nicht, wo es Lücken gibt - Sie werden es selbst sehen
Schauen Sie sich den Kommentar der Position (in mql4) an - der geschlossene Teil hat ein Ticket für den Rest (bis#1234556789), der Rest hat ein Ticket für den geschlossenen Teil (von#123456788) - ich weiß nicht mehr, wo die Leerzeichen sind - Sie werden es selbst sehen
Ich vergleiche den Kommentar der geschlossenen Position mit dem Ticket der offenen Position und erhalte "0.0".
Der Vergleich eines Kommentars zu einer geschlossenen Position mit einem Ticket zu einer offenen Position ergibt "0.0".
Im Kommentar sollte das Ticket hervorgehoben werden, d.h. zusätzliche Zeichen wie "von #" und "nach #" sollten entfernt werden. Das ist hier nicht der Fall.
Im Kommentar müssen Sie das Ticket hervorheben, d. h. zusätzliche Zeichen wie "von #" und "nach #" entfernen. Dies ist hier nicht der Fall.
Genau! Wie kürzt man "bis #"?
den verbleibenden Teil in eine lange Version umwandeln
In 5e gibt es eine rudimentäre Regexp - es wird einfacher sein
Vorkommen von Zeichen/Substring finden #
Wie kann ich sie finden?
Funktioniert die Website-Suche nicht? Haben Sie keine Dokumentation oben auf der Seite?
Funktioniert die Website-Suche nicht? Haben Sie keine Dokumentation oben auf der Seite?
Danke, ich habe das getan.
aber die Funktion für die Suchhistorie begann, den aktuellen Gewinn der offenen Position anzuzeigen
> Danke, so habe ich es gemacht.
Tun Sie das nicht noch einmal :-) Sie können sich nicht auf die Länge oder den Anfang eines Fragments verlassen, wenn Sie mit undefinierten Zeichenfolgen arbeiten.
Es gibt eine schöne StringFind()-Funktion - suchen Sie nach "#" oder "von #".
ps/ sollten Sie ebenfalls nur eine Groß- oder Kleinschreibung verwenden. Leider gibt es kein Protokoll für die Kennzeichnung von Kommentaren, so dass es möglich ist, dass auf einem Server "FROM #" (in Großbuchstaben) steht;insbesondere einige setzen [sl] und einige (sl) am Ende des Kommentars auf Stop-Loss. Und die Größe des Kommentars ist übrigens begrenzt. Und so weiter und so fort.
Was ist der Schaden einer solchen Konstruktion?
Oder ist es besser,datetime zu einem langen Typ zu machen?