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: 36909
Benutzer: 6.083
Aktive Benutzer: 494
Links: 80
Wir begrüßen unseren neuesten Benutzer: Wombat
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 17:12).
Neue Benutzer:
vor 2 Stunden
- Wombat
vor 17 Stunden
- idur
vor einem Tag
- DarthTrade...
vor einem Tag
- Eren
vor einem Tag
- Rene1504

Onlineuser
'Wer ist online' anzeigen Benutzer: 0
Gäste: 65
Gesamt: 65
Team: 0
Team:  
Benutzer:  
Freunde anzeigen

Empfehlungen

Werbung

Like Tree6Likes
Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #11 (permalink)  
Alt 08.08.13
Mitglied
 
Registriert seit: Jun 2013
Beiträge: 220
Ca$hDigger befindet sich auf einem aufstrebenden Ast
Standard

Klasse das läuft einwandfrei
Nun eine neue Frage
Wenn ich auch die die Pipsumme auslesen will gibt es eine einfacherer Variante als mit der Subtraktion von OrderClosePrice() und OrderOpenPrice() zu arbeiten?? Blöd ist auch hierbei die unterscheidung zwischen Long und Short Orders... Den Pipwert direkt auslesen geht nicht oder? PipProfit() gibt es leider nicht...

LG C$D
  #12 (permalink)  
Alt 08.08.13
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.875
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

------Doppelpost!------
  #13 (permalink)  
Alt 08.08.13
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.875
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Meinst Du nun die Pipsumme über alle diese historischen Trades oder nur die Pips des Gewinnes/Verlustes jedes einzelnen Trades?

Prinzipiell ist das doch eine einfache Methode Open - Close bzw. Close - Open zu berechnen! Wo ist das Problem?
Du kannst auch vom OrderProfit() ausgehen und mit dem Pipvalue auf die Anzahl Pips zurückrechnen. Da sich aber der PipValue mit der Zeit ändert, würde die erste Methode wählen.

traderdoc
  #14 (permalink)  
Alt 08.08.13
Mitglied
 
Registriert seit: Jun 2013
Beiträge: 220
Ca$hDigger befindet sich auf einem aufstrebenden Ast
Standard

Genau die Pipsumme wie im Beispiel der 10 letzten Orders. Wie unterscheide ich dann short und longorders? woher weiss der code wann wird open von close subtrahiert und wann umgekehrt das war noch unklar
  #15 (permalink)  
Alt 08.08.13
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.875
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Code:
 double summe = 0; //als globale variable 
 int summepips = 0;

 int m = 1;
 if (Digits == 3 || Digits == 5) m = 10;

if(test)
{
  int pips;
  double f;
  double x;
  int i;
  for (i = OrdersHistoryTotal() - 1 ; i > OrdersHistoryTotal() - 10; i--) 
  {
     OrderSelect(i, SELECT_BY_POS, MODE_HISTORY);
     double point = MarketInfo(OrderSymbol(), MODE_POINT); 
     f = m * point;
     if (OrderType() == OP_BUY) 
        pips = MathRound((OrderClosePrice() - OrderOpenPrice())/f);
     if (OrderType() == OP_SELL) 
        pips = MathRound((OrderOpenPrice() - OrderClosePrice())/f);
     summepips += pips;
     x = OrderProfit() + OrderSwap() + OrderCommission();
     summe += x;
     Print("summe=", summe);
  }
}
traderdoc
Ca$hDigger likes this.

Geändert von traderdoc (08.08.13 um 18:10 Uhr)
  #16 (permalink)  
Alt 08.08.13
Mitglied
 
Registriert seit: Jun 2013
Beiträge: 220
Ca$hDigger befindet sich auf einem aufstrebenden Ast
Standard

Danke! Ist das MathRound eine Vorsichtsmaßnahme? Weil normal müsste doch sowieso immer der richtige Ganzzahlige Wert rauskommen wenn f den richtigen Faktor zur Umrechnung hat oder nicht
  #17 (permalink)  
Alt 08.08.13
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.875
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Nein. Bei einem 5-Digit-Broker wäre z.B. die Differenz 0,00082. Wird diese nun durch 0,00001 dividiert, erhält man 82, welche in "Wahrheit" aber nur 8,2 Pips sind, deshalb nochmal dividiert durch m = 10 (für eben diesen 5-Digit-Broker).
Und zuletzt wird auf die nächstgelegene Integerzahl gerundet und Du erhältst 8 Pips!

traderdoc
Thema geschlossen

Lesezeichen

Stichworte
mql4, programmierung, programmierung metatrader, tradehistory, trades auslesen


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 13:27 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.
-----------------------------------------------------------------------------------------------------------------------------