Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 1414
![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Das kann ich nachvollziehen, danke. Aber ich verstehe immer noch nicht, welcher StopLoss gilt, wenn der erste EA 0,01 Lots kauft und der zweite 0,05 Lots kauft. Dann ist doch eine Position von 0,06 Lots offen, oder? Und welcher StopLoss gilt dann für diese Position? Der erste, der zweite oder ein aggregierter?
Ok, wenn das so ist, dann habe ich das dahinterstehende Prinzip eines Netting-Accounts endlich verstanden: Es gibt nur eine Position, welche ein Aggregat aller vorherigen Trades ist; und wer als Letztes SL und TP festgelegt hat - ob über die OrderSend-Methode oder über PositionModify oder sonst wie, der hat SL und TP für die ganze Position festgelegt, egal ob es den anderen EAs nun passt oder nicht.
D.h. der Benutzer muss sich beim Verwenden mehrerer EAs auf ein und demselben Symbol mit einem Netting-Account bewusst sein, dass er SL und TP der unterschiedlichen EAs identisch zu setzen hat, damit diese nicht anders funktionieren, wie ursprünglich geplant - außer diese haben eine Schutzfunktion und öffnen nur dann eine "interne" Position, wenn keine Position auf dem jeweiligen Symbol offen ist. Und dafür ist das von dir oben erwähnte PositionSelect() ganz nützlich.
Ok, wenn das so ist, dann habe ich das dahinterstehende Prinzip eines Netting-Accounts endlich verstanden: Es gibt nur eine Position, welche ein Aggregat aller vorherigen Trades ist; und wer als Letztes SL und TP festgelegt hat - ob über die OrderSend-Methode oder über PositionModify oder sonst wie, der hat SL und TP für die ganze Position festgelegt, egal ob es den anderen EAs nun passt oder nicht.
D.h. der Benutzer muss sich beim Verwenden mehrerer EAs auf ein und demselben Symbol mit einem Netting-Account bewusst sein, dass er SL und TP der unterschiedlichen EAs identisch zu setzen hat, damit diese nicht anders funktionieren, wie ursprünglich geplant - außer diese haben eine Schutzfunktion und öffnen nur dann eine "interne" Position, wenn keine Position auf dem jeweiligen Symbol offen ist. Und dafür ist das von dir oben erwähnte PositionSelect() ganz nützlich.
Ich würde das aber zur Sicherheit noch einmal ausprobieren, ob bei einer weiteren Auftrag von dem SL und TP übernommen werden oder man besser danach separat SL und TP ändert - ich habe damit keine Erfahrung!
Ja, sicher sollte man alles noch ausprobieren. Was den Netting-Account anbelangt habe ich das zwar bislang nicht gemacht, aber dafür mit dem tradeResult.deal Wert, den ich als positionTicket abgespeichert hatte.
Da habe ich festgestellt: wenn ich den EA laufen lasse und zwischen den Market-Orders, welche ich in ihm ausschließlich verwende (abgesehen von SL und TP), auch noch Limit-Orders und dergleichen absende, dann ist das Ticket der geöffneten Position gar nicht identisch mit tradeResult.deal, sondern mit tradeResult.order. Und wie auf der Seite Eigenschaften zur Position beschrieben, kann sich das Ticket der Position einfach ändern, während POSITION_IDENTIFIER sich nicht ändert, sondern unveränderlich mit dem Ticket der Order, welche die Position eröffnet hat, also mit tradeResult.order des Entry-Trades, identisch ist.
bitte, wer weiß, wo man USDKZT handeln kann?
Ich habe das mit dem Netting-Account gerade ausprobiert. Wenn man eine 1-Lot Market-Sell-Order mit einem StopLoss auf 1,1 EURUSD absendet und dann eine 1-Lot Market-Sell-Order mit einem StopLoss auf 1,05 EURUSD absendet, dann hat die ganze 2-Lot Netting-Position den StopLoss auf 1,05 EURUSD. D.h. wenn man zwei konkurrierende EAs auf einem Symbol laufen lässt, welche den StopLoss und den TakeProfit unterschiedlich verwalten bzw. handhaben, dann führt dies möglicherweise ins Chaos. Da werde ich doch wohl besser in meinem EA mit PositionSelect() prüfen, ob bereits eine Position offen ist und meinen EA ggf. warten lassen, bis keine mehr da ist, bevor die sich noch verheddern.
Ich habe gerade The checks a trading robot must pass durchgearbeitet. Die Informationen waren sehr hilfreich. Dabei ist mir aber die Frage nach den Margin-Calls aufgekommen. Ich weiß nicht, ob ich das richtig verstanden habe.
Derzeit tut mein EA zwei Dinge, um Margin-Calls zu vermeiden: Vor einem Trade, der eine Position öffnet bzw. öffnen könnte, schaut er mit Hilfe von OderCalcMargin(...) und ACCOUNT_MARGIN_FREE, ob die Margin auch aufgebracht werden kann. Danach schaut er, wenn eine Position eröffnet werden soll, ob der Geldbetrag des StopLoss die zu zahlende Margin überschreitet. Und genau bei der zweiten Sache weiß ich nicht, ob ich da nicht etwas missverstanden habe.
Angenommen die Margin beträgt 500$, der Markt läuft gegen meine Richtung und mein StopLoss würde erst bei einem Verlust von 1000$ greifen bzw. triggern. Wenn nun der offene P&L-Wert meiner Position bei -750$ liegt, also die Margin von 500$ aufgebraucht ist, bekommt man dann eine Margin-Call? Würde also die Überprüfung des SL Sinn ergeben? - Das ist nämlich eine Sache, die ich nicht ausprobieren will.