Forexconnect Api Download

Technologie Cloud Provider Notwendigkeit, Raten und Kontoinformationen und die Möglichkeit zu senden oder zu ändern Bestellungen Für mehr technische API Nutzung, bieten wir Optionen für eine höhere Ebene der Technologie. Unsere APIs für Technologie - und Cloud-Provider geben Ihnen eine geringe Bandbreite, eine Architektur, ohne Berücksichtigung von Minimums, eine vollständige Palette von Handelsaufträgen und Zugang zu historischen Forex - und CFD-Daten. Forexconnect API ForexConnect ist unsere flexibelste API8212used mit NinjaTrader. ForexConnect ist kompatibel mit Linux, Mac, iOS und Android. Code auf 30 verschiedene Funktionen und Funktionen Verwenden Sie Low-Level-Messaging-Strukturen oder Tabellenstrukturen mit berechneten Feldern Verbinden Sie sich mit MATLAB, um eine erweiterte Analyse auf Preisdaten durchzuführen. Erste Schritte Schon jetzt ein FXCM-Konto Download Forexconnect SDK Ein FXCM-Konto, einschließlich kostenloser Praxiskonto8212no Minimum Balance erforderlich Ein IDE oder Texteditor, der LUA läuft (dh Visual Studio) Benötigen Sie weitere Informationen Besuchen Sie ForexConnect Wiki, um unsere Guides für Java zu lesen. NET und C und sehen Beispiele für komplexe Code-Snippets für Aktionen wie Batch-Befehle und Kontingenzgruppen. Auf der Suche nach einer Client - oder serverseitigen Anwendung Java ist 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 basierend auf FIX Messaging Können Sie historische Trades und Preise erhalten Erste Schritte Schon jetzt ein FXCM-Konto Download Java SDK Ein FXCM-Konto, einschließlich kostenloser Praxis Account8212no Minimum Balance erforderlich Eine IDE (dh Netbeans, Eclipse) Sehen Sie Beispielcode an und sehen Sie Dokumentation auf FXCMs Java API GitHub Seite. 1 VPS Free Hosting: Halten Sie einen Saldo von 5.000 Basiswährung (oder 500k JPY und 40k HKD) auf Ihrem MT4-Konto, und die VPS ist Ihr kostenlos. (Zum Beispiel, wenn Ihre Kontobezeichnung australische Dollar (AUD) ist, das ist ein Kontostand von 5.000 AUD). Wenn Sie diese Anforderung am Ende des Monats nicht erfüllen, kann eine Gebühr von 30 Basiswährungen (oder 3k JPY und 240 HKD) von einem Ihrer FXCM-Konto abgebucht werden, um die VPS-Kosten zu decken. Drittanbieter-Links: Links zu Websites von Drittanbietern sind für Ihre Bequemlichkeit und nur für Informationszwecke vorgesehen. FXCM haftet nicht für die Richtigkeit, den Inhalt oder sonstige Angelegenheiten, die mit der externen Website oder mit den nachfolgenden Links verbunden sind, und übernimmt keinerlei Haftung für Verluste oder Schäden, die durch die Nutzung dieser oder anderer Inhalte entstehen. Solche Seiten sind nicht in unserer Kontrolle und können nicht die gleichen Datenschutz-, Sicherheits - oder Zugänglichkeitsstandards wie unsere. Bitte lesen Sie die Nutzungsbedingungen der verlinkten Seiten. Risiko-Warnung: Unser Service umfasst Produkte, die auf Marge gehandelt werden und tragen ein Risiko von Verlusten über Ihre hinterlegten Fonds. Die Produkte sind möglicherweise nicht für alle Anleger geeignet. Bitte stellen Sie sicher, dass Sie die damit verbundenen Risiken vollständig verstehen. High Risk Investment Warnung: Der Handel mit Devisen und Verträgen für Margenunterschiede trägt ein hohes Risiko und ist möglicherweise nicht für alle Anleger geeignet. Die Möglichkeit besteht darin, dass Sie einen Verlust über Ihre hinterlegten Fonds erhalten können. Vor der Entscheidung, die von FXCM angebotenen Produkte zu handeln, sollten Sie sorgfältig Ihre Ziele, die finanzielle Situation, die Bedürfnisse und das Niveau der Erfahrung berücksichtigen. Sie sollten sich bewusst sein, alle Risiken im Zusammenhang mit dem Handel auf Marge. FXCM bietet allgemeine Hinweise, die Ihre Ziele, finanziellen Situation oder Bedürfnisse nicht berücksichtigen. Der Inhalt dieser Website darf nicht als persönliche Beratung ausgelegt werden. FXCM empfiehlt Ihnen, Rat von einem separaten Finanzberater zu suchen. Bitte klicken Sie hier, um die volle Risikowarnung zu lesen. Forex Capital Markets Limited (FXCM LTD) ist eine operative Tochtergesellschaft innerhalb der FXCM Unternehmensgruppe (zusammen die FXCM Gruppe). Alle Referenzen auf dieser Seite zu FXCM beziehen sich auf die FXCM Gruppe. Forex Capital Markets Limited ist im Vereinigten Königreich von der Financial Conduct Authority zugelassen und reguliert. Registrierungsnummer 217689. Steuerliche Behandlung: Die britische Steuerbehandlung Ihrer finanziellen Wetten Aktivitäten hängt von Ihren individuellen Umständen ab und kann in der Zukunft geändert werden oder kann in anderen Ländern unterschiedlich sein. Copyright Kopie 2017 Forex Kapitalmärkte. Alle Rechte vorbehalten. Nord-Amp-Shell-Gebäude, 10 Lower Thames Street, 8. Stock, London EC3R 6AD Unternehmen in England amp Wales No.04072877 mit Sitz als oben eingetragen. Wir verwenden Cookies, um die Leistung und Funktionalität unserer Website zu verbessern, was letztlich Ihre Browser-Erfahrung verbessert. Wenn Sie fortfahren, diese Seite zu durchsuchen, stimmen Sie der Verwendung von Cookies zu. Sie können Ihre Cookie-Einstellungen jederzeit ändern. Erfahren Sie mehr Ihr Browser ist out of dateAPI Trading Haben Sie Ihre eigene Brokerage Dann verlangen Sie die höchste Stufe der Technologie mit FIX. VPS Free Hosting: Halten Sie einen Saldo von 5.000 Basiswährung (oder 500k JPY und 40k HKD) auf Ihrem MT4-Konto, und die VPS ist Ihr kostenlos. (Zum Beispiel, wenn Ihre Kontobezeichnung australische Dollar (AUD) ist, das ist ein Kontostand von 5.000 AUD). Wenn Sie diese Anforderung am Ende des Monats nicht erfüllen, kann eine Gebühr von 30 Basiswährungen (oder 3k JPY und 240 HKD) von einem Ihrer FXCM-Konto abgebucht werden, um die VPS-Kosten zu decken. Risiko-Warnung: Unser Service umfasst Produkte, die auf Marge gehandelt werden und tragen ein Risiko von Verlusten über Ihre hinterlegten Fonds. Die Produkte sind möglicherweise nicht für alle Anleger geeignet. Bitte stellen Sie sicher, dass Sie die damit verbundenen Risiken vollständig verstehen. High Risk Investment Warnung: Der Handel mit Devisen und Verträgen für Margenunterschiede trägt ein hohes Risiko und ist möglicherweise nicht für alle Anleger geeignet. Die Möglichkeit besteht darin, dass Sie einen Verlust über Ihre hinterlegten Fonds erhalten können. Vor der Entscheidung, die von FXCM angebotenen Produkte zu handeln, sollten Sie sorgfältig Ihre Ziele, die finanzielle Situation, die Bedürfnisse und das Niveau der Erfahrung berücksichtigen. Sie sollten sich bewusst sein, alle Risiken im Zusammenhang mit dem Handel auf Marge. FXCM bietet allgemeine Hinweise, die Ihre Ziele, finanziellen Situation oder Bedürfnisse nicht berücksichtigen. Der Inhalt dieser Website darf nicht als persönliche Beratung ausgelegt werden. FXCM empfiehlt Ihnen, Rat von einem separaten Finanzberater zu suchen. Bitte klicken Sie hier, um die volle Risikowarnung zu lesen. Forex Capital Markets Limited (FXCM LTD) ist eine operative Tochtergesellschaft innerhalb der FXCM Unternehmensgruppe (zusammen die FXCM Gruppe). Alle Referenzen auf dieser Seite zu FXCM beziehen sich auf die FXCM Gruppe. Forex Capital Markets Limited ist im Vereinigten Königreich von der Financial Conduct Authority zugelassen und reguliert. Registrierungsnummer 217689. Steuerliche Behandlung: Die britische Steuerbehandlung Ihrer finanziellen Wetten Aktivitäten hängt von Ihren individuellen Umständen ab und kann in der Zukunft geändert werden oder kann in anderen Ländern unterschiedlich sein. Copyright Kopie 2017 Forex Kapitalmärkte. Alle Rechte vorbehalten. Nord-Amp-Shell-Gebäude, 10 Lower Thames Street, 8. Stock, London EC3R 6AD Unternehmen in England amp Wales No.04072877 mit Sitz als oben eingetragen. Wir verwenden Cookies, um die Leistung und Funktionalität unserer Website zu verbessern, was letztlich Ihre Browser-Erfahrung verbessert. Wenn Sie fortfahren, diese Seite zu durchsuchen, stimmen Sie der Verwendung von Cookies zu. Sie können Ihre Cookie-Einstellungen jederzeit ändern. Erfahren Sie mehr Ihr Browser ist veraltetOctave API Am 27. Februar 2013 11:52, ramack lthidden email gt schrieb: gt Eines der Mitglieder antwortete: gt quotSie können mit Matlab über ForexConnect aus jeder Sprache arbeiten, zu der gt Matlab api existiert. Hier ist ein Artikel, wie man mit gt C: codeprojectArticles arbeiten. LAB-Engine-API gt Ich hoffe, dass wird helfen, gt gt Haben Sie nie verwendet APIs, ich bin verloren und nicht wirklich sicher, wo zu beginnen, außer gt mit den Grundlagen und bauen auf, dass. Also, deshalb habe ich die Frage gt über einen guten Startplatz mit Octave APIs gestellt. In diesem contet, quotOctave APIquot bedeutet einige Funktionen, die ForeXConnect bietet, die in der Octave-Sprache aufgerufen werden kann. Diese Person gab Ihnen eine unabhängige Antwort darüber, wie man C von Matlab anruft und ist völlig unabhängig von Ihrem Problem. Wenn die Leute sagen, ich habe vergessen zu sagen, dass sie auch Quanten-URLs für die Manipulation von Datenquot, dh eine Web-API bedeuten: Zum Beispiel gibt die folgende Bitbucket-URL einige Daten über ein Repository: Die Idee ist, dass diese URL und verschiedene HTTP-Methoden ( ZB GET, POST) können Sie diese Daten manipulieren. Die Daten, die Sie oben sehen, werden als JSON übergeben. Was Sie wollen, ist, eine Web-API für diese Website zu finden, die Sie interessieren, und dann können Sie Octaves urlread und urlwrite Befehle verwenden, um Daten mit diesen URLs zu manipulieren. Diese Seite als gelesen markieren Diese Seite zu Mister Wong hinzufügen Diese Seite zu Mister Wong hinzufügen Diese Seite zu Mister Wong hinzufügen Diese Seite zu Mister Wong hinzufügen Diese Seite zu Mister Wong hinzufügen Diese Seite zu Mister Wong hinzufügen Diese Seite zu Mister Wong hinzufügen Diese Seite zu Mister Wong hinzufügen Diese Seite zu Mister Wong hinzufügen Diese Seite zu Mister Wong hinzufügen Diese Seite zu Mister Wong hinzufügen Diese Seite zu Mister Wong hinzufügen Diese Seite zu Mister Wong hinzufügen Diese Seite zu Mister Wong hinzufügen Diese Seite zu Mister Wong hinzufügen Diese Seite zu Mister Wong hinzufügen Diese Seite zu Mister Wong hinzufügen Diese Seite zu Mister Wong hinzufügen Diese Seite zu Mister Wong hinzufügen Diese Seite zu Mister Wong hinzufügen Antwortete: gtgt quotSie können mit Matlab über ForexConnect aus jeder Sprache arbeiten, zu der gtgt Matlab api existiert. Hier ist ein Artikel, wie man mit gtgt C arbeiten: codeprojectArticles. LAB-Engine-API gtgt Ich hoffe das wird helfen, gtgt gtgt Nachdem ich noch keine APIs benutzt habe, bin ich verloren und nicht wirklich sicher, wo ich anfangen soll, außer mit den Grundlagen und baue darauf auf. Also, deshalb habe ich die Frage gtgt über einen guten Ausgangspunkt mit Octave APIs gestellt. Gt gt In diesem contet, quotOctave APIquot bedeutet einige Funktionen, die ForexConnect gt bietet, die in der Octave-Sprache aufgerufen werden kann. Diese Person gab Ihnen eine unabhängige Antwort darüber, wie man C von Matlab anruft und ist gt völlig unabhängig von deinem Problem. Ich habe falsch verstanden, was ForexConnect war. Ich dachte, es war eine Website. Wenn es ein Programm ist, müssen Sie herausfinden, welche Funktionen dieses Programm erlaubt Ihnen, von C anzurufen. Dazu müssten Sie ein C-Programm schreiben, das mit ForexConnect und Octave arbeitet. Jedoch scheint ForexConnect nicht frei zu sein. Dies bedeutet, dass man dieses hypothetische Programm nicht verteilen kann, da dies eine GPL-Verletzung wäre. Für Ihr Ziel, Forex-Anführungszeichen zu bekommen, gibt es viele Webseiten, die diese Funktionalität mit einer Web-API bereitstellen. Zum Beispiel, hier ist eins: Ändern Sie die URL in der offensichtlichen Weise, um andere Währungen zu erhalten. Dies wurde von hier genommen: Öffnen Sie diesen Beitrag in der Threadansicht Bericht Inhalt als unangemessen Re: Octave API Hallo, ich havent sah auf den Link, den Sie beziehen sich auf. Aber Google und Yahoo Fx Tabellen gehen nur auf 2 Dezimalstellen. Ich brauche ein Minimum von 4. Stock und Comm Daten sieht aus wie seine normallty auf 2 Plätze. Es war nicht, bis ich ein funktionierendes Skript hatte, dass die Daten nicht so genau sind, wie ich es brauche oder als typisch für Forex zitiert ist. Vielen Dank, Rich Öffnen Sie diesen Beitrag in der Thread-Ansicht Bericht Inhalt als unangemessen Re: Octave API Am 27. Februar 2013 13:30, ramack lthidden E-Mail gt schrieb: gt Ich havent sah auf den Link, auf den Sie sich beziehen. Aber Google und Yahoo Fx Tabellen gt nur gehen auf 2 Dezimalstellen. Ich brauche ein Minimum von 4. Dann vielleicht sollten Sie sich den Link anschauen und sehen, wie es viel mehr als 2 Dezimalstellen hat. Diesen Beitrag in der Thread-Ansicht öffnen Bericht Inhalt als unangemessen Re: Octave API Ich hatte festgestellt, dass Stackoverflow Link letzte Woche. Die Verknüpfung, die mehr signifikante Dezimalzahlen hat, gibt keine historischen Daten aus, sondern auch Echtzeitzitate. Ich habe ein wenig mehr Infos in Bezug auf ForexConnect gefunden, also für den Augenblick Ill weiter mit dem. Danke für die Vorschläge aber Ich habe ein paar weitere Informationen in Bezug auf ForexConnect gefunden, also für die gt Moment Ill weiter mit. Ich habe ein paar weitere Informationen in Bezug auf ForexConnect gefunden, also für die gt Moment Ill weiter mit dass. Danke für die Vorschläge aber Gt Rich Wenn Sie Octave mit ForexConnect verknüpfen, vergessen Sie nicht Ihre GPL-Verpflichtungen: So starten Sie die Verwendung von ForexConnect API (Win32Win64) Dieser Artikel beschreibt, wie Sie ForexConnect API verwenden. Hier finden Sie die API-Grundlagen und Schritt-für-Schritt-Anleitungen zum Erstellen eines Arbeitsbeispiels einer einfachen Handelsanwendung. Plattform Microsoft Framework 2.0 und später auf MS Windows 32-Bit64-Bit-Version Sprache. C IDE Microsoft Visual Studio 2005, 2008, 2010 ForexConnect-Bibliotheksnutzung mit dem Microsoft Silverlight-Anwendungsrahmen wird nicht unterstützt. ForexConnect-Bibliothek, die mit Mono ausgeführt wird, wird nicht unterstützt. Getting und Installieren von ForexConnect API-Bibliotheken Laden Sie die letzte Version von ForexConnect API herunter: Wenn Sie eine 32-Bit-Version von Microsoft Windows haben, 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. Weitere Informationen über Ihre Systemversion finden Sie im Dialogfeld Systemeigenschaften. Beachten Sie, dass, wenn Ihr System Windows XP ist und Sie nicht sehen, x64 Edition im Dialogfeld Systemeigenschaften aufgelistet, dann führen Sie eine 32-Bit-Version von Windows XP. Starten Sie das Installationsprogramm und folgen Sie dann den Anweisungen des Setup-Assistenten. Weiterhin wird angenommen, dass ForexConnect API in C: Program FilesCandleworksForexConnectAPI installiert ist. Verwenden von ForexConnect API mit Microsoft Visual Studio Sie sollten die folgenden Änderungen in Ihrem C-Projekt vornehmen: 1. Konfigurieren Sie das Post-Build-Ereignis Ihres Projekts, um ForexConnect API-Bibliotheken zu kopieren und Unterstützung von Dateien in den Ordner, in dem Ihr Programm erstellt wird: In den Projekt-Eigenschaften rarr Build-Ereignisse rarr Post-Build-Ereignis-Befehlszeile, fügen Sie den folgenden Text: Kopie C: Program FilesCandleworksForexConnectAPIbin. (TargetDir) 2. Fügen Sie einen Verweis auf die fxcore2.dll-Assembly zu Ihrem Projekt hinzu. Wenn Sie 4.0 verwenden, verwenden Sie die entsprechende fxcore2.dll-Assembly, die im Ordner C: Program FilesCandleworksForexConnectAPIbinnetdotnet40 gefunden werden kann. Wenn Sie 2.0 verwenden, dann verwenden Sie die Datei fxcore2.dll aus dem Ordner C: Program FilesCandleworksForexConnectAPIbinnetdotnet20. 3. Fügen Sie den Namespace fxcore2 zu Ihrem Code hinzu: Verteilung Sie müssen Ihr Programm mit allen Binärbibliotheken und unterstützenden Dateien aus C: Program FilesCandleworksForexConnectAPIbin verteilen. ForexConnect-Bibliotheken und unterstützende Dateien müssen sich in dem Ordner befinden, in dem Ihre Anwendung installiert ist. Beachten Sie, dass die fxcore2.dll-Assembly in dem Ordner platziert werden muss, in dem auch Ihre Anwendung installiert ist. ForexConnect-API-Funktionen Ereignisgesteuerte Architektur Alle von ForexConnect verwendeten APIs sind asynchron, so dass 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 von ihnen hervorgerufenen Antworten verwaltet. In diesem Zusammenhang sollte ein Ereignis als ein Wert oder eine Nachricht behandelt werden, die innerhalb eines laufenden Stroms von überwachten Eingaben identifiziert werden kann, wie z. B. spezifische Bedingungen oder Signale oder etwas anderes. Eventorientierte Architekturen bestehen in der Regel aus Event-Produzenten und Event-Konsumenten. Event-Konsumenten abonnieren einige Event-Manager, und Event-Produzenten veröffentlichen zu diesem Manager. Wenn der Manager eine Veranstaltung von einem Produzenten erhält, leitet er diese Veranstaltung an alle registrierten Konsumenten weiter oder speichert die Veranstaltung für spätere Weiterleitung. Ein Ereignishandler ist eine Rückrufroutine, die asynchron arbeitet und Eingaben in ein Programm (Ereignisse) übergibt. In diesem Kontext ist ein Ereignis ein aussagekräftiges Element von Anwendungsinformationen aus einem zugrundeliegenden Entwicklungs-Framework, in der Regel aus einem grafischen Benutzeroberflächen - (GUI) - Toolkit oder einer Art von Eingaberoutine. Auf der GUI-Seite, zum Beispiel, Ereignisse beinhalten Tastenanschläge, Maus-Aktivität, Aktions-Auswahl oder Timer-Abläufe. Auf der Eingangsseite sind Ereignisse das Öffnen oder Schließen von Dateien und Datenströmen, das Lesen von Daten und so weiter. Event-Handling ist der Erhalt einer Veranstaltung bei einem Event-Handler von einem Event-Produzenten und nachfolgenden Prozessen. Die Prozesse, die bei der Ereignisbehandlung involviert sind, beinhalten: Identifizieren, wo ein Ereignis weitergeleitet werden soll. Vorwärts machen Empfangen des weitergeleiteten Ereignisses Unter Berücksichtigung einer geeigneten Aktion in Antwort, wie zum Beispiel beim Schreiben in ein Protokoll, Senden einer Fehler - oder Wiederherstellungsroutine oder Senden einer Nachricht Das Ereignis Handler kann letztlich die Veranstaltung an einen Eventverbraucher weiterleiten. Der Nutzen von ereignisgesteuerten Architekturen ist, dass sie beliebig große Sammlungen von Verbrauchern und Produzenten, zusammen mit einigen Anzahl von Managern, zum Austausch von laufenden Status - und Antwortinformationen ermöglichen. Sie sind auch in der Regel ziemlich auf Ereignisse reagieren, wie sie auftreten, und arbeiten gut in unvorhersehbaren und asynchronen Kommunikationsumgebungen. ForexConnect-Event-Handling-Besonderheiten Die ForexConnect-API verfügt bereits über Implementierungen von IO2GSessionStatus - und IO2GResponseListener-Schnittstellen, um Benachrichtigungen über Sitzungsstatusänderungen und Datenempfang zu erhalten. So können Sie entsprechende Ereignisse des O2GSession-Objekts verwenden, anstatt diese Schnittstellen selbst zu implementieren. Allerdings können Sie sie implementieren und verwenden sie, um Benachrichtigungen aus dem Session-Objekt nach dem Abonnement zu erhalten, wenn 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. Sie müssen also folgendes beachten: Sie müssen immer einen fadensicheren Zugriff auf alle in Ihrer Anwendung gespeicherten Daten haben, die von Ihren Event-Handlern aktualisiert werden. Sie müssen keine Ereignishandler-Anrufe synchronisieren und müssen nicht darüber nachdenken, dass der Event-Handler erneut eingegeben wird, da alle Ereignisse von API bereits in einem Thread synchronisiert sind. Daher werden die Event-Handler 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 Handhabung der Ereignisse zu beschleunigen. Object Lifetime Management Sie benötigen keine zusätzliche Ressourcenverwaltung für Objekte, die mit ForexConnect API erhalten wurden. 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 befreien. Sie können die using-Anweisung zu diesem Zweck verwenden: Beispielanwendung mit ForexConnect API Dieses Beispiel ist eine einfache Konsolenanwendung, die ForexConnect API verwendet. Diese Anwendung verfügt über folgende Funktionen: Anschließen an einen Handelsserver mit den vordefinierten Benutzeranmeldeinformationen Abrufen von Preisen für EURUSD Abrufen der Konferentabelle für den Benutzer Erstellen eines Open Market-Auftrags für EURUSD bei der Eingabe von b (Kauf) oder s (Verkauf) Abrufen der Aufträge Tabelle und Empfangen von Benachrichtigungen über Updates in dieser Tabelle Beenden der Applikationsausführung bei Eingabe von q (quit) Um das Sample zu vereinfachen, wird die gesamte Applikationslogik in einer Klasse MyApp implementiert. Sie können den gesamten Quellcode des Beispiels herunterladen: Datei: ForexConnect Sample Net. zip Verbindung mit Trade Server Das Hauptobjekt von ForexConnect 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 Abonnenten über alle Änderungen des Verbindungsstatus durch die folgenden Ereignisse oder über die Callback-Schnittstelle IO2GSessionStatus. Die Daten, die Benachrichtigungen erhalten, können mit den folgenden O2GSession-Ereignissen behandelt werden: oder über die Callback-Schnittstelle IO2GResponseListener. Um eine Verbindung zu einem Handelsserver mit ForexConnect API herzustellen, gehen Sie wie folgt vor: Erstellen Sie ein Sitzungsobjekt. Implementieren von Handlern für Sitzungsobjektereignisse, um Benachrichtigungen über Sitzungsstatusänderungen zu erhalten. Rufen Sie die Anmeldung () für die Sitzung auf und warten Sie, bis der Anmeldevorgang abgeschlossen ist. Verarbeiten Sie die empfangenen Benachrichtigungen über Verbindungsstatusänderungen in onSessionStatusChanged, um den Zustand des Anmeldeprozesses zu verwalten. Weitere Informationen zur Implementierung finden Sie im folgenden Quellcode: Beachten Sie, dass wir auf eine Benachrichtigung über die Anmeldebeendigung 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. Anmeldung bei der Auswahl von Trading Session Wenn ein Benutzerkonto mehrere Trading Sessions hat, dann ist die Anmeldung ein mehrstufiger Prozess: 1. Rufen Sie die Login () - Methode des Session-Objekts mit einem Benutzernamen, Passwort, Server-URL und Datenbanknamen auf. 2. Verarbeiten Sie den empfangenen Status TradingSessionRequested in der Ereignisprozedur onSessionStatusChanged. Es gibt folgende häufige Schritte, um den TradingSessionRequested-Status zu verarbeiten: 2.1. Rufen Sie die Trading Session-Liste aus dem O2GSession-Objekt mit der Methode getTradingSessionDescriptors () ab. 2.2 Geben Sie eine Auswahl der Trading Session für den Benutzer. 2.3 Fordern Sie eine geheime PIN vom Benutzer an. 2.4 Setzen Sie die angegebene Trading Session ID und PIN mit setTradingSession (). Show Source Managing Preise Die Verwaltung der Preise beinhaltet die folgenden Schritte: Prüfen Sie, ob bei der Anmeldung automatisch die Preisdaten angefordert werden. Wenn ja, gehen Sie zu Schritt 2. Wenn nein, senden Sie eine Anfrage für die aktuellen Preise für alle Instrumente. Behandle die Antwort. Behandle die Preisaktualisierung für ein bestimmtes Instrument. Um Benachrichtigungen über Anforderungsantworten oder Serverobjekte Statusänderungen zu erhalten, müssen Sie Eventhandler auf die entsprechenden Ereignisse der O2G2Session-Instanz implementieren und abonnieren. Ändern Sie hierzu die MyApp-Klasse, um diese Ereignisse zu bearbeiten: Fordern Sie aktuelle Preise an. Abhängig von den Einstellungen des Handelsservers können die aktuellen Preise aller Instrumente entweder automatisch während des Anmeldevorgangs empfangen werden, oder Sie können diese Daten explizit vom Handelsserver anfordern . Also, um die aktuellen Preise zu erhalten, solltest du folgende Aktionen durchführen: 1. Prüfe, ob die Preisangebote bei der Anmeldung mit der isTableLoadedByDefault () - Methode der O2GLoginRules-Instanz erhalten werden. 2. Wenn sie geladen sind, erhalten Sie das bereits empfangene Angebot Antwortobjekt mit der Methode getTableRefeshResponse (Angebote) der O2GLoginRules-Instanz. Dieses Antwortobjekt kann verarbeitet werden, um Angebotsdaten zu extrahieren. Um den Leser für das Lesen der Antwortdaten zu erhalten, gehen Sie wie folgt vor: Erhalten Sie die Response-Reader-Fabrik mit der Methode getResponseReaderFactory () der Session-Objektinstanz. Erstellen Sie einen Reader mit der createOffersTableReader () - Methode der O2GResponseReaderFactory-Instanz. 3. Wenn die Angebote bei der Anmeldung nicht eingegangen sind, senden Sie eine Anfrage für die Angebots-Tabelle explizit mit der Methode sendRequest () des Session-Objekts an. Um die entsprechende Anforderung zu erstellen, gehen Sie wie folgt vor: Ermitteln Sie die Anfragefabrik mit der Methode getRequestFactory () des Session-Objekts. Erstellen Sie eine Anforderung mithilfe der createRefreshTableRequest () - Methode der O2GRequestFactory-Instanz. Um die aktuellen Preise anzufordern, fügen Sie nach der Login-Verarbeitung den folgenden Quellcode zur run () - Methode unseres Samples hinzu: Im Sample warten wir auf das Empfangen der Anforderungsantwort mit einem Synchronisationssignal. So fangen wir den Moment an, um die Überwachung der Preisänderung für EURUSD zu starten. Natürlich sollten wir dieses Signal setzen, wenn die Preisdaten empfangen werden. In unserem Beispiel wird ein Trick verwendet, um Code-Duplizierung zu vermeiden. Wie Sie weiter sehen werden, ist die Antwortverarbeitung gleich, wenn die Daten vom O2GLoginRules-Objekt empfangen werden und wenn wir explizit Angebotsdaten abrufen. Um das von O2GLoginRules erhaltene Antwortobjekt zu verarbeiten. Sie können den implementierten Event-Handler des RequestCompleted-Ereignisses des Session-Objekts direkt anrufen. Empfangen von Preisdaten Da ein Aufruf von sendRequest () asynchron ist, um eine Antwort mit Preisdaten zu erhalten, müssen Sie den Event-Handler für das RequestCompleted-Ereignis des Session-Objekts implementieren. Da dieser Event-Handler verwendet wird, um Benachrichtigungen über die Antworten aller Anfragen zu erhalten, sollten Sie Folgendes tun: Überprüfen Sie, ob der Antworttyp GetOffers ist. Holen Sie sich den O2GOffersTableResponseReader Response Reader mit O2GResponseReaderFactory, um Preisdaten aus dem Antwortobjekt zu erhalten. Verarbeiten Sie alle Zeilen in der Tabelle mit dem Leser. Sie müssen einen fadensicheren Zugang zu den in Ihrer Anwendung gespeicherten Angeboten erhalten. Siehe den Quellcode unten für ein Beispiel, wie man den Empfang einer Antwort behandeln kann. Um die aktuellen Preise für EURUSD zu speichern, werden die entsprechenden Variablen definiert und ein fadensicherer Zugang zu ihnen durchgeführt. Ein Synchronisationssignal wird gesetzt, wenn der Empfang von Angebotsdaten abgeschlossen ist. Dieser Trick erlaubt das Warten auf die aktuellen Preise im Haupt-Thread nach dem Absenden der Anfrage. Unsere Beispielanwendung behandelt das RequestComplete-Event und extrahiert den EURUSD-Gebot und fragt den Preis. Die empfangenen Gebot - und Gebotspreise werden in den mEURUSDBid - und mEURUSDAsk-Klassenebenenvariablen gespeichert, Thread-sichere Methoden zum Lesen und Ändern dieser Variablen werden implementiert. Empfangen von Angeboten Updates Beachten Sie, dass die Benachrichtigung in einem separaten Thread empfangen wird, daher müssen Sie das fehlersichere Lesen und Aktualisieren der Variablen verwenden, die die empfangenen Daten speichern. Fügen Sie zu MyApp den folgenden Code hinzu, um die EURUSD-Preisaktualisierung zu behandeln: Die Verarbeitung des Tabellen-Tabellen-Updates beinhaltet die folgenden Schritte: 1. Holen Sie sich O2GResponseReaderFactory aus dem Session-Objekt. 2. Holen Sie sich einen O2GTablesUpdatesReader Reader mit der Fabrik über die createTablesUpdatesReader-Methode. 3. Machen Sie eine Schleife, um jedes Element der Aktualisierungsliste aufzuzählen, da die empfangenen Daten Aktualisierungen für jede Art von Objekten enthalten können, nicht nur für die Tabelle "Angebote". Sie müssen also jedes Element in der Update-Liste für den gewünschten Tabellen-Typ überprüfen und den Operationstyp aktualisieren. 4. Um die Änderung zu verarbeiten, verwenden Sie die Methode getOfferRow () des Lesers, um ein Objekt des O2GOfferRow-Typs abzurufen: Beachten Sie, dass die Benachrichtigung in einem separaten Thread empfangen wird. Daher müssen Sie das fehlersichere Lesen und Aktualisieren der Variablen verwenden Speichern Sie die empfangenen Daten. Fügen Sie dem MyClass den folgenden Code 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. Wir haben fadensichere Methoden implementiert, um auf diese Variablen zuzugreifen. Auftragserstellung Um einen Auftrag zu erstellen, gehen Sie wie folgt vor: 1. Stellen Sie sicher, dass Sie mindestens eine Benutzerkonten-ID und eine Angebots-ID haben, die zum Erstellen einer Bestellung erforderlich sind. Wenn nicht, bitte sie zuerst anfordern. 2. Verwenden Sie eine O2GRequestFactory-Instanz, um O2GValueMap zu erstellen, um die Auftragsparameter festzulegen. 3. Füllen Sie die Valuemap mit den notwendigen Parametern, um eine bestimmte Art von Bestellung zu erstellen. Bitte sehen Sie ForexConnectAPI SDK für Details über Parameter von Befehlen zum Erstellen von Aufträgen. 4. Erstellen Sie ein O2GRequest-Objekt mit O2GRequestFactory für die gefüllte Valuemap. 5. Starten Sie die Ausführung der Anfrage. 6. Empfangen Sie die Anforderungsantwort, um sicherzustellen, dass die Anforderungsausführung erfolgreich ist. Da wir eine Konto-ID für unsere Probe benötigen, können wir zuerst die Konten-Tabelle abrufen. Das Abrufen von Daten der Konten-Tabelle ähnelt dem Abrufen von Daten der Tabelle "Angebote". Um das Sample zu vereinfachen, holen Sie das erste Konto aus der Benutzerkontenliste und speichern es in einer Klassenebene Variable für weitere Verwendung. Wir warten auf die Antwort, um die Auftragserstellung zu vermeiden, bevor die Account-ID abgerufen wird. Die beste Praxis ist die Verkapselung der Auftragserstellungslogik in eine separate Methode der MyApp-Klasse. Auch sollten Sie die Antwort auf die Auftragserstellungsanforderung im onRequestCompleted-Ereignishandler behandeln, um sicherzustellen, dass die Bestellung erstellt wird. Sehen Sie den folgenden Quellcode, der einen Kauf - oder Verkaufsauftrag für das EURUSD-Instrument mit 100K-Betrag erstellt: Beachten Sie, dass es einige nützliche Hilfsklassen im Fxcore2.Constants-Namespace zum Ausfüllen des valueMap-Objekts mit Auftragsparametern gibt: Sie können die Anforderungs-ID beibehalten Prozessreaktion nur einer bestimmten Anforderung: Abruf von Aufträgen Tabelle Alle Informationen über Zustände bestehender Aufträge können aus der Orders-Tabelle abgerufen werden. ForexConnect API ermöglicht das Abrufen der Orders-Tabelle nur für ein bestimmtes Konto. So müssen Sie folgendes tun: Abrufen der Konten-Tabelle. Warten Sie, bis die Kontendaten empfangen werden. Rufen Sie die Orders-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-Tabellen-Update in einem Event-Handler des TablesUpdates-Ereignisses. Um unsere Stichprobe zu vereinfachen, nehmen wir die gespeicherte Konto-ID und verwenden sie im Beispiel des Auftragsabrufs. Beachten Sie, dass Sie bei der Speicherung von Auftragsdaten einen fadensicheren Zugriff auf diese Daten und eine korrekte Verwaltung von Referenzzählern für die gespeicherten Objekte vornehmen müssen. In unserem Beispiel werden keine Bestelldaten gespeichert, so dass keine Synchronisation durchgeführt wird. Finalisierung der Anwendung. Abmelden Wie Sie sehen können, befreit die stop () - Methode unserer MyApp-Klasse alle verwendeten Systemressourcen und ordnet alle Event-Handler von Session-Ereignissen ab, um den Empfang von Benachrichtigungen zu beenden. Sie sollten vor der Beendigung Ihrer Bewerbung abmelden (). Auch solltest du die Dispose () - Methode der Session-Instanz anrufen, bevor tmain () das Steuerelement zurückgibt. Handhabung von Anforderungsfehlern Wenn während der asynchronen Ausführung einer Anforderung ein Fehler auftritt, wird der Ereignishandler 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 Mitbei kann sich unser Beispiel anmelden, EURUSD Preisänderungen abrufen, Informationen über bestehende Aufträge anzeigen und eine Methode zum Erstellen haben Eine offene Marktordnung. Um die Probe auf dieser Bühne zu starten, müssen wir die Nutzung unserer MyApp-Klasse implementieren. Gehen Sie dazu folgendermaßen 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 erhalten Sie Updates von EURUSD. Geben Sie das Lesen von Benutzereingaben ein, um Befehle auszuführen: Wenn b eingegeben wird, erstellen Sie einen Kaufmarktauftrag, wenn s eingegeben wird, erstellen Sie eine Verkaufsmarktreihenfolge, wenn q eingegeben wird, beenden Sie die Anwendung. Die run () - Methode der Probe bereitet die Anwendung für den Handel vor. Nachdem die Vorbereitung gemacht ist, gibt es wahr, 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 zur Verwendung von ForexConnectAPI ist, aber es ist einfach 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 mit dem Erstellen der Probe haben, vergleichen Sie es bitte mit dem gesamten Quellcode des Beispiels: Datei: ForexConnect Sample Net. zip. Was ist weiter Für detaillierte Informationen über alle API Klassen und ihre Methoden, siehe ForexConnectAPI SDK. Dieser Artikel in anderen Sprachen


Comments

Popular Posts