Thursday 21 September 2017

Forexconnect Api Herunterladen


Forex Technology amp Cloud-Provider benötigen, um Preise und Kontoinformationen implementieren und die Fähigkeit zu senden oder zu ändern Bestellungen Für mehr technische API Nutzung bieten wir Optionen für ein höheres Maß an Technologie. Unsere APIs für Technologie - und Cloud-Provider bieten Ihnen niedrige Bandbreite, ziehende Architektur ohne Mindestanforderungen, eine breite Palette von Handelsaufträgen und Zugriff auf historische Forex - und CFD-Daten. Forexconnect API ForexConnect ist unser flexibles API8212, das von NinjaTrader und Mirror Trader Plattformen genutzt wird. ForexConnect ist kompatibel mit. Net, Linux, Mac, iOS und Android. Code auf 30 verschiedenen Funktionen und Funktionen Verwenden Sie Low-Level-Messaging-Strukturen oder Tabellenstrukturen mit berechneten Feldern Verbinden mit MATLAB, um fortgeschrittene Analyse auf Preisdaten laufen Getting Started Bereits ein FXCM-Konto Download Forexconnect SDK Ein FXCM-Konto, einschließlich der freien Praxis account8212no Minimum Balance erforderlich Ein IDE oder Texteditor, der LUA ausführt (dh Visual Studio) Brauchen Sie mehr Informationen Besuchen Sie ForexConnect Wiki, um unsere Guides für Java zu lesen. NET und C und Beispiele für komplexe Code-Snippets für Aktionen wie Batch-Befehle und Contingency-Gruppen. Auf der Suche nach einer Client - oder serverseitigen Anwendung ist Java eine skalierbare, leichte und robuste API, die auf der FIX-Spezifikation für Forex basiert und für den Handel mit FXCM angepasst ist. Kompatibel auf jedem Java-kompatiblen Betriebssystem Leicht und auf der Basis von FIX-Messaging Fähig, historische Trades und Tarife zu erhalten Getting Started Bereits ein FXCM-Konto Download Java SDK Ein FXCM-Konto, einschließlich kostenloser Praxis account8212no Mindestabgleich erforderlich Eine IDE (dh Netbeans, Eclipse) View Beispiel-Code und siehe Dokumentation auf FXCMs Java-API-GitHub-Seite. Wie verwenden Sie ForexConnect. NET-API (Win32Win64) In diesem Artikel wird beschrieben, wie Sie mit der Verwendung von ForexConnect. NET API. Hier finden Sie die API-Grundlagen und Schritt-für-Schritt-Anleitungen zum Erstellen eines Arbeitsbeispiels einer einfachen Handelsanwendung. Plattform. Microsoft. NET Framework 2.0 und höher auf MS Windows 32-Bit64-Bitversion Sprache. C. NET-IDE. Microsoft Visual Studio 2005, 2008, 2010 Die Verwendung von ForexConnect. NET-Bibliotheken mit dem Microsoft Silverlight-Anwendungs-Framework wird nicht unterstützt. ForexConnect. NET-Bibliothek, die mit Mono ausgeführt wird, wird nicht unterstützt. Laden und Laden von ForexConnect API-Bibliotheken Laden Sie die letzte Version von ForexConnect API herunter: Wenn Sie über eine 32-Bit-Version von Microsoft Windows verfügen, laden Sie die 32-Bit-Version von ForexConnect API herunter. Wenn Sie eine 64-Bit-Version von Microsoft Windows haben, laden Sie 64-Bit-Build von ForexConnect API. Informationen über die Systemversion finden Sie im Dialogfeld Systemeigenschaften. Beachten Sie, dass, wenn Ihr System Windows XP ist und Sie nicht sehen, x64 Edition in dem Dialogfeld Systemeigenschaften aufgeführt wird, dann eine 32-Bit-Version von Windows XP ausgeführt werden. Starten Sie das Installationsprogramm und folgen Sie den Anweisungen des Setup-Assistenten. Weiterhin wird angenommen, dass ForexConnect API in C installiert ist: Program FilesCandleworksForexConnectAPI. Verwenden von ForexConnect API mit Microsoft Visual Studio Sie sollten die folgenden Änderungen an Ihrem C-Projekt vornehmen: 1. Konfigurieren Sie das Post-Build-Ereignis Ihres Projekts, um ForexConnect API-Bibliotheken zu kopieren und Dateien in den Ordner kopieren, in dem das Programm erstellt wird: Fügen Sie in dem Projekt Properties rarr Build Events rarr Post-Build-Ereignisbefehlszeile den folgenden Text hinzu: Kopieren Sie C: Program FilesCandleworksForexConnectAPIbin. (TargetDir) 2. Fügen Sie einen Verweis auf die fxcore2.dll. NET-Assembly zu Ihrem Projekt hinzu. Wenn Sie. NET 4.0 verwenden, verwenden Sie die entsprechende. NET fxcore2.dll-Assembly, die in dem Ordner C: Program FilesCandleworksForexConnectAPIbinnetdotnet40 gefunden werden kann. Wenn Sie. NET 2.0 verwenden, verwenden Sie fxcore2.dll Assembly aus dem Ordner C: Program FilesCandleworksForexConnectAPIbinnetdotnet20. 3. Fügen Sie Ihrem Code den Namespace fxcore2 hinzu: Distribution Sie müssen Ihr Programm mit allen Binärbibliotheken und unterstützenden Dateien von C: Program FilesCandleworksForexConnectAPIbin verteilen. ForexConnect-Bibliotheken und unterstützende Dateien müssen sich in dem Ordner befinden, in dem die Anwendung installiert ist. Beachten Sie, dass fxcore2.dll-Assembly in dem Ordner platziert werden muss, auf dem auch Ihre Anwendung installiert ist. Funktionen von ForexConnect. NET API Feature Driven Architecture Alle von ForexConnect verwendeten APIs sind asynchron, sodass Sie eine ereignisgesteuerte Architektur in Ihrem Code implementieren müssen. Eine ereignisgesteuerte Architektur ist ein Softwarearchitekturmuster, das das Verhalten von Produktion, Erkennung und Konsum von Ereignissen sowie die Antworten, die sie hervorrufen, verwaltet. In diesem Zusammenhang sollte ein Ereignis als ein Wert oder eine Nachricht behandelt werden, die innerhalb eines laufenden Stroms von überwachten Eingängen, wie spezifischen Bedingungen oder Signalen oder etwas anderem, identifiziert werden können. Event-orientierte Architekturen bestehen in der Regel aus Event-Produzenten und Event-Konsumenten. Event-Konsumenten abonnieren einige Event-Manager und Event-Produzenten zu diesem Manager zu veröffentlichen. Wenn der Manager ein Ereignis von einem Produzenten empfängt, leitet er dieses Ereignis an alle registrierten Verbraucher weiter oder speichert das Ereignis zur späteren Weiterleitung. Eine Ereignisbehandlungsroutine ist eine Rückrufroutine, die asynchron arbeitet und Eingaben behandelt, die in einem Programm (Ereignisse) empfangen werden. In diesem Kontext ist ein Ereignis ein aussagekräftiges Element von Anwendungsinformationen aus einem zugrundeliegenden Entwicklungsrahmen, in der Regel aus einem GUI-Toolkit oder einer Art von Eingaberoutine. Auf der GUI-Seite beispielsweise umfassen Ereignisse Schlüsselbetätigungen, Mausaktivitäten, Aktionsauswahlen oder Zeitgeberabläufe. Auf der Eingabeseite umfassen Ereignisse das Öffnen und Schließen von Dateien und Datenströmen, das Lesen von Daten und so weiter. Ereignisbehandlung ist der Empfang eines Ereignisses bei irgendeinem Ereignisbehandler von einem Ereignisproduzenten und nachfolgenden Prozessen. Zu den Prozessen, die bei der Ereignisbehandlung involviert sind, gehören: Identifizieren, an welchem ​​Ort ein Ereignis weitergeleitet werden soll Vorwärts machen Empfangen des weitergeleiteten Ereignisses Nehmen Sie eine geeignete Aktion als Reaktion auf das Protokoll auf, senden Sie eine Fehler - oder Wiederherstellungsroutine oder senden Sie eine Nachricht Das Ereignis Handler kann die Veranstaltung letztlich zu einem Ereignis Verbraucher. Der Vorteil von ereignisgesteuerten Architekturen ist, dass sie beliebig große Sammlungen von Verbrauchern und Herstellern zusammen mit einigen Führungskräften ermöglichen, laufende Status - und Antwortinformationen auszutauschen. Sie sind auch in der Regel ziemlich reagieren auf Ereignisse, wie sie auftreten, und arbeiten gut in unvorhersehbaren und asynchronen Kommunikationsumgebungen. ForexConnect. NET-Ereignisbehandlung Besonderheiten Die ForexConnect. NET-API verfügt bereits über Implementierungen von IO2GSessionStatus - und IO2GResponseListener-Schnittstellen, um Benachrichtigungen über Sitzungsstatusänderungen und Datenempfang zu empfangen. Sie können also geeignete. NET-Ereignisse des O2GSession-Objekts verwenden, anstatt diese Schnittstellen selbst zu implementieren. Sie können sie jedoch implementieren und verwenden, um Benachrichtigungen von dem Sitzungsobjekt nach dem Abonnement zu erhalten, falls dies für Sie besser geeignet ist. Beachten Sie, dass alle Event-Handler, die Sie für O2GSession-Ereignisse implementiert haben, in einem separaten Thread aufgerufen werden. Beachten Sie folgendes: Sie müssen immer einen threadsicheren Zugriff auf alle in Ihrer Anwendung gespeicherten Daten haben, die von Ihren Event-Handlern aktualisiert werden. Sie müssen keine Ereignisprozeduraufrufe synchronisieren und müssen nicht mehr über die Ereignisprozedur re-entering nachdenken, da alle Ereignisse aus API bereits in einem Thread synchronisiert sind. Daher werden Ereignisbehandler nacheinander aufgerufen. Sie sollten jedes Ereignis so schnell wie möglich behandeln, da sie im Handler-Thread von der ForexConnect-Bibliothek synchronisiert werden. Sie können eigene Threads ausführen, um die Ereignisbehandlung zu beschleunigen. Object Lifetime Management Sie benötigen keine zusätzliche Ressourcenverwaltung für Objekte, die mit ForexConnect. NET API erhalten werden. Es wird jedoch empfohlen, die Dispose () - Methode für alle erhaltenen Objekte aufzurufen, die sie implementieren. Mit diesen Anrufen können Sie unbenutzte Systemressourcen effektiver freigeben. Sie können die using-Anweisung zu diesem Zweck verwenden: Beispielanwendung mit ForexConnect. NET API Dieses Beispiel ist eine einfache Konsolenanwendung, die ForexConnect. NET API verwendet. Diese Anwendung verfügt über die folgenden Funktionen: Herstellen einer Verbindung zu einem Handelsserver unter Verwendung der vordefinierten Benutzeranmeldeinformationen Abrufen von Preisen für EURUSD Abrufen der Konten-Tabelle für den Benutzer Erstellen einer Open Market-Bestellung für EURUSD bei Eingabe von b (kaufen) oder s (Verkauf) Abrufen der Aufträge Tabelle und Empfangen von Benachrichtigungen über Aktualisierungen in dieser Tabelle Beenden der Anwendungsausführung bei Eingabe von q (quit) Zur Vereinfachung des Beispiels ist die gesamte Anwendungslogik in einer Klasse MyApp implementiert. Sie können den gesamten Quellcode des Beispiels herunterladen: File: ForexConnect Sample Net. zip Verbinden mit Trade Server Das Hauptobjekt von ForexConnect. NET API ist ein Session-Objekt O2GSession im fxcore2-Namespace. Dieses Objekt stellt eine Sitzung der Benutzerverbindung dar und kann mit einer statischen Methode der O2GTransport-Klasse erstellt werden: Das O2GSession-Objekt benachrichtigt die Teilnehmer über alle Änderungen des Verbindungsstatus durch die folgenden Ereignisse oder über die Callback-Schnittstelle IO2GSessionStatus. Die Datenempfangsmeldungen können über die folgenden O2GSession-Ereignisse oder über die Callback-Schnittstelle IO2GResponseListener abgewickelt werden. Gehen Sie folgendermaßen vor, um eine Verbindung zu einem Handelsserver mit ForexConnect. NET API herzustellen: Erstellen Sie ein Sitzungsobjekt. Implementieren Sie Handler für Sitzungsobjektereignisse, um Benachrichtigungen über Sitzungsstatusänderungen zu empfangen. Rufen Sie login () für die Sitzung und warten Sie, bis der Login-Vorgang abgeschlossen ist. Verarbeiten Sie die empfangenen Benachrichtigungen über Verbindungsstatusänderungen in onSessionStatusChanged, um den Status des Anmeldeprozesses zu verwalten. Weitere Informationen zur Implementierung finden Sie im folgenden Quellcode: Beachten Sie, dass wir auf eine Benachrichtigung über die Anmeldung warten, da der Aufruf von ltcodegtlogin () asynchron ist. Dazu verwenden wir ein spezielles Synchronisationssignal. Wenn onSessionStatusChanged aufgerufen wird, wird das Signal gesetzt, um die Thread-Ausführung nach mSyncSessionEvent. WaitOne (5000) in der run () - Methode fortzusetzen. Login mit Auswahl Trading Session Wenn ein Benutzerkonto mehrere Trading Sessions hat, ist login ein mehrstufiger Prozess: 1. Rufen Sie die login () - Methode des Session-Objekts mit einem Benutzernamen, einem Kennwort, einer Server-URL und einem Datenbanknamen auf. 2. Verarbeiten Sie den empfangenen Status TradingSessionRequested in der Ereignisprozedur onSessionStatusChanged. Es gibt folgende Schritte, um den TradingSessionRequested Status zu bearbeiten: 2.1. Abrufen der Handelssitzungsliste aus dem O2GSession-Objekt mithilfe der Methode getTradingSessionDescriptors (). 2.2. Geben Sie eine Auswahl der Handelssitzung für den Benutzer an. 2.3. Eine geheime PIN vom Benutzer anfordern. 2.4. Legen Sie die angegebene Handelssitzungs-ID und PIN mit setTradingSession () fest. Anzeigen von Quellenverwaltungspreisen Die Verwaltung der Preise umfasst die folgenden Schritte: Prüfen Sie, ob während der Anmeldung Preisdaten automatisch angefordert werden. Wenn ja, gehen Sie zu Schritt 2. Wenn nein, senden Sie eine Anfrage für die aktuellen Preise für alle Instrumente. Behandeln Sie die Antwort. Behandeln Sie die Preisaktualisierung für ein bestimmtes Instrument. Um Benachrichtigungen über Anforderungsreaktionen oder Serverobjektstatusänderungen zu empfangen, müssen Sie Ereignishandler für die entsprechenden Ereignisse der O2G2Session-Instanz implementieren und abonnieren. Ändern Sie dazu die MyApp-Klasse, um diese Ereignisse zu behandeln: Aktuelle Preise anfordern Abhängig von den Einstellungen des Handelsservers können die aktuellen Preise aller Instrumente entweder automatisch beim Login-Vorgang empfangen werden oder Sie können diese Daten explizit vom Handelsserver anfordern . Um die aktuellen Preise zu erhalten, sollten Sie die folgenden Aktionen ausführen: 1. Prüfen Sie, ob bei der Anmeldung mit der Methode isTableLoadedByDefault () der O2GLoginRules-Instanz Preisangebote eingegangen sind. 2. Wenn sie geladen werden, erhalten Sie das bereits erhaltene Antwortobjekt mit der Methode getTableRefeshResponse (Offers) der O2GLoginRules-Instanz. Dieses Antwortobjekt kann verarbeitet werden, um Angebotsdaten zu extrahieren. Gehen Sie folgendermaßen vor, um einen Reader für das Lesen der Antwortdaten zu erhalten: Rufen Sie die Response-Reader-Factory mit der Methode getResponseReaderFactory () der Session-Objektinstanz ab. Erstellen Sie einen Reader mit der createOffersTableReader () - Methode der O2GResponseReaderFactory-Instanz. 3. Wenn keine Angebote beim Login eingegangen sind, senden Sie eine Anfrage für die Angebotstabelle explizit mit der sendRequest () - Methode des Session-Objekts. Gehen Sie folgendermaßen vor, um die entsprechende Anforderung zu erstellen: Rufen Sie die Anforderungs-Factory mit der getRequestFactory () - Methode des Session-Objekts ab. Erstellen Sie die Anforderung mithilfe der Methode createRefreshTableRequest () der O2GRequestFactory-Instanz. Um die aktuellen Preise anzufordern, fügen Sie der run () - Methode unseres Beispiels nach der Login-Verarbeitung den folgenden Quellcode hinzu: Im Beispiel warten wir auf den Empfang der Anforderungsantwort über ein Synchronisationssignal. So fangen wir den Moment, um die Überwachung der Preisänderung für EURUSD zu starten. Natürlich sollten wir dieses Signal setzen, wenn Preisdaten empfangen werden. In unserem Beispiel wird ein Trick verwendet, um Code-Duplizierung zu vermeiden. Wie Sie weiter sehen werden, ist die Antwortverarbeitung die gleiche, wenn Angebotsdaten vom O2GLoginRules-Objekt empfangen werden und wenn wir explizit Angebotsdaten abrufen. So verarbeiten Sie das von O2GLoginRules empfangene Antwortobjekt. Können Sie den implementierten Event-Handler des RequestCompleted-Ereignisses des Session-Objekts direkt aufrufen. Empfangen von Preisdaten Da ein Aufruf von sendRequest () asynchron ist, um eine Antwort mit Preisdaten zu empfangen, müssen Sie den Event-Handler für das RequestCompleted-Ereignis des Session-Objekts implementieren. Da dieser Ereignishandler zum Empfangen von Benachrichtigungen über Antworten aller Anfragen verwendet wird, sollten Sie Folgendes ausführen: Überprüfen Sie, ob der Antworttyp GetOffers ist. Holen Sie sich den O2GOffersTableResponseReader-Response-Reader mit O2GResponseReaderFactory, um Preisdaten aus dem Antwortobjekt abzurufen. Verarbeiten Sie alle Zeilen in der Tabelle Angebote mit dem Reader. Sie müssen einen fadensicheren Zugriff auf die in Ihrer Anwendung gespeicherten Angebote gewähren. Sehen Sie den Quellencode unten für ein Beispiel, wie man das Empfangen einer Antwort behandeln. Um die aktuellen Preise für EURUSD zu speichern, werden die entsprechenden Variablen definiert und threadsicher auf sie zugegriffen. Ein Synchronisationssignal wird gesetzt, wenn der Empfang der Angebotsdaten abgeschlossen ist. Dieser Trick erlaubt das Warten auf den Empfang der aktuellen Preise im Haupt-Thread nach dem Senden der Anfrage. Unsere Beispielanwendung behandelt das RequestComplete-Ereignis und extrahiert den EURUSD-Bid - und Ask-Preis. Die empfangenen Nachfrage - und Gebotspreise werden in den mEURUSDBid - und mEURUSDAsk-Klassenebenen-Variablen gespeichert, wobei threadsichere Methoden zum Lesen und Ändern dieser Variablen implementiert sind. Empfangen von Angebotsaktualisierungen Beachten Sie, dass die Benachrichtigung in einem separaten Thread empfangen wird, daher müssen Sie threadsicheres Lesen und Aktualisieren der Variablen, die die empfangenen Daten speichern, verwenden. Fügen Sie den folgenden Code zu MyApp hinzu, um das EURUSD-Preisupdate zu behandeln: Die Verarbeitung des Tabellenupdates enthält die folgenden Schritte: 1. Holen Sie O2GResponseReaderFactory aus dem Sitzungsobjekt. 2. Holen Sie sich einen O2GTablesUpdatesReader-Reader, der das Werk über die createTablesUpdatesReader-Methode verwendet. 3. Erstellen Sie eine Schleife, um jedes Element der Aktualisierungsliste aufzuzählen, da die empfangenen Daten Aktualisierungen für alle Arten von Objekten enthalten können, nicht nur für die Tabelle "Angebote". Sie müssen also jedes Element in der Aktualisierungsliste für den erforderlichen Tabellentyp und den Aktualisierungsvorgangstyp überprüfen. 4. Um die Änderung zu verarbeiten, verwenden Sie die getOfferRow () - Methode des Readers, um ein Objekt des O2GOfferRow-Typs abzurufen: Beachten Sie, dass die Benachrichtigung in einem separaten Thread empfangen wird, daher müssen Sie threadsicheres Lesen und Aktualisieren der Variablen verwenden Speichern die empfangenen Daten. Fügen Sie den folgenden Code zu MyClass hinzu, um die EURUSD-Preisaktualisierung zu bearbeiten: In unserem Beispiel verarbeiten wir nur EURUSD-Preisaktualisierungen und speichern ihre letzten Werte in den Variablen mEURUSDBid und mEURUSDAsk. Um auf diese Variablen zuzugreifen, haben wir threadsichere Methoden implementiert. Auftragserstellung Gehen Sie folgendermaßen vor, um eine Bestellung zu erstellen: 1. Stellen Sie sicher, dass Sie mindestens eine Benutzerkonto-ID und eine Angebots-ID haben, die für die Erstellung eines Auftrags erforderlich sind. Wenn nicht, fragen Sie sie zuerst. 2. Verwenden Sie eine O2GRequestFactory-Instanz, um O2GValueMap zum Angeben der Auftragsparameter zu erstellen. 3. Füllen Sie die valuemap mit den notwendigen Parametern, um einen bestimmten Auftragstyp zu erstellen. Weitere Informationen zu den Parametern der Befehle zum Erstellen von Aufträgen finden Sie im ForexConnectAPI SDK. 4. Erstellen Sie ein O2GRequest-Objekt mit O2GRequestFactory für die gefüllte valuemap. 5. Starten Sie die Ausführung der Anforderung. 6. Empfangen Sie die Anforderungsantwort, um sicherzustellen, dass die Anforderungsausführung erfolgreich ist. Da wir eine Konto-ID für unser Beispiel benötigen, können wir zunächst die Tabelle "Accounts" abrufen. Das Abrufen von Daten der Tabelle "Konten" ähnelt dem Abrufen von Daten der Tabelle "Angebote". Um das Beispiel zu vereinfachen, holen Sie sich das erste Konto aus der Benutzerkontenliste und speichern es in einer Klasse-Ebene Variable für weitere Verwendung. Wir warten auf die Antwort, um die Auftragserstellung zu vermeiden, bevor die Konto-ID abgerufen wird. Die beste Methode ist die Kapselung der Auftragserstellungslogik in eine separate Methode der MyApp-Klasse. Außerdem sollten Sie die Antwort auf die Auftragserstellungsanforderung in der Ereignisprozedur onRequestCompleted behandeln, um sicherzustellen, dass die Bestellung erstellt wird. Siehe den folgenden Quellcode, der eine Kauf - oder Verkaufsorder für das EURUSD-Instrument mit 100K Menge erstellt: Beachten Sie, dass im fxcore2.Constants-Namespace einige nützliche Hilfsklassen für das Ausfüllen des valueMap-Objekts mit Auftragsparametern vorhanden sind: Sie können die Anforderungs-ID beibehalten Prozess-Antwort nur eines bestimmten Auftrags: Auftragstabelle abrufen Alle Informationen über Zustände vorhandener Aufträge können aus der Tabelle Aufträge abgerufen werden. ForexConnect API ermöglicht das Abrufen der Orders-Tabelle nur für ein angegebenes Konto. Sie müssen also die folgenden Schritte ausführen: Rufen Sie die Tabelle "Konten" ab. Warten Sie, bis Kontendaten empfangen werden. Rufen Sie die Order-Tabelle für jedes empfangene Konto mit createRefreshTableRequestByAccount () der O2GRequestFactory-Instanz ab. Behandeln Sie die Anforderungsantwort in einem Ereignishandler des RequestComplete-Ereignisses. Behandeln Sie das Orders-Tabellenupdate in einem Ereignishandler des TablesUpdates - Ereignisses. Um unser Beispiel zu vereinfachen, nehmen wir die gespeicherte Account-ID und verwenden sie im Beispiel des Abrufs der Orders-Tabelle. Beachten Sie, dass Sie bei der Speicherung von Auftragsdaten fadensicheren Zugriff auf diese Daten und eine korrekte Verwaltung der Referenzzähler für die gespeicherten Objekte haben müssen. In unserem Beispiel werden die Auftragsdaten nicht gespeichert, so dass die Synchronisation nicht implementiert ist. Anwendung abschließen. Abmelden Wie Sie sehen können, beendet die stop () - Methode unserer MyApp-Klasse alle verwendeten Systemressourcen und kündigt alle Ereignishandler von Sitzungsereignissen ab, so dass keine Benachrichtigungen mehr empfangen werden. Sie sollten logout () anrufen, bevor Sie Ihre Anwendung beenden. Auch sollten Sie die Dispose () - Methode der Session-Instanz aufrufen, bevor tmain () das Steuerelement zurückgibt. Behandlung von Anforderungsfehlern Beim Auftreten eines Fehlers während der asynchronen Ausführung einer Anforderung wird der Event-Handler des RequestFailed-Ereignisses aufgerufen. In unserem Beispiel behandeln wir den Fehler, indem wir die Fehlerbeschreibung in die Konsolenausgabe setzen und die Anwendung beenden: Starten von Sample Jetzt kann sich unser Sample anmelden, EURUSD-Preisänderungen abrufen, Informationen zu bestehenden Aufträgen anzeigen und eine Methode zum Erstellen haben Eine Open Market Order. Um das Beispiel auf dieser Stufe zu starten, müssen wir die Verwendung der MyApp-Klasse implementieren. Gehen Sie dazu wie folgt vor: Erstellen Sie in der Hauptfunktion unserer Konsolenanwendung eine Instanz unserer MyApp-Klasse. Rufen Sie die run () - Methode der Instanz auf, um sich beim Handelsserver anzumelden und Aktualisierungen von EURUSD zu empfangen. Geben Sie das Lesen von Benutzereingaben zum Ausführen von Befehlen ein: Wenn b eingegeben wird, erstellen Sie eine Kaufmarktordnung, wenn s eingegeben wird, erstellen Sie eine Verkaufsmarktordnung, wenn q eingegeben wird, beenden Sie die Anwendung. Die run () - Methode des Beispiels bereitet die Anwendung für den Handel vor. Nachdem die Vorbereitung gemacht ist, gibt sie true zurück, wenn alles gut ist. Wie Sie sehen können, ruft diese Methode alle API-Funktionen asynchron auf, wartet aber auf ihre Antworten mit speziellen Synchronisationsobjekten. Beachten Sie, dass dies keine effektive Methode der Verwendung von ForexConnectAPI ist, aber es ist leicht zu verstehen. Vergessen Sie nicht, einen gültigen Benutzernamen und ein Passwort für einen Aufruf der login () - Methode anzugeben. Jetzt können Sie die Probe erstellen und ausführen. Wenn Sie Probleme beim Erstellen des Beispiels haben, vergleichen Sie es bitte mit dem gesamten Quellcode des Beispiels: Datei: ForexConnect Sample Net. zip. Whats Next Detaillierte Informationen zu allen API-Klassen und deren Methoden finden Sie im ForexConnectAPI-SDK. Dieser Artikel in anderen SprachenHow, um ForexConnect API auf Win32 gehören Der Artikel beschreibt die Verwendung von ForexConnect API in C unter Win32. Um ForexConnect API in Ihrer C-Anwendung zu verwenden, sollten Sie folgendes tun: Platzieren Sie Ihr Anwendungsprogramm in demselben Verzeichnis, in dem sich unterstützende DLLs befinden (normalerweise der Ordner mit der Datei expat. dll. fxmsg. dll, gstools2.dll usw.) Ordner C: Programm FilesCandleworksForexConnectAPIbin enthält diese Bibliotheken, Post-built-Ereignis-Befehlszeile kann wie folgt aussehen: Alternativ können Sie Ihre Anwendung in dem Verzeichnis mit unterstützenden DLLs erstellen. Fügen Sie den Include-Unterordner des Verzeichnisses hinzu, in dem ForexConnect API auf zusätzliche Include-Verzeichnisse des Projekts installiert ist. So, wenn ForexConnect API auf C installiert ist: Program FilesCandleworksForexConnectAPI. Fügen Sie das Verzeichnis C: Programm FilesCandleworksForexConnectAPIinclude als zusätzliches Include-Verzeichnis hinzu. Zu Datei stdafx. h. Fügen Sie lib Unterordner des Verzeichnisses hinzu, in dem ForexConnect API zu zusätzlichen Bibliotheksverzeichnissen des Projekts installiert wird. So, wenn ForexConnect API auf C installiert ist: Program FilesCandleworksForexConnectAPI. Fügen Sie das Verzeichnis C: Programm FilesCandleworksForexConnectAPIlib als zusätzliches Bibliotheksverzeichnis hinzu. Fügen Sie ForexConnect. lib als zusätzliche Abhängigkeit für die Linker-Eingabe hinzu. Hinweis: Die Interfaces von ForexConnect API verwenden ASCII-Zeichenfolgen, sodass Zeichensatz der Konfigurationseigenschaften "No setquot" ist.

No comments:

Post a Comment