
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
MarketInfo(Symbol(),MODE_MARGININIT) = SymbolInfoDouble(_Symbol,SYMBOL_MARGIN_INITIAL)
Was entspricht dann MODE_MARGINREQUIRED? Oder anders gefragt, woher weiß ich, wie viel freies Geld ich brauche, um 1 Los zu öffnen und zu kaufen?
In Moving Average.mq5 Expert Advisor von mql5 creators werden die Lose wie folgt berechnet
Warum ist MaximumRisk so klein (0,02%) und wird bei der Berechnung der Lose durch 1000 geteilt? Wofür steht diese 1000? Vielleicht 1000 = verfügbare Mittel, die zum Kauf von 1 Lot benötigt werden, multipliziert mit 100% (um 0,02% in 0,0002 Bruchteile umzuwandeln)? Das heißt, die verfügbaren Mittel für den Kauf eines Loses betragen $10 ($10x100%=1000). Geht es in die richtige Richtung, wie ich finde?
Und noch eine Frage. Gibt es eine Obergrenze für die Anzahl der offenen Aufträge?
Was entspricht dann MODE_MARGINREQUIRED? Oder woher weiß ich sonst, wie viel Geld zur Verfügung steht, um 1 Los zum Kauf zu eröffnen?
Und noch eine Frage. Gibt es eine Obergrenze für die Anzahl der offenen Aufträge?
Ich habe mir diese Frage gestellt.
Hier ist die Antwort der Entwickler:
Siehe
SYMBOL_TRADE_CONTRACT_SIZE
Größe des Handelsvertrags
doppelt
и
SYMBOL_WAEHRUNG_MARGIN
Währung, in der die Marge berechnet wird
String
So wie ich das verstehe, müssen Sie das selbst berechnen.
gpwr:
In Moving Average.mq5 Expert Advisor von mql5 creators werden die Lose wie folgt berechnet
Warum ist MaximumRisk so klein (0,02%) und wird bei der Berechnung der Lose durch 1000 geteilt? Wofür steht diese 1000? Vielleicht 1000 = verfügbare Mittel, die zum Kauf von 1 Lot erforderlich sind, multipliziert mit 100% (um 0,02% in 0,0002 Bruchteile umzuwandeln)? Das heißt, die verfügbaren Mittel für den Kauf eines Loses betragen $10 ($10x100%=1000). Geht es in die richtige Richtung, wie ich finde?
Und noch eine Frage. Gibt es eine Obergrenze für die Anzahl der offenen Aufträge?
In dieser Zeile wird das Risiko mit 2 % des Betrags der freien Mittel berechnet, wenn ich das richtig verstanden habe. Warum wird dieser Betrag durch 1000 geteilt?
Aber wenn ich richtig verstehe, dann mit einer Einzahlung (freie Mittel) von $ 20.000, empfiehlt der Expert Advisor, nicht mehr als 2% dieses Betrags ($ 400) zu öffnen.
Dividiert man diesen Betrag durch 1.000, so erhält man logischerweise 0,4 Lot...
gpwr:
Gibt es eine Obergrenze für die Anzahl der offenen Aufträge?
In dieser Zeile wird das Risiko mit 2 % der verfügbaren Mittel berechnet, wenn ich das richtig verstanden habe. Warum dieser Betrag durch 1.000 geteilt wird, bleibt den Entwicklern überlassen.
Aber wenn ich richtig verstehe, dann mit einer Einzahlung (freie Mittel) von $ 20.000, empfiehlt der Expert Advisor, nicht mehr als 2% dieses Betrags ($ 400) zu öffnen.
Dividiert man diesen Betrag durch 1.000, so erhält man logischerweise 0,4 Lot...
Jetzt habe ich es verstanden. Es gibt einen Fehler in der Datei Moving Average.mq5. Anstelle von
Es sollte sein
Dann ist die Division durch 1000 bei der Berechnung der Lose klar: 100.000 $(Losgröße)/100(Hebelwirkung) = 1000. Allerdings dürfen die mql5-Entwickler ein solches Beispiel für einen Expert Advisor nicht zeigen. Sie sollte geändert werden
An
Oder noch besser
Es ist allerdings schade, dass MODE_MARGINREQUIRED verloren gegangen ist. Vielleicht werden die Entwickler diesen Parameter wiederherstellen, um die Anzahl der Berechnungen zu verringern.
Kurznamen wurden bisher immer nur für die Anzeige im Teilfenster Indikator verwendet
Ich weiß nicht, ob ich meine Fehlerberichte an die richtige Stelle schreibe. Falls nicht, korrigieren Sie mich bitte.
Beim Testen meines EA habe ich absichtlich eine solche Situation geschaffen, um zu sehen, ob der Tester die Marge korrekt ermittelt. Also, die Kaution von 100 Dollar. Wir handeln EURUSD. Die Mindestlosgröße beträgt 0,1. Der folgende Code zur Berechnung der Lose befindet sich im Expert Advisor
Das Prüfgerät erzeugt diese Fehler
2010.06.08 22:28:57 Kern 1 nicht genug Geld [Sofortkauf 0,10 EURUSD zu 1,19242]
2010.06.08 22:28:57 Kern 1 PrevBalance: 100.00, PrevEquity 100.00, PrevMargin: 0.00, NewMargin: 119.24, NewFreeMargin: -19.24
2010.06.08 22:28:57 Kern 1 1000 100
2010.06.08 22:28:57 Kern 1 nicht genug Geld [Sofortkauf 0,10 EURUSD zu 1,19180]
2010.06.08 22:28:57 Kern 1 PrevBalance: 100.00, PrevEquity 100.00, PrevMargin: 0.00, NewMargin: 119.18, NewFreeMargin: -19.18
2010.06.08 22:28:57 Kern 1 1000 100
2010.06.08 22:28:57 Kern 1 nicht genug Geld [Sofortkauf 0,10 EURUSD zu 1,19362]
2010.06.08 22:28:57 Kern 1 PrevBalance: 100,00, PrevEquity 100,00, PrevMargin: 0,00, NewMargin: 119,36, NewFreeMargin: -19,36
2010.06.08 22:28:57 Kern 1 1000 100
Nach diesen Meldungen zu urteilen, ist die für den Kauf von 1 Lot benötigte freie Marge, LotRqdMgn, gleich 1000, was korrekt zu sein scheint. FreeMargin=100. Multiplizieren Sie 0,1 Lot mit 1000 und Sie erhalten 100. Das bedeutet, dass wir genug Mittel haben, um das 1. Los zu eröffnen. Aber der Prüfer meldet, dass wir nicht genug Mittel haben. Wo liegt der Fehler?
Ausgehend von diesen Meldungen beträgt die für den Kauf von 1 Lot, LotRqdMgn, erforderliche freie Marge 1000, was korrekt zu sein scheint. FreeMargin=100. Multiplizieren Sie 0,1 Lot mit 1000 und Sie erhalten 100. Das bedeutet, dass wir genug Mittel haben, um das 1. Los zu eröffnen. Aber der Prüfer meldet, dass wir nicht genug Mittel haben. Wo liegt der Fehler?
Der Fehler liegt darin, dass Sie bei Ihren Berechnungen die Nachschusswährung vergessen haben: Saldo = 100 USD und Nachschusspflicht = 100 EUR (119 USD).
Deshalb können Sie keine Transaktion vornehmen - alles ist korrekt.
Der Fehler liegt darin, dass Sie bei Ihren Berechnungen die Margin-Währung vergessen haben: Saldo = 100 USD und Margin-Anforderung = 100 EUR (119 USD).
Deshalb ist es nicht möglich, eine Transaktion vorzunehmen - alles ist korrekt.
Vielen Dank, Renat. Ich habe meinen Fehler verstanden. Ich habe die Formel für die LotRqdMgn-Berechnung geändert und alles funktioniert jetzt korrekt.
Ein neues Wort im Bibliothekswesen, oder das erstaunliche daneben...
Ich habe also einen Expert Advisor erstellt, der die Bibliothek verwendet, ihn überprüft und alles funktioniert. Ich habe ein Archiv mit dem Expert Advisor, dieser Bibliothek und einigen MQL5- und MQH-Dateien erstellt. Ich habe das Archiv dem Antragsteller/Entwickler zum Testen übergeben.
Das wäre in Ordnung, aber ich habe beschlossen, die Tests an einem anderen Terminal durchzuführen. Also entpackte ich das Archiv und beschloss, den Expert Advisor an den Chart anzuhängen.
Und im Terminaljournal stehen diese beiden Zeilen:
2010.06.10 09:54:51 PM Experten MechanicalTrading-Infinity-2010 (EURUSD,Daily)
2010.06.10 09:54:51 Experten Laden von MechanicalTrading-Infinity-2010 (EURUSD,Daily) fehlgeschlagen
Ich begann zu suchen, was und wie es funktioniert (oder besser gesagt, nicht funktioniert) und fand eine erstaunliche Tatsache - Terminal sieht kompilierte Bibliothek im Verzeichnis (als *.ex5), aber hartnäckig "sinkt" es, was nicht sehr gut ist, wie Sie verstehen...
Nachdem ich viele mögliche Gründe für ein solches Verhalten ausprobiert hatte, beschloss ich, die Originaldatei (als *.mq5) in den Ordner mit der Bibliothek zu legen. Ich habe versucht, einen EA zum Chart hinzuzufügen - oh mein Gott, alles funktioniert.
Im Laufe des Spiels kamen eine Reihe von Fragen auf:
1. Warum funktioniert der Expert Advisor nicht, wenn die Bibliothek nur als .ex5 dargestellt wird?
2. Warum löscht das Terminal diese Datei hartnäckig aus dem Verzeichnis?
3. Warum enthält das Terminalprotokoll keinen eindeutigen Kommentar zu all diesen Punkten?
4. Warum wird in der Dokumentation nicht erwähnt, dass dieses Verhalten möglich ist?
Und schließlich die fünfte und letzte Frage - wie komme ich mit all dem zurecht und was mache ich falsch (vielleicht fehlt dem Terminal eine EX5-Datei und er sucht nach etwas, zum Beispiel einer Header-Datei oder der Bibliothek selbst)?
PS
Übrigens, ich habe den gleichen Fehler mit Expert Advisors, hartnäckiges Löschen der *.ex5 Datei... :(