Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools

Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools (http://www.expert-advisor.com/forum/index.php)
-   Programmierung MQL4 (http://www.expert-advisor.com/forum/forumdisplay.php?f=220)
-   -   OrderProfit in Punkten (http://www.expert-advisor.com/forum/showthread.php?t=5270)

Adlerauge 09.11.16 20:23

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...

SusanneH 09.11.16 22:24

einfach ausrechnen? Ask-OrderOpenPrice() bzw. OrderOpenPrice()-Bid

Adlerauge 10.11.16 09:36

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!

traderdoc 10.11.16 12:15

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

Adlerauge 10.11.16 21:16

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.

traderdoc 10.11.16 21:38

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

Adlerauge 11.11.16 12:29

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.

MA-EA 11.11.16 14:04

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

so ungefähr jedenfalls.

traderdoc 11.11.16 14:48

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

Adlerauge 11.11.16 17:13

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?


Alle Zeitangaben in WEZ +2. Es ist jetzt 06:30 Uhr.

Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum