Wie man den "Prozentsatz der Marge" programmatisch abruft - Seite 9

 
K-2SO:

Hut ab vor Ihnen, Sie haben es fast geschafft! Bei allen drei bisher untersuchten Brokern mit unterschiedlichen Margenprozentsätzen ist die Berechnung für Gold (für Aufträge in eine Richtung) korrekt.

Aber das Drehbuch versagt immer noch bei Exoten. Ich habe bei fxcm broker aufgehört. Die prozentuale Marge für Gold beträgt 70000, für konventionelle Währungspaare 130, die Währung der Marge scheint USD zu sein. Ich habe auch nirgendwo Anzeichen von Korrektheit gesehen! (. Ich selbst habe zwei Tage lang nach dem Schlüssel dazu gesucht, und in der Tat suche ich jetzt nach einer Antwort auf die Frage, wie es kommt, dass wir als Ergebnis von Berechnungen von Basiswährungen und deren Kursen mit Kurswährungen eine Margin-Währung erhalten... Vielleicht ist es das, oder vielleicht ist es die Tatsache, dass dieser Makler berücksichtigt den Prozentsatz der Marge auch für normale Währungspaare.

Sie können das Terminal hier ru.files.fm/u/xfezz883#_ herunterladen, entpacken, die exe-Datei ausführen und die Demo starten...

Ich eröffnete eine Demo, sogar zwei, eine hat kein Gold, die andere XAUUSD mit dem Prozentsatz der Marge 70000 und die Standard-Lot 1. Und der Grund ist nicht korrekt Berechnung in der

percentage = NormalizeDouble(
                             margin          // Маржа получена в валюте депозита с учётом плеча
                           /(contractSize    // Размер контракта в базовой валюте
                            *price           // Умножаем на текущую цену и получаем в валюте депозита
                            /100)            // Это для того чтобы коэффициент перевести в проценты
                           *(calcMode == 0 ? leverage : 1) // Это получено методом научно-технического тыка.
                                    // Если способ расчёта 0 - Forex; то надо учесть плечо
                                    //                     1 - CFD; то плечо не учитывается
                                    //                     2 - Futures; 3 - CFD на индексы НЕ проверялись, их у меня нету...
                           , 0);

experimentieren Sie selbst mit diesen Zeilen.

      percentage = NormalizeDouble(margin/(contractSize*price/100)*(calcMode == 0 ? leverage : 1), 0);
      orderMargin = (orderLots*contractSize*orderOpenPrice*percentage/100)/(calcMode == 0 ? leverage : 1);

Wenn es mir langweilig wird, werde ich vielleicht auch experimentieren.

 
Alexey Viktorov:

Kreuze sind kein Problem für die Berechnung. Sie müssen lediglich ein Angebot einholen, das die Währung der Marge in die Währung der Einlage umrechnet.

Zum Beispiel EURJPY-Kurs

Wenn die Einzahlung in USD erfolgt, sollten Sie EURUSD verwenden. CADJPY sollte mit USDCAD berechnet werden. Hier sollten wir sehen, wie man die Einzahlungswährung zur Randwährung hinzufügt, wir sollten sie nicht einfach in die Liste eintragen.

Die Zähler sind mit MarketInfo(symbol, MODE_MARGINHEDGED) nicht so schwierig. Das einzige Problem besteht darin, zuerst den Zähler zu finden, und dann einen Teil des Zählers und den Rest vollständig zu zerlegen...

Im Allgemeinen sehe ich den einzigen Vorteil dieses Artikels darin, dass der Händler im Voraus weiß, welche Marge bei der Aktivierung des schwebenden Auftrags genommen wird, und den schwebenden Auftrag rechtzeitig entfernen kann, wenn nicht genügend Geld vorhanden ist. Ich hatte einmal damit zu kämpfen, als ich einen EA auf dem Markt platzierte.

2017.06.06 18:00:01.890 Script vik2 XAUUSD,H1: removed
2017.06.06 18:00:01.875 vik2 XAUUSD,H1: uninit reason 0
2017.06.06 18:00:01.875 vik2 XAUUSD,H1: ******** AccountMargin = 12.93 USD
2017.06.06 18:00:01.875 vik2 XAUUSD,H1: ******** Процент маржи 1 Маржа ордера XAUUSD 1.0 = 12.933
2017.06.06 18:00:01.875 vik2 XAUUSD,H1: initialized
2017.06.06 18:00:01.859 Script vik2 XAUUSD,H1: loaded successfully
2017.06.06 17:59:51.593 Compiling 'vik2'

Hebelwirkung 100

 
Alexey Viktorov:

Ich habe eine Demo eröffnet, sogar zwei, eine hat kein Gold, die andere hat XAUUSD mit einem Margin-Prozentsatz von 70000 und einem Standardlot von 1. Und der Grund für die falsche Berechnung ist

Nun, darum geht es bei diesem ganzen Thema... und ich glaube, es gibt doch keine universelle Berechnung)
 

