Wie berechnen Sie die Marge? - Seite 4

 
Janis Ozols:

Wenn sich die Hebelwirkung für ein Instrument aufgrund einer Erhöhung der Gesamtmenge oder aus einem anderen Grund geändert hat, wäre es logisch zu erwarten, dass diese Abfragen einen höheren Betrag der Marge ergeben, oder?

Nein, diese Funktionen nutzen die Hebelwirkung des Kontos.

 
Andrey Khatimlianskii:

Ja, das ist sie.

Nur ändert sich die Hebelwirkung höchstwahrscheinlich nicht für einen einzelnen Handel, sondern für das Instrument als Ganzes, aber das ändert nichts an der Essenz.

Ich füge meinem Informanten eine Warnmeldung für diesen Fall hinzu...

Klug, das ist klug.

 
Andrey Khatimlianskii:

Nein, diese Funktionen nutzen die Hebelwirkung des Kontos.

Bitte sagen Sie mir, mit welcher Funktion die aktuelle Marge für ein bestimmtes Instrument berechnet werden kann, wenn der Leverage dieses Instruments nicht mit dem aktuellen Leverage des Kontos übereinstimmt.

 
Janis Ozols:

Bitte sagen Sie mir, welche Funktion verwendet werden kann, um die aktuelle Marge für ein bestimmtes Instrument zu ermitteln, wenn die Hebelwirkung dieses Instruments im Moment von der Hebelwirkung des Kontos abweicht?

Es wäre schon lange her
 
Janis Ozols:

Welche Funktion kann verwendet werden, um die tatsächliche Marge für ein bestimmtes Instrument zu ermitteln, wenn der Leverage dieses Instruments im Moment nicht mit dem Leverage des Kontos übereinstimmt?

Vielleicht SymbolInfoDouble(Symbol,SYMBOL_MARGIN_INITIAL/SYMBOL_MARGIN_MAINTENANCE)?

SymbolInfoDouble - Market Info - MQL4 Reference
SymbolInfoDouble - Market Info - MQL4 Reference
  • docs.mql4.com
2. Returns true or false depending on whether a function is successfully performed. In case of success, the value of the property is placed into a recipient variable, passed by reference by the last parameter. It is recommended to use SymbolInfoTick() if the function is used for getting information about the last tick. It may well be that not a...
 
Stanislav Korotky:

Vielleicht SymbolInfoDouble(Symbol,SYMBOL_MARGIN_INITIAL/SYMBOL_MARGIN_MAINTENANCE)?

Leider liefert die Funktion SymbolInfoDouble mit einer dieser Konstanten Null, wenn es sich um FOREX-Marktinstrumente handelt.

 

So, jetzt können wir die Frage des Themas beantworten

Formel zur Berechnung der Spanne für eine direkte Kursofferte

M=CC/CP

  • Wobei M - Marge,
  • CC - Betrag der Transaktion,
  • MP - Hebelwirkung.

Um zum Beispiel ein Geschäft mit einem Volumen von 1 Standardlot (100 000 Einheiten) auf das Währungspaar USD/CAD mit einem Hebel von 1:200 abzuschließen, müssen Sie eine Marge von

  • M=CC/CP
  • М=100 000/200
  • М=500

Das heißt, die Marge beträgt 500 $, und bei einer Hebelwirkung von 1:500 beträgt die Marge nur 100.000/500=200 $. Aber mit einem Hebel von 1:500 können Sie 10 Lots von 1 Million Dollar kaufen und Transaktionen mit einer Marge von 100 000/500=2 000 $ durchführen.

Berechnung der Marge für die inverse Notierung

M=MSC/KP x KP

  • Wobei M - Marge;
  • CC - Betrag der Transaktion;
  • CC - Hebelwirkung;
  • VC - Währungskurs.

Nehmen wir GBR/USD als Beispiel.

  • M = MOP / KP x TOR
  • M = 100.000/200 x 1, 5074
  • М= 753,7 $

Sie erhalten keine runden Summen, aber der Wert eines Pips wird immer in runden Zahlen angegeben. Und bei direkten Zitaten ist die Berechnung eines Pip mit einigen Unannehmlichkeiten verbunden.

Berechnung der Spanne für die Kreuzkurse

M = CC/KP x EF

  • M - Rand;
  • CC - Summe der Transaktion;
  • CC - Hebelwirkung;
  • EF - Umrechnungskurs der (Basis-) Währung zum Dollar.

Beispiel:


//+-------------- РАСЧЕТ МАРЖИ ---------------------+
double calcMGN(string SYMB, double VOL)
{
   double Res=0,Price=0;
   if(LEVERAGE!=0)
   {
      if(StringSubstr(SYMB,0,3)!="USD")
      {
         SYMB=StringSubstr(SYMB,0,3)+"USD";
         Price=iClose(SYMB,Period(),0);
         Res=VOL*Price/LEVERAGE;
      }
      else Res=VOL/LEVERAGE;
   }
   return(Res);
}


 
Janis Ozols:

