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.

Login
Benutzername:
Kennwort:


Statistik
Themen: 4973
Beiträge: 43253
Benutzer: 7.219
Aktive Benutzer: 81
Links: 84
Wir begrüßen unseren neuesten Benutzer: Hopfen&Malz
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor einem Tag
- Hopfen&Mal...
vor 2 Tagen
- frankmicha...
vor einer Woche
- DFeck
vor einer Woche
- bb1107
vor 2 Wochen
- rg-trader

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

Empfehlungen

Like Tree6Likes
Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #11 (permalink)  
Alt 08.08.13
Premium Mitglied
 
Registriert seit: Jun 2013
Beiträge: 364
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: 2.733
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

------Doppelpost!------
  #13 (permalink)  
Alt 08.08.13
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.733
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
Premium Mitglied
 
Registriert seit: Jun 2013
Beiträge: 364
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: 2.733
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
Premium Mitglied
 
Registriert seit: Jun 2013
Beiträge: 364
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: 2.733
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 19:30 Uhr.





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