IFC Markets Forex Broker

Häufig gestellte Fragen

Ich bin dabei, NetTradeX Advisors auf einem anderen Computer einzustellen, wie kann ich alle meine Skripts* exportieren?

Alle Skripts von NetTradeX Advisors sind im Fplder Documente\NeTTradeX Advisors\Scripts gespeichert. Nach der Installation des Terminals auf einem anderen Computer müssen Sie den ganzen Inhalt dieses Folders in den entsprechenden Folder auf dem neuen Computer kopieren und das Terminal neustarten.

Ich habe einen Indikator geschaffen, aber die Linie wurde unterbrochen. Wie kann ich eine Indikatorlinie ohne Lücken darstellen?

Für eine Linienausgabe ohne Lücken verwenden Sie die Funktion SetIndexStyle mit dem Typparameter, der LtSection-Wert hat.

Ich starte einen Experten, aber er stoppt nach ein paar Sekunden; das Protokoll zeigt diese Nachricht "stopped by timeout". Warum geschieht das?

Sobald ein Tick kommt, soll der Experte die ganze Logik des Programms innerhalb eines befristeten Rahmens (60 Sekunden) durchführen. Wenn die Grenze überschritten wird, hält der Experte nachdrücklich an und es werden dem Experten 3 zusätzliche Sekunden gegeben, um die Arbeit zu vollenden. Es wird empfohlen, den Zustand des Systems zu analysieren. Das Flag IsStopped für die korrekte Vollendung der Arbeit des Experten. Wenn der Experte stoppt, erhält der Benutzer die Nachricht "stopped by timeout". In diesem Fall sollte das Programm bearbeitet werden, sodass seine Ausführung weniger Zeit nimmt.

Ich sende eine Anfrage für die Eröffnung einer Position durch die Funktion Deals.Open(), aber die Position wird nicht eröffnet. Wie kann ich verstehen, was ist das Problem?

Nachdem Sie sicher sind, dass die Funktion Deals.Open() Null zurückgibt, müssen Sie sich das Eigenschaft System.LastError aufrufen und den Fehlercode bekommen. Die Fehlercode sind in der Benutzeranleitung "Grundlagen" - "Fehlercodes" beschrieben. Schenken Sie bitte Aufmerksamkeit der Tatsache dass das Eigentumssystem. Bitte rufen Sie das Eigenschaft System.LastError sofort nach dem Aufruf der Handelsfunktion auf, sonst wird die nachfolgende Handelsoperation dieses Eigenschaft entsprechend den Ergebnissen ihrer Arbeit ändern.

Ich habe eine Position geöffnet oder habe eine Order gestellt und ich versuche seine Ergebnisse zu erhalten, aber die Ergebniswerte sind falsch.

Für den Aufruf an die Eigenschaften der Position oder Order brauchen Sie zuerst die Funktion Select() aufrufen und, nachdem Sie sicher sind, dass Select() die Bedeutung true zurückgerufen hat, die Eigenschaftenn der Position oder Order aufzurufen.

Wie kann ich den Typ einer verschobenen Order (Buy stop or Buy limit) bestimmen?

Um den Typ eines gestellten Orders zu bestimmen, müssen Sie ihre Eigenschaften nach dem Aufruf der Funktion Select() abrufen. Es gibt zwei Bedingungen, die für die Order Buy Stop entsprechen müssen: Orders.Direction == opBuy and Orders.IsLimit == false beziehungsweise für die Order Buy Limit: Orders. Direction == opBuy and Orders.IsLimit == true.

Welche Eigenschaften SubType (Ordnungssubtyp) hat?

Die Eigenschaft des Orderssubtyps wird für ''komplizierte'' Orders verwendet und erlaubt zu identifizieren, welche die Hauptorder und welche untergeordnet sind. Zum Beispiel, beim Vorhandensein einer Aktivierungsorder, bei deren Auslösung zwei OCO-Orders gestellt werden, wird die Aktivierungsorder die Hauptorder (Orderniveau 1) und die OCO-Orders werden Untergebene (Orderniveau 2) sein.

Ich brauche eine Position auf einem bestimmten Symbol zu eröffnen. Ich habe das Fenster "Make deal" geöffnet, aber es enthält das Symbol, das ich brauche, nicht.

Die Symbolliste im Dialogfenster der Positionseröffnung enthält dieselben Symbole, die im Fenster Market Watch dargestellt sind. Deshalb, vor dem Senden einer Order nach eine Positionseröffnung, stellen Sie sicher, dass Sie das notwendige Symbol in Market Watch haben.

Wie kann ich Information über den Gewinn der Positionen, die ich gestern oder vor ein paar Tagen geschlossen habe, bekommen?

Informationen über geschlossene Positionen sind im Tab des Verlaufs im Terminal NetTradeX Advisors gezeigt. Zu diesen Positionen können Sie Zugang durch Verlauf haben. Die Information über geschlossene Positionen wird bis zum Neustart des Terminals gespeichert.

Ich rufe die Funktion Symbols.Distance() auf, aber ich erhalte minimale Nullentfernung der Order.

Vor dem Aufruf der Methode Symbols.Distance() müssen Sie das erforderliche Symbol in Market Watch haben.