Bitte sagen Sie mir, welche Funktion verwendet werden kann, um die aktuelle Marge für ein bestimmtes Instrument zu ermitteln, wenn die Hebelwirkung dieses Instruments im Moment von der Hebelwirkung des Kontos abweicht?

Sie können die Formeln finden. Aber warum?

Nehmen Sie die tatsächliche Marge für alle Positionen in dem Instrument und berechnen Sie, wie hoch die tatsächliche Hebelwirkung ist.

 
Andrey Khatimlianskii:

Formeln können gefunden werden. Aber warum?

Nehmen Sie die tatsächliche Marge für alle Positionen des Instruments und berechnen Sie, wie hoch die tatsächliche Hebelwirkung ist.

Es wird nicht funktionieren.

Die Hebelwirkung ist fließend.

Mir ist es so ergangen, wie er es beschreibt,

Das ist wirklich bedauerlich und birgt ein ziemlich hohes Risiko.

 
Renat Akhtyamov:

Jetzt können wir also die Frage der Branche beantworten

Es tut mir leid, ich habe meine Frage im Titel des Threads nicht richtig formuliert. Eigentlich interessiert mich nicht, wie man die Marge berechnet, sondern wie man ihren tatsächlichen (nicht berechneten) Wert vom Terminal erhält. Und zwar nicht für das gesamte Konto, sondern für eine einzelne Position separat. Das ist es, worüber wir im ersten Beitrag sprechen. Ich habe bereits verstanden, dass dies mit MQL4 nicht möglich ist, eine solche Funktion gibt es einfach nicht. Allerdings schlug @Andrey Khatimlianskii vor einiger Zeit vor, dass die Hebelwirkung nicht für eine einzelne Position, sondern für ein Instrument als Ganzes variieren kann. Nun muss ich herausfinden, wie ich den Wert dieser Hebelwirkung ermittle, falls er von der Hebelwirkung des Kontos abweicht.


Renat Akhtyamov:

Die Formel zur Berechnung der Marge für eine direkte Notierung

M=CC/CP

  • Wobei M - Marge,
  • CC - die Summe der Transaktionen,
  • KP - Hebelwirkung.

Das Problem bei dieser und allen folgenden Formeln ist, dass sie KP (Hebelwirkung) enthalten. Leider habe ich noch nicht herausgefunden, wie ich diesen Wert für ein einzelnes Instrument ermitteln kann. Die Funktionen AccountMargin() und AccountInfoInteger(ACCOUNT_LEVERAGE) geben den Leverage des Kontos zurück, nicht den Leverage des Symbols, und die Funktion MarketInfo(_Symbol,MODE_MARGINREQUIRED) gibt den Margin-Wert zurück, der dem Leverage des Kontos entspricht, auch wenn die Positionen für dieses Symbol tatsächlich mit einem völlig anderen Leverage eröffnet werden. Die Funktion SymbolInfoDouble mit den Konstanten SYMBOL_MARGIN_INITIAL oder SYMBOL_MARGIN_MAINTENANCE liefert bei der Arbeit mit FOREX-Symbolen immer Null.

Daher verstehe ich nicht, wie diese und alle anderen Formeln verwendet werden können, wenn der Hebel für ein einzelnes Instrument vom Broker anders als der KP des Kontos im Allgemeinen festgelegt wird.


Andrey Khatimlianskii:

Die Formeln können gefunden werden. Aber warum?

Ich versuche nicht, Formeln zu finden (die wurden schon oft genug vorgeschlagen), sondern genau die Funktion von MQL4. Um den tatsächlichen Wert zu erhalten, nicht den berechneten. Dank Andrey habe ich bereits verstanden, dass es unmöglich ist, dies für eine einzelne Position separat zu tun. Jetzt frage ich mich, wie ich die Hebelwirkung für das gesamte Instrument erhalten kann, wenn sie sich von der des Kontos unterscheidet.


Andrey Khatimlianskii:

Nehmen Sie die tatsächliche Marge für alle Positionen in dem Instrument und berechnen Sie, wie hoch die tatsächliche Hebelwirkung ist.

Das ist genau das, was ich jetzt getan habe. Der Expert Advisor vergleicht den tatsächlichen Wert der Marge mit dem berechneten Wert, und im Falle einer erheblichen Überschreitung stellt er den Handel ein und sendet eine Benachrichtigung an den Händler. Bisher habe ich noch keine derartigen Benachrichtigungen erhalten (autsch*3).

Aber was tun, wenn es Positionen auf anderen Instrumenten gibt? Schließlich ist oben deutlich geworden, dass es unmöglich ist, den tatsächlichen Wert der Marge für eine einzelne Position vom Terminal zu erhalten. Aber kann man das nicht für das Instrument als Ganzes tun?