Du hast es noch nicht verstanden, Position (=ge- oder verkauft) und Order (=pending order, noch kein Geld bewegt) beziehen sich auf aktuell offene "Positionen" auf dem Konto.
Die Werte historischer Positionen finden sich hier, über diese Funktion (en, siehe linke Seite): HistoryDealGetDouble(): (Erst den Zeitraum bestimmen dann durch die Liste gehen:
HistorySelect(0,TimeCurrent()); // alles int d = HistoryDealsTotal(); while(d-->0) { ... }
- www.mql5.com
Du hast es noch nicht verstanden, Position (=ge- oder verkauft) und Order (=pending order, noch kein Geld bewegt) beziehen sich auf aktuell offene "Positionen" auf dem Konto.
Die Werte historischer Positionen finden sich hier, über diese Funktion (en, siehe linke Seite): HistoryDealGetDouble(): (Erst den Zeitraum bestimmen dann durch die Liste gehen:
Man muss auch nicht alles neu diskutieren.
- 2021.04.01
- www.mql5.com
Ist auch nicht einfach zu verstehen, das ist einfach alles zu kompliziert von denen aufgebaut worden und nirgendswo findet man guten Support, im Vergleich zu Webdevelopment wo man fuer jede Sache hundert Beispiele findet, ist es bei MQL codeing jedesmal das gleiche man wir dhin und her geschickt und findet wieder nichts. Wenn ihr mir erlaubt euch ein Tipp zu geben fuer die Moderatoren, statt immer Hinweise auf irgendwelche Beitrage zu geben wo man wieder keine fertigen Funktionen finden kann, waere es einfacher fuer euch als Moderatoren eine Sammlung an fertigen Funktionen irgendwo zu verlinken wo sich jeder bediehnen kann.
Hier jetzt mal von mir ein Beispielscript wie man die Lotsize, Profit und Komission des letzten geschlossenen Trades findet kann, die berechnete Kommission fuer den offenen Trade wird man dann wahrscheinlich auch in der Deal History finden indem man prueft ob DEAL_ENTRY = 0 ist weil so wie ich das jetzt verstehe hat DEAL_ENTRY den Wert 0 fuer geoeffnete laufende Trades und den Wert 1 fuer geschlossene Trades. Korrigiert mich wenn ich falsch liege.
double profit=0;double lotsize1=0;double komission=0; long lastticket=0; datetime from_date=TimeCurrent()-(3600*24*25); // anfangszeitpunkt datetime to_date=TimeCurrent(); // endzeitpunkt //--- if(HistorySelect(from_date,to_date)) { for(int i = HistoryDealsTotal(); i >= 0; i--) { //--- ulong deal_ticket = HistoryDealGetTicket(i); datetime close_time = (datetime)HistoryDealGetInteger(deal_ticket,DEAL_TIME); long Position_ID_OrderTicket_original = HistoryDealGetInteger(deal_ticket,DEAL_POSITION_ID); //das ist wie orderticket von mt4 die wird immer groeser die zahl long deal_entry = HistoryDealGetInteger(deal_ticket,DEAL_ENTRY); //hier steht eine 1 wenn der trade schon geschlossen ist long OrderMagicnumber = HistoryDealGetInteger(deal_ticket,DEAL_MAGIC); double OrderProfit=HistoryDealGetDouble(deal_ticket,DEAL_PROFIT); double OrderLotsize=HistoryDealGetDouble(deal_ticket,DEAL_VOLUME); double OrderKomission=HistoryDealGetDouble(deal_ticket,DEAL_COMMISSION); //Print(OrderMagicnumber," ",Position_ID_OrderTicket_original," ",OrderProfit," ",OrderLotsize," deal_entry ",deal_entry,"closetime ",close_time); if(OrderMagicnumber==Magicnumber && deal_entry==1 && Position_ID_OrderTicket_original > lastticket) { //ticketnummervonmn=Position_ID_OrderTicket_original; lastticket=Position_ID_OrderTicket_original; profit=OrderProfit;lotsize1=OrderLotsize; komission=OrderKomission; } //--- } } Print("last trade lot ",lotsize1," ",profit," komission ",komission);
Seht ihr so einfach kann man sich weier helfen statt herum zu diskutieren und hin und her zu schicken. Wenn man die Komission fuer ein Trade wissen will bevor man den Trade ueberhaupt oeffnet dann hat man wahrscheinlich Pech gehabt weil das nirgendswo abgelesen werden kann ausser vielleicht auf der Webseite vom Broker.
Eine Liste mit allen Funktionen, wo sich jeder bedienen kann... Moment mal!
Hauptsache etwas gesagt steht ja alles in der Dokumentation deswegen fragen auch alle Leute immer nach den gleichen Sachen weil die es nirgendwo finden und die Leute schicken die dann nach der Dokumentation weil dort hat natuerlich niemand als erstes nachgeschaut. Wenn ihr schon eure Zeit hier in Foren verbringt dann helft den Leuten wenigstens auch richtig.
Hauptsache etwas gesagt steht ja alles in der Dokumentation deswegen fragen auch alle Leute immer nach den gleichen Sachen weil die es nirgendwo finden und die Leute schicken die dann nach der Dokumentation weil dort hat natuerlich niemand als erstes nachgeschaut. Wenn ihr schon eure Zeit hier in Foren verbringt dann helft den Leuten wenigstens auch richtig.
Hauptsache etwas gesagt steht ja alles in der Dokumentation deswegen fragen auch alle Leute immer nach den gleichen Sachen weil die es nirgendwo finden und die Leute schicken die dann nach der Dokumentation weil dort hat natuerlich niemand als erstes nachgeschaut. Wenn ihr schon eure Zeit hier in Foren verbringt dann helft den Leuten wenigstens auch richtig.
Du solltest mal lernen entweder richtig hilfreiche Antworten zu geben oder ganz sein lassen es brauch niemand hier im Internet ein Moechtegern Lehrer. Das ist hier nicht reallife und niemand ist perfekt, ihr verhaltet euch alle wie bemitleidenswerte roboter
Du solltest mal lernen entweder richtig hilfreiche Antworten zu geben oder ganz sein lassen es brauch niemand hier im Internet ein Moechtegern Lehrer. Das ist hier nicht reallife und niemand ist perfekt, ihr verhaltet euch alle wie bemitleidenswerte roboter
Hi,
wie der Christian schon gepostet hatte. Ich habe hier den Frage nach einem Befehl für das Auslesen der Kommission schon früher mal gestellt.
https://www.mql5.com/de/forum/366243
Leider gibt es einen solchen Befehl bis heute nicht. Da mein EA auf der Grundlage der anderen Parameter (Kapital, Volantilität, Risiko u.s.w.) meine Lotgröße bestimmt, habe ich ein Input-Feld eingebaut, wo ich die Kommission, die ich aus der Marktübersicht und da aus der Spezifikation händisch auslese, eintrage.
Ist zwar nicht sehr elegant, aber anders geht es nicht. Ich hatte mich damals auch an das russische Forum mit meiner Frage gewandt, in der Hoffnung, so näher an die MQL-Programmierer zu kommen. Leider hat man mich da nur als "verirrten Ausländer" betitelt.
Zusammenfassung: Es gibt keinen Befehl und damit Ende der Geschichte ... leider. Wenn du die Kommission nach meinem Schema als festen Parameter in deinem EA hinterlegst, kannst du damit alle Berechnungen anstellen und die Kommission deiner offenen Position hinzufügen.
Gruß Uwe
- 2021.04.01
- www.mql5.com
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Mit folgenden Code kann man ja offene Trades lesen, deren Gewinnverlust, Swap usw aber die Komission kann man komischerweise nicht dran ablesen, waere ja auch zu einfach gewesen wenn Metaquotes das noch mit dazu gebaut haette, also meine Frage ist ganz einfach wie bekomme ich es hin auch die Komission vom Trade zu lesen.