Bibliotheken: GetLotForOpeningPos

 

GetLotForOpeningPos:

Die Funktion berechnet die Lotgröße in Abhängigkeit von den verfügbaren Mitteln (Margin) in der Kontowährung.

Autor: Nikolay Kositsin

 

FALSCH !

---- Normierung der Losgröße auf den nächstliegenden Standardwert 
lot = LOTSTEP*MathFloor(lot/LOTSTEP);

Diese Los-Min-Los-Schritt-Berechnung ist falsch!

Was wir tun sollten ist :

1. Subtrahieren Sie das (rohe) Lot mit dem Mindest-Lot, denn wir müssen die Berechnung des Lots immer mit dem vom Broker festgelegten Mindest-Lot beginnen. Wenn das Ergebnis kleiner als 0 ist, haben wir kein Lot.

lot -= MinLot;
if (lot < 0) lot = 0; //--- not even qualify for minimum lot

2. Berechnen Sie, wie viele Schritte für das Step-Lot erforderlich sind, um das Lot zu erreichen. Verwenden Sie nicht die Funktion MathFloor(), denn der Rückgabetyp von MathFloor() ist double, was zu einem Fehler führen kann, wenn das endgültige Lot nicht den Anforderungen des Brokers entspricht. Verwenden Sie eine Variable vom Typ Integer.

int the_step;

the_step = lot/LOTSTEP;

3. Endgültige Berechnung, fassen Sie alle Werte zusammen.

lot = MinLot + the_step*STEPLOT;

4. Eine vollständige Berechnung

---- Normierung der Losgröße auf den nächstliegenden Standardwert
lot -= MinLot;
if (lot < 0) lot = 0;

int the_step;
the_step = lot/LOTSTEP;

lot = MinLot + the_step*STEPLOT;

//---- Überprüfung der Partie auf den zulässigen Mindestwert
if (lot < MinLot) lot=0;

//---- Überprüfung der Partie auf den zulässigen Höchstwert 
if(lot>MaxLot) lot=MaxLot;

5. Schrecklich - diese Lot-Berechnung beinhaltet kein Money-Management, das jeder vernünftige Trader haben sollte und muss. Das Money Management berechnet das Risiko der Positionseröffnung, d.h. - aber nicht nur - die Kosten für den Verlust von Geld bis zum Stop Loss.

Geldverluste zu vermeiden ist Teil des Spiels.

 

Hallo Nikolay,

Ich bin neu in MT5 und frage mich, ob Sie einen Indikator vorschlagen können, der so gut funktioniert, wie Sie vorschlagen?

Vielen Dank für Ihren informativen Beitrag.

Prost