Friday 17 November 2017

Jforex Programmieranleitung


JForex Kurzprogrammieranleitung JForex Kurzprogrammieranleitung Wie in einem früheren Artikel darauf, ist DukascopysJForex Plattform weit überlegen über MetaTrader4 / MetaTrader5, als seine Hauptmerkmale sind: Event-basierte Handels führte kaum in MetaTrader 5, jedoch fehlt in MetaTrader 4 Order-basierte Handels , Wie MetaTrader 4, mit der Möglichkeit, auch das Positionssystem, wie Metatrader 5 Tick Ebene Backtester verwenden. Während MT4 / 5 Mindestzeit-Granularität ist eine Minute Portfolio-Backtesting auf so viele Instrumente wie verfügbar, die zu einem gewissen Grad, gerade in MetaTrader 5 Server laufen der automatisierten Strategien, wenn sie in den Wettbewerb eingeschlossen sind existiert. Jedoch kann Programmierung in JForex für einen MetaTrader4 / MetaTrader5 Programmierer erschreckend sein, besonders für einen, der nicht einen Kontakt mit Java hatte. Java selbst stellt eine Menge Probleme dar, die ein Einsteiger-Programmierer untersuchen muss: Es gibt keine Rückgabe durch Referenz für Variablen. Außer, aber durch die Rücksendung einer benutzerdefinierten Klasse. String und Doppeltypen müssen mit Methoden wie equal () und compareTo () verglichen werden. Es gibt eine Unterscheidung der Basistypen zwischen primitiven und nicht-primitiven Typen. Zum Beispiel int ist ein Primitiv, während Integer nicht primitiv ist. Primitive Typen haben keine Methoden. Allerdings können Methoden des nicht-primitiven Typs angewendet werden, da sie das Primitiv als Parameter nehmen können. Datum und Uhrzeit Konvertierungen sind ziemlich problematisch. Die Zeit ist eine lange Ganzzahl, während das Datum fast veraltet ist. Die Kalenderklasse ist weit verbreitet. Und jetzt, werfen wir einen Blick auf JForex. Dies ist die Grundstruktur eines JForex-Programms. public void ONBAR (Instrument Instrument, Periode Periode, IBaraskBar, IBarbidBar) wirft JFException Jede JForex Strategie eine Strategie Klasse beinhalten muss, die gleiche wie der Name der Datei mit dem Namen, der die IStrategy-Schnittstelle implementiert. Es gibt mehrere Klassen, die Objekte mit der Handelsumgebung interagieren: IEngine verantwortlich mit der Handelsaktivität IConsole verantwortlich mit Output Bei weitem ist die wichtigste Klasse IContext. Die für alles verantwortlich ist, weil alle anderen Hauptklassen daraus hervorgehen. Die onStart-Methode empfängt ein IContext-Objekt als Parameter, und es ist gut, es einem Klassenobjekt zuzuweisen, um es in allen Methoden verfügbar zu machen. Weitere wichtige Klassen sind: IAccount 8211 verwendet, um Kontoinformationen wie aktuelle Eigenkapital IBAR Methoden, die auf einer Bar IHistory Zugriff auf historische Daten Instrument Zugriff auf ein Instrument. Es enthält sowohl Methoden als auch die Instrumentenzahlung. Das Instrumentobjekt enthält Informationen über Dezimalstellen 8211 getPipScale () -, symbol 8211 getPrimaryCurrency (). GetSecondaryCurrency () 8211 Pip-Wert 8211 getPipValue () 8211 etc. Ähnlich wie die Funktionen MarketInfo () und Symbol .. () in MT4 / MT5 zurückgeben. Wo immer ein Symbol gebraucht wird, passiert es am ehesten als Instrumentobjekt und nicht wie ein Stringsymbol wie in MetaTrader. Sehr wichtig ist die Ordinal () - Funktion, die den Index eines Instruments innerhalb der Instrumentenliste zurückgibt, da man mehrere ArrayLists mit wichtigen Informationen über alle Instrumente erstellen könnte. IOrder wurde verwendet, um auf einen Auftrag zuzugreifen, Informationen darüber abzurufen und zu schließen. Allerdings ist das Senden einer Bestellung ein Job, der mit IEngine getan werden muss. ITick ruft Daten wie Bid und Ask, Volumes ab. Ein ITick-Objekt wird innerhalb der ITick-Methode empfangen. Es wäre zweckmäßig, eine ArrayList von aktuellen Zecken aus ITick-Objekten zu erstellen, wobei der Index in der ArrayList durch die auf das Instrument angewandte Ordinal () gegeben ist. Also grundsätzlich startet ein Programm in onStart (), wo man die wichtigen Zuweisungen für Hauptwurzelobjekte machen muss. Dann können Methoden wie onTick () und onBar () Tick - und Balkeninformationen für jedes Instrument sowie Implementierungsindikatorberechnungen und Trade-Launch-Aktionen enthalten. Beachten Sie, dass man Informationen für alle Instrumente und alle Perioden erhalten würde, so dass in beiden Funktionen die Daten irgendwie auf die abonnierten Instrumente gefiltert werden müssen. Wie und dann, weiterhin ein Period-Filter zum Beispiel, dass würde eine Überprüfung ähnlich wie die CurrentTime () Time0-Überprüfung, die in MetaTrader durchgeführt wird. Indikatoren können über IIndicatorsinterface aufrufbar sein (zumindest dort, wo sie in der Dokumentation aufgeführt sind). In der Praxis, itsindicators. This Zeile berechnet die aktuelle 14 Tage SMA auf den Eröffnungskurs. Schließlich ist das onMessage () - Ereignis entscheidend für eine einfache Implementierung des Handelsverhaltens. Jede Nachricht hat einen Inhalt, der ein String ist, eine Reihenfolge, auf die es sich bezieht, mehrere Gründe sowie einen Typ. Durch die IMessage. type Klasse, die Nachrichten mit Bezug ausschließlich auf Aufträge (einige Meldungen beziehen sich nicht Aufträge, zum Beispiel jene, dass der Handel zu sagen ausgesetzt wurde), zum Beispiel: ORDERCHANGEDOK ORDERCHANGEDREJECTED ORDERCLOSEOK ORDERCLOSEREJECTED ORDERFILLOK ORDERFILLREJECTED ORDERSUBMITOK ORDERSUBMITREJECTED ORDERSMERGEOK ORDERSMERGEREJECTED SENDINGORDER STOPLOSSLEVELCHANGED seine Dann einfach Entscheiden, was mit dem Auftrag zu tun, nachdem ein solches Ereignis kommt, Verweis auf eine Bestellung. JForex Bestellungen haben keine Ticketnummer wie in Metatrader. Sie haben jedoch ein Label, das für alle bestehenden Aufträge eindeutig sein muss. Daher ist eine Methode erforderlich, um diese Etiketten zu etablieren. Was war der MetaTrader-Auftragstyp, hier wird der Befehlsbefehl 8211 aufgerufen, der von getOrderCommand () 8211 abgerufen werden kann, der einen IEngine. OrderCommand-Wert zurückgibt. Der Zustand des Befehls kann jedoch von getState () abgerufen werden. Die einen IOrder. State zurückgibt wie CANCELED, CLOSED, CREATED, FILLED, OPENED. JForex wird nicht so einfach sein, wie MetaTrader zu programmieren, denn trotz seiner offensichtlichen Vorteile, erfordert es immer noch als gut Java-Kenntnisse aufzupolieren, wie es die Reihenfolge der Steuerung flow. However eine andere Sicht erfordert, hoffen wir, dass dieser Artikel genug bekommen Haben Sie mit der Programmierung mit JForex begonnen. Für professionelle Marktteilnehmer bietet die Dukascopy Bank die Möglichkeit der API Integration. Die Dukascopy Bank API basiert auf dem FIX4.4 Protokoll. Die API wird verwendet, um Echtzeit-Datenfeed zu empfangen, Bestellungen zu übernehmen, Aufträge zu setzen / zu ändern / abzubrechen und automatische Benachrichtigungen über Handelsaktivitäten zu erhalten. Mit einer FIX-API-Verbindung können die Benutzer weiterhin die Standard-Handelsplattformen der Dukascopy Bank mit ihrer grundlegenden Funktionalität nutzen. Die auf FIX-API-Konten angewandte Positionsberechnungsmethode (net / global position mode) ist jedoch unterschiedlich. LIVE START ANFORDERUNGEN: Die Mindestbedingungen zum Öffnen eines API-Accounts - hier klicken. Dokumentation Verbindungsschemata Die Benutzer der Dukascopy Bank FIX API haben die Wahl, über zwei verschiedene Schemata miteinander zu verbinden: Scheme 1 wird für direkte Verbindungen zu einem Dukascopy-Bankkonten verwendet, ohne irgendwelche Daten mit Drittanbieter-Software zu teilen. Schema 2 ermöglicht komplexere Verbindungen mit mehreren Dukascopy-Bankkonten oder die Verwendung von Drittanbieter-Datenbanken / - Software. Um mehr über FIX API und andere handelsbezogene Informationen zu erfahren, schreiben Sie uns: email160protected. Rufen Sie uns an: 41 22 799 4888 oder fragen Sie nach einem Rückruf. Das größte Problem, das ich hatte, wenn Sie lernen, meine eigenen Handelsstrategien in JForex zu programmieren, finden Sie, wo Sie anfangen zu lernen. Es gab nur wenige JForex Dokumentation zur Verfügung, und ich musste mich durch mühevolle Versuch und Irrtum mit Hilfe von Dukascopys technische Unterstützung lehren. Die Dinge haben sich sicherlich zum Besseren verändert, da eine JForex-Community beginnt zu sprießen und die Dokumentation für sie ist mindestens ausreichend, um jedermann zu starten. Dieser Beitrag ist der erste einer Reihe von schnellen Anfänger Leitfaden zum Lernen JForex Programmierung, indem Sie alle diese Ressourcen in einem Tutorial. JForex ist ein Java-Tool JForex ist eigentlich keine Programmiersprache. Es ist eine Anwendungsprogrammierschnittstelle (API) für die Verwendung mit der Standard-Java-Programmiersprache. Als solcher ist der erste Schritt zum Lernen, in JForex zu programmieren, Java zu lernen. Zum Glück ist Java eine der beliebtesten Programmiersprachen. So gibt es viele Ressourcen auf und aus dem Internet zu lernen Java-Programmierung. Einige Beispiele für kostenlose Online-Tutorials sind: Die Java-Tutorials - Dies ist ein offizielles Tutorial vom Entwickler von Java selbst. Sehr empfehlenswert. Anfänger Java Tutorial - Mehr für die absolute Anfänger für die Programmierung ausgerichtet. Wenn Sie ein Buch bevorzugen, würde ich empfehlen Head First Java, 2. Auflage. Ich bürstete auf meinem Java aus diesem Buch. Dont auf Java zu viel, aber Sie müssen nur wissen, die Grundlagen zu beginnen mit JForex. Lesen Sie ein paar Kapitel, um die Java-Syntax zu verstehen und dann weiterzugehen. Sie können immer zurück zu ihnen später beziehen. Tauchen in JForex Das JForex Wiki ist eine der drei wesentlichen Ressourcen für JForex-Programmierer. Ich werde auf einige spezifische Seiten des Wiki in vielen dieser Reihe von Beiträgen beziehen. Wenn Sie es noch nicht getan haben, registrieren Sie sich für ein DEMO-Konto bei Dukascopy. Dann starten Sie die JForex-Plattform und folgen Sie den Anweisungen auf der JForex-Wiki-Seite verwenden, um Ihre erste JForex-Strategie zusammenzubauen. So weit so gut Ich hoffe, Sie können den grundlegenden Java-Quellcode verstehen und wissen, wie Sie starten / öffnen, kompilieren und Führen Sie eine JForex-Strategie aus. Im nächsten Beitrag in dieser Lern-JForex-Reihe werden wir die Anatomie einer JForex-Strategie studieren.

No comments:

Post a Comment