Welche Systemfunktionen muss das Skript* unbedingt enthalten? Wenn ich keine Handlungen bei der Initialisierung und Deinitialisierung brauche, kann ich die entsprechenden Funktionen entfernen?

Für den Start des Skripts ist die Funktion Run() notwendig. Die Funktionen Initialize() und DeInitialize() sind optional, und wenn es keine Handlungen bei der Initialisierung und Deinitialisierung erforderlich sind, können sie die Funktion abschalten.
In einigen Fällen wie bei der Gestaltung von Dateien mit Beschreibungen von Hilfsfunktionen für Benutzer kann es auch keine Funktion Run() geben. Diese Dateien können kompiliert, aber nicht gestartet werden. Solche Skripts werden zusammen mit dem Direktive #include erwendet und werden in den Code der zu erfüllenden Skripten eingeschlossen.
* Der Begriff Skript in der Sprache NTL+ vereinigt in sich drei verschiedene Programme: Berater, Indikatoren und Utilitys.

Gibt es eine Protokolldatei, die die ganze Information über die Programmarbeit behält?

Ja, die ganze Information, die auf der Registerkarte Journal gezeigt wird, werden auch in der Protokolldatei, die sich im Folder Documents\ NetTradeX Advisors\ bases\ Kontotyp\ Kontonummer\ logs befindet, registriert. Es wird täglich eine einzelne Datei mit erweitertem log geschaffen. Solche Datei kann in einem Texteditor geöffnet werden.

Warum wird vor einigen globalen Veränderungen der Modifikator extern verwendet?

Die globale Variable kann mit dem extern Modifikator oder ohne ihn verwendet werden. Wenn der extern Modifikator nach dem Start des Skripts vorhanden ist, wird ein Fenster für die Veränderung eröffnet. Außerdem können diese Parameter geändert werden, wenn ein Berater oder Indikator läuft.

Gibt es nützliche Tastenkombination für die Arbeit mit dem Programm?

Die Tastenkombination Ctrl+N eröffnet die Liste von Symbolen, die für die Chartgestaltung der Preisnotierungen verfügbar ist.
Bei der Arbeit mit dem Chart können Sie die Tasten + / - für die horizontal Änderung des Chartmaßstabs verwenden. Dieselbe Operation kann mithilfe der Cursorbewegungen gemacht werden. Um die vertikale Skala zu ändern, bewegen Sie den Cursor auf der Preisskala, halten Sie den linken Mausknopf und bewegen Sie die Maus nach oben und nach unten.
Für die Darstellung des Preischarts für das entfernteste Datum können Sie die Taste Home und für die Darstellung der letzten Preisnotierungen die Taste End drücken.
Mit einem Doppelklick auf dem leeren Feld der Registerkarte Open Position wird ein Fenster für Positionseröffnung und mit einem Doppelklick auf dem leeren Feld Registerkarte Orders wird der Fenster für Orderstellung eröffnen. Dieselben Operationen können durch das Drücken von F4 (offene Positionen) oder F3 (Orderstellung) durchgeführt werden.
In den Dialogfenstern ist es bequemer, die Werte von numerischen Feldern durch das Drehen des Mausrades zu ändern. Zum Beispiel, bei der Preisfestlegung für verbundene Order wird der Preis die Umdrehung des Mausrades durch einen Punkt verändert.

Ich mache Division von Ganzzahlen System.Print("2/3="+2/3), das Ergebnis wird 2/3 = 0. Warum?

Da die beiden Operanden ganzzahlig sind, wird das Ergebnis der Division ganzzahlig sein. Deshalb ist es notwendig einen der Operand zum doppelten Typ wie folgt umwandeln: double(2)/3, das Ergebnis wird 2/3 = 0.666667 sein.

Wo globale Variablen des Benutzerterminals aufbewahrt werden?

Globale Variablen können durch das Fenster "Global Variables", das im Menü View - Globale Variablen sind, aufgerufen werden. Bemerken Sie bitte, dass jedes Konto seine eigenen globalen Variablen hat.

Wie kann man den Preis des letzten Fraktals bestimmt?

Bei der Verwendung der Methode Indicators.Fractals ist es nutzlos zu versuchen, den Wert für die letzte Bar zu bekommen, weil sie null sein werden. Zuverlässige Werte von Fraktals werden ab der vierten Bar (die Bar mit dem Index 3) erzeugt, da in diesem Fall zwei völlig gebildete Bars pro jede Seite der erforderlichen Bar verwendet werden.

Wie kann man double Zahlen vergleichen?

Die Zahlen werden im Hauptspeicher im binären System der Berechnung gespeichert. Deswegen können viele Zahlen, die im dezimalen System angegeben sind, nur als Kettenbruch präsentiert wird. Zum Beispiel kann eine Zahl, gegeben als 0.1 tatsächlich 0.09999999 gleich sein. Deshalb ist die Verwendung der doppelten Gleichung für den Zahlenvergleich mit dem Gleitkomma nicht richtig. Es ist besser mathematische Methode Math.Abs(a - b) < delta zu verwenden, wo 'a' der resultierte Wert, 'b' der Wert, mit dem der Vergleich durchgeführt wird und Delta - ein absoluter Fehler ist.