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: 43267
Benutzer: 7.220
Aktive Benutzer: 82
Links: 84
Wir begrüßen unseren neuesten Benutzer: JosephTK
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor einer Stunde
- JosephTK
vor 2 Tagen
- Hopfen&Mal...
vor 2 Tagen
- frankmicha...
vor einer Woche
- DFeck
vor einer Woche
- bb1107

Onlineuser
'Wer ist online' anzeigen Benutzer: 1
Gäste: 410
Gesamt: 411
Team: 0
Team:  
Benutzer:  JosephTK
Freunde anzeigen

Empfehlungen

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 09.11.16
Mitglied
 
Registriert seit: Nov 2015
Beiträge: 136
Adlerauge befindet sich auf einem aufstrebenden Ast
Standard OrderProfit in Punkten

Hallo allerseits,

im Metatrader kann man sich den momentanen Gewinn einer offenen Position auch in Punkten statt in der Kontowährung anzeigen lassen.
Mit welchem Befehl bekomme ich den momentanen Gewinn einer offenen Position in Form von Punkten in meinem EA?

OrderProfit() gibt nur den Gewinn in der Kontowährung aus...
  #2 (permalink)  
Alt 09.11.16
Mitglied
 
Registriert seit: Mar 2016
Beiträge: 68
SusanneH befindet sich auf einem aufstrebenden Ast
Standard

einfach ausrechnen? Ask-OrderOpenPrice() bzw. OrderOpenPrice()-Bid
  #3 (permalink)  
Alt 10.11.16
Mitglied
 
Registriert seit: Nov 2015
Beiträge: 136
Adlerauge befindet sich auf einem aufstrebenden Ast
Standard

Hallo Susanne,

ja, das werde ich dann wohl so machen, wenn niemand einen direkten Befehl kennt, dann wird es den wohl auch nicht geben... ;-)

Ich danke Dir!
  #4 (permalink)  
Alt 10.11.16
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.733
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Nein, einen direkten Befehl oder Funktion gibt es dafür nicht. Und wenn Du mit Punkten Pips meinst, dann wäre das ein Weg zum Ziel.

M = 1;
if (Digits == 3 || Digits == 5) M = 10;

Nach OrderSelect():

if (OrderType() == OP_BUY) {
OrderProfitPips = (Ask - OrderOpenPrice())/Point/M;
}
if (OrderType() == OP_SELL) {
OrderProfitPips = (OrderOpenPrice() - Bid)/Point/M;
}

Man könnte nun oben auch M und Point noch zusammenfassen.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #5 (permalink)  
Alt 10.11.16
Mitglied
 
Registriert seit: Nov 2015
Beiträge: 136
Adlerauge befindet sich auf einem aufstrebenden Ast
Standard

Danke Doc.

ich habe mir es jetzt schon so zurechtgebastelt:

PHP-Code:
   double Profit                       OrderProfit();
   
double Tickvalue MarketInfo(Symbol(), MODE_TICKVALUE);
   
int Profit_Punkte;

   
Profit_Punkte Profit 100 Tickvalue
Ist für einen 5-stelligen Broker.
  #6 (permalink)  
Alt 10.11.16
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.733
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Wie kommst Du denn darauf?

Profit_Punkte = Profit * 100 / Tickvalue;

Mal ein praktisches Beispiel am EURUSD:

Profit_Punkte = 10 * 100 / 1;

Das würden 1000 Punkte ergeben???

Anhand des DE30Cash:

Profit_Punkte = 10 * 100 / 0,01;

Das würden 100000 Punkte ergeben.

Das ist eine Erklärung wert.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #7 (permalink)  
Alt 11.11.16
Mitglied
 
Registriert seit: Nov 2015
Beiträge: 136
Adlerauge befindet sich auf einem aufstrebenden Ast
Standard

ups, hatte noch vergessen, die Lotgrösse mit zu berücksichtigen. Mein Beispiel war von 0.01 Lots ausgegangen.
so gehts:

PHP-Code:
   double Profit                       OrderProfit();
   
double Lots                         OrderLots();
   
double Tickvalue MarketInfo(Symbol(), MODE_TICKVALUE);
   
int Profit_Punkte;

   
Profit_Punkte Profit Lots Tickvalue
Ich habe es so gelöst, weil ich in meinem Fall den Gewinn in Punkten einer geschlossenen Position brauche, deshalb konnte ich hier mit nicht mit Bid und Ask arbeiten...

@doc:

1000 Punkte im EURUSD entspricht 100 Pips bzw. 1 Cent.
Die Rechnung stimmt.

Im DE30Cash kann man es so nicht machen.
  #8 (permalink)  
Alt 11.11.16
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 1.178
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

In der Order-Liste rechte Maustauste > Gewinn > in Punkten

so ungefähr jedenfalls.
  #9 (permalink)  
Alt 11.11.16
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.733
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Ok, dann lass uns mal rechnen anhand des EURUSD:

Profit_Punkte = Profit / Lots / Tickvalue;

Profit_Punkte = 10 / 1 / 1;

Da ergäbe jetzt 10. Und nun kommt die entscheidende Frage, was ist ein Punkt bei Dir?

Warum sollte man bei der Berechnung der Punkte oder Pips nicht mit Ask und Bid rechnen können. Das mache ich seit 10 Jahren.

Aber die entscheidende Frage ist wirklich, was verstehst Du unter einem Punkt, dessen Begriff es im Forexmarkt so eigentlich nicht gibt, sondern da wird von Pips gesprochen.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #10 (permalink)  
Alt 11.11.16
Mitglied
 
Registriert seit: Nov 2015
Beiträge: 136
Adlerauge befindet sich auf einem aufstrebenden Ast
Standard

Nun, ich habe keine persönliche Definition für Punkt, sondern nehme das, was der MT4 anzeigt:
wenn Du im Terminal nach einem Klick auf die rechte Maustaste auf Gewinn gehst und "in Punkten" auswählst, dann zeigt er Dir Deine laufenden Positionen in Punkten an. Und dann siehst Du, dass ein Cent 1000 Punkte sind, wenn Dein Broker 5-stellig ist (was ja nun mittlerweile Standard ist)

Demnach sind 10 Punkte ein Pip.

Wer hat's erfunden? Nicht die Schweizer und auch ich nicht..)))

...noch zur Rechnung:

10 / 1 / 1 = 10
das bedeutet, dass eine Position von einem Lot 10 Punkte (1 Pip) weit laufen muss, um 10 Euro Gewinn zu machen.

mit Bid bzw. Ask den Gewinn einer BEREITS GESCHLOSSENEN Position ermitteln? Wie geht das?
Thema geschlossen

Lesezeichen

Stichworte
gewinn, gewinn befehl, mql4, orderprofit, programmierung, programmierung metatrader, programmierung mql4, punkte

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 23:58 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.
-----------------------------------------------------------------------------------------------------------------------------