Und dann in normalen Währungspaaren in der Forex Berechnungsmethode, haben Sie zu berücksichtigen Prozentsatz?

2017.06.06 18:09:54.640 Script vik2 EURUSD,H1: removed
2017.06.06 18:09:54.640 vik2 EURUSD,H1: uninit reason 0
2017.06.06 18:09:54.640 vik2 EURUSD,H1: ******** AccountMargin = 1295.77 USD
2017.06.06 18:09:54.640 vik2 EURUSD,H1: ******** Процент маржи 115 Маржа ордера EURUSD 1.0 = 1295.774
2017.06.06 18:09:54.640 vik2 EURUSD,H1: initialized
2017.06.06 18:09:54.625 Script vik2 EURUSD,H1: loaded successfully


 
K-2SO:
Nun, darum geht es bei diesem Thema... und ich glaube nicht, dass es eine Pauschalberechnung gibt).
Warum nicht? Auf der ersten Seite gibt es einen Link mit Formeln. Je nachdem, wie die Berechnung durchgeführt wird, kann sie in mehrere Algorithmen unterteilt werden. Was ich zum Experimentieren vorgeschlagen habe, ist grundlegend falsch, verschwenden Sie nicht Ihre Zeit. Sie müssen in die andere Richtung gehen.
 
Alexey Viktorov:
Warum nicht? Auf der ersten Seite gibt es einen Link, über den die Formeln abgerufen werden können. Je nachdem, wie die Berechnung durchgeführt wird, kann sie in mehrere Algorithmen unterteilt werden. Was ich zum Experimentieren vorgeschlagen habe, ist grundlegend falsch, verschwenden Sie nicht Ihre Zeit. Sie müssen in die andere Richtung gehen.
Ich habe versucht, diese Formeln auf der FOREX Berechnungsmethode, nichts funktioniert richtig überhaupt auf der letzten Broker, auch für EURUSD.
 
K-2SO:
Ich habe diese Formeln mit der FOREX-Berechnungsmethode ausprobiert, bei dem letzten Broker funktioniert überhaupt nichts richtig, nicht einmal für EURUSD.
Wie kommt es, dass es nicht funktioniert? Mein Skript verwendet Formeln von dort und scheint für Forex und CFD zu funktionieren. Futures und Indizes werden mit unterschiedlichen Formeln berechnet, die ich nicht verwendet habe.
 
Alexey Viktorov:
Wie kommt es, dass es nicht funktioniert? In meinem Skript sind die Formeln von dort und scheinen für Forex und CFD zu funktionieren. Aber Futures und Indizes werden nach anderen Formeln berechnet, und ich habe sie nicht verwendet.
Ich habe Ihnen oben Bildschirmfotos gezeigt, wie sie funktionieren...
 
K-2SO:
Ich habe Ihnen oben Bildschirmfotos gezeigt, wie sie funktionieren...
Richtig. Mein Skript zählt die Margin für CFDs und Forex, und Ihre Screenshots sind für Futures, deren Formeln sich auf derselben Seite befinden.
 
Alexey Viktorov:
Richtig. Mein Skript berechnet die Marge für CFD und Forex, und Ihre Screenshots sind für Futures, deren Formeln auf der gleichen Seite zu finden sind.

Woher haben Sie diese Schlussfolgerung?^ ^


Der Weg zur Berechnung der Marge für XAUUSD, auch Forex... Dort ist der Gewinn die Termingeschäfte, nicht der, den wir zu berechnen versuchen.