Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools
Zurück   Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools > Metatrader 4 > Programmierung MQL4

Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4.


Portalsuche


Werbung

Login
Benutzername:
Kennwort:


Statistik
Themen: 3824
Beiträge: 36908
Benutzer: 6.074
Aktive Benutzer: 494
Links: 80
Wir begrüßen unseren neuesten Benutzer: hmf44
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 17:12).
Neue Benutzer:
vor 19 Stunden
- hmf44
vor 23 Stunden
- Crossa
vor einem Tag
- snatshit
vor einem Tag
- Roerich
vor einem Tag
- John_Liver...

Onlineuser
'Wer ist online' anzeigen Benutzer: 1
Gäste: 70
Gesamt: 71
Team: 0
Team:  
Benutzer:  next user
Freunde anzeigen

Empfehlungen

Werbung

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 22.08.13
Neues Mitglied
 
Registriert seit: Aug 2013
Ort: Austria
Beiträge: 17
DocRandom befindet sich auf einem aufstrebenden Ast
DocRandom eine Nachricht über Skype™ schicken
Standard 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);
Für Eure Hilfe wäre ich sehr dankbar.
Anscheinend bin ich Blind!

lg
DocRandom
  #2 (permalink)  
Alt 22.08.13
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.875
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Es gibt keine negativen Schlußkurse!
  #3 (permalink)  
Alt 22.08.13
Mitglied
 
Registriert seit: Aug 2013
Beiträge: 61
dave_hofmann befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

verwende statt OrderClosePrice mal OrderProfit, dass ist wahrscheinlich was du willst.

Guten Tag

Dave
  #4 (permalink)  
Alt 22.08.13
Neues Mitglied
 
Registriert seit: Aug 2013
Ort: Austria
Beiträge: 17
DocRandom befindet sich auf einem aufstrebenden Ast
DocRandom eine Nachricht über Skype™ schicken
Standard

@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
  #5 (permalink)  
Alt 22.08.13
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.875
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von DocRandom Beitrag anzeigen
@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
Nun ja, da hast Du Dich nicht nur falsch ausgedrückt, sondern auch falsch programmiert. Auf der anderen Seite war der Zusammenhang zwischen Deinem Geschriebenen und Programmierten wiederum richtig!, denn Du sprachst vom Schlußkurs und hattest OrderClosePrice() benutzt.

traderdoc
  #6 (permalink)  
Alt 22.08.13
Neues Mitglied
 
Registriert seit: Aug 2013
Ort: Austria
Beiträge: 17
DocRandom befindet sich auf einem aufstrebenden Ast
DocRandom eine Nachricht über Skype™ schicken
Standard

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
  #7 (permalink)  
Alt 22.08.13
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.875
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von DocRandom Beitrag anzeigen
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
Um es jetzt mal abzukürzen. Mir ist das völlig wurscht, was Du da nun meintest oder programmiert hattest. Fakt ist, dass OrderClosePrice() eben überhaupt nicht OrderProfit() ist, zumal Du eingangs geschrieben hattest "...und keine negativen Schlußkurse aus."
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
  #8 (permalink)  
Alt 22.08.13
Mitglied
 
Registriert seit: Aug 2013
Beiträge: 61
dave_hofmann befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

ja traderdoc hat völlig recht, danke für die Korrektur.

Guten Abend

Dave
Thema geschlossen

Lesezeichen

Stichworte
daten, history, history-daten, modifizieren, modifizierung, mql4, programmierung, programmierung metatrader, änderung


Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus




Alle Zeitangaben in WEZ +1. Es ist jetzt 11:16 Uhr.



Der Wavesnode - Spam Firewall
-----------------------------------------------------------------------------------------------------------------------------
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Powered by vBCMS® 2.7.0 ©2002 - 2017 vbdesigns.de
SEO by vBSEO 3.6.1
Copyright ©2009 - 2017 by Expert-Advisor.com - Das Metatrader Forum
MetaTrader bzw. MetaTrader 4 und MetaTrader 5 sind eingetragene Marken der MetaQuotes Software Corp.
-----------------------------------------------------------------------------------------------------------------------------