|
Startseite | Registrieren | Hilfe | Benutzerliste | Kalender | Suchen | Heutige Beiträge | Alle Foren als gelesen markieren |
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
Seh ich den Wald vor lauter Bäumen nicht?
Hallo liebe Community!
Mein Freund schreibt andauernd neue Roboter(EAs), die ich dann testetn darf. Nun dachte ich mir; ich schreibe auch einen Robot, der mir die History-Daten der Roboter ausgibt. Im großen und ganzen würde das Teil auch funktionieren, jedoch gibt er mir keine negativen Trades und keine negativen Schlußkurse aus. hier nun der kleine Code-Teil, der das ganze ausrechnen soll: Code:
double gesamt = 0.0; int minus = 0; int plus = 0; int trades = 0; int i, hst = OrdersHistoryTotal(); for(i = 0; i < hst; i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) { if(StringFind( OrderComment(), Roboter, 0) > -1) { trades++; double clp = OrderClosePrice(); if(clp > 0) { plus++; } else { minus++; } gesamt = gesamt + clp; } } } subPrintDetails(trades,gesamt,plus, minus); Anscheinend bin ich Blind! lg DocRandom |
|
|||
Es gibt keine negativen Schlußkurse!
|
|
|||
Hallo,
verwende statt OrderClosePrice mal OrderProfit, dass ist wahrscheinlich was du willst. Guten Tag Dave |
|
|||
@traderdoc ..nunja, da habe ich mich wohl falsch ausgedrückt!
@dave_hofmann Danke, das war genau das Richtige und jetzt funzt die Sache so wie ich es mir vorstelle! lg DocRandom |
|
|||
Zitat:
traderdoc |
|
|||
Wenn ich OrderClosePrice() durch OrderProfit() ersetze, dann funktioniert die Sache wie sie soll!
Also was soll dann daran falsch programmiert sein? Wenn Du meinst das die 0$ Positionen nicht als positiv gezählt werden, liegt es daran, das ja vorher schon der Spreed bezahlt wurde und somit die Position auch als Negativ anzusehen ist! lg |
|
|||
Zitat:
Und falsch programmiert war es trotzdem, weil eben erstens OrderClosePrice() nicht negativ sein kann und zweitens, selbst wenn dort OrderProfit() gestanden hätte, die Null-Profit-Trades per se nicht als Negativ-Trades anzusehen sind, selbst wenn vorher der Spread "bezahlt" wurde. Denn bei Deiner Betrachtung geht es um den Profit und der wäre in diesem Spezialfall eben 0. Da interessiert es den Fuchs, wie hoch vorher der Spread war. Und außerdem kann der Trade, der durch OrderProfit() als positiv ausgewiesen wird trotzdem negativ sein, denn der tatsächliche Gewinn oder Verlust, mit dem Du rechnen muß und der auf Deinen Account verbucht wird ist: OrderProfit() + OrderCommission() + OrderSwap() traderdoc |
Lesezeichen |
Stichworte |
daten, history, history-daten, modifizieren, modifizierung, mql4, programmierung, programmierung metatrader, änderung |
Themen-Optionen | Thema durchsuchen |
Ansicht | |
|
|