Zum Inhalt springen
View in the app

A better way to browse. Learn more.

#T/N/X/T

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Jemand in der API-Programmierung aktiv?

Geschrieben

Hallo zusammen!

Programmiert jemand von Euch mit der IB API - insbesondere Java? Ich bin da auf der Suche nach gegenseitigem Erfahrungsaustausch.

 

Frohe Ostern

Featured Replies

Geschrieben

Ich habe damit begonnen und aufgegeben, nachdem ich einen Überblick über die Spec hatte. M.M.n. ist diese API nur für erfahrene Entwickler geeignet oder Leute mit SEHR viel Zeit. Falls Du nicht zu einer der letzten beiden Gruppen gehörst, schau Dir mal TWSLink an.

Viel Erfolg

Geschrieben
  • Autor

Hi Philipp,

 

da hast Du Recht, das die nicht ganz einfach zu durchblicken ist und ich bin ja auch erst am Anfang. Aber ich habe Spaß daran und ich habe auch die Zeit und ich habe mir extra etwas ausgesucht, wo ich nicht von einer propritären Lösung (Skriptsprache, Schnittstelle, ...) abhängig bin.

Ich will mich da also schon durchkämpfen und suche andere, um sich einfach gegenseitig helfen zu können.

Bearbeitet von substanz

Geschrieben
Aber die IB API ist eine proprietäre API! Wenn Du eine Implementierung dafür fertig hast, kannst Du damit nur bei IB handeln, sonst bei keinem Broker. Wenn Du Schnittstellen-Unabhängigkeit erreichen willst, musst Du Dich mit FIX befassen.
Geschrieben
  • Autor
Sorry Philipp, das habe ich zu unsauber formuliert. Ich will mein Handelssystem in einer unabhängigen Sprache haben, so das ich es an verschiedene Broker anbinden kann. Also muss ich jetzt darauf achten, dass ich die API-spezifischen Teile sauber kapsel und so später mit "relativ" wenig Aufwand an eine andere API andocken kann.
Geschrieben

Hallo zusammen!

Programmiert jemand von Euch mit der IB API - insbesondere Java? Ich bin da auf der Suche nach gegenseitigem Erfahrungsaustausch.

 

Ich weiß leider bzw. zum Glück nicht mehr ob es noch relevant ist, aber:

von 2001-2005 habe ich täglich mit der IB-API aktiv gearbeitet. Der Anfang war extrem schwer für mich damals, da ich mit der Api-Programmierung

erstmals in Berührung gekommen bin, aber so Stück für Stück, durchs programmieren und life anwenden, natürlich auch Routine bekommen hatte.

 

Wenn es noch annähernd so ist, wie zu o.g. Zeit dann wird dich folgendes Erwarten:

1. Nach jedem Update/Release ist zwischen 2001-2005 alle 5-8 Monate gewesen, musstest du erst alle Neuerungen checken und danach deinen eigenen

komplette Code.

2. Änderungen hatten teilweise extrem gefährliche Seiteneffekte, wenn auch Bibiliotheken mit geändert wurden bzw. bestimmte Abrechnungsalgorithmen geändert wurden

3. Bei der Fix-Api wurde einmal eine Variable zur globalen Variablen gesetzt ... viel Spass beim Work-around-coden ..

 

Das waren meine Hauptprobleme damals, wie es heute ist ... keine Ahnung mehr, da ich ja nur noch mql code.

Geschrieben
  • Autor

1. Nach jedem Update/Release ist zwischen 2001-2005 alle 5-8 Monate gewesen, musstest du erst alle Neuerungen checken und danach deinen eigenen

komplette Code.

2. Änderungen hatten teilweise extrem gefährliche Seiteneffekte, wenn auch Bibiliotheken mit geändert wurden bzw. bestimmte Abrechnungsalgorithmen geändert wurden

3. Bei der Fix-Api wurde einmal eine Variable zur globalen Variablen gesetzt ... viel Spass beim Work-around-coden ..

Ich glaube das haben sie mittlerweile im Griff. Fehler sollten nach den vielen Jahren behoben sein sein und bei neuen Features können sie besser entkoppeln. Wenn ich mir das API Coding anschaue, haben sie wohl auch gelernt, Client und Server Versionen abzufragen und unterschiedlich zu behandeln.

Ist halt eine gewachsene API und deswegen relativ zugemüllt, aber grundsätzlich stabil.

Geschrieben
Ich bin gespannt auf Deine Erfahrungen. Kannst ja mal hin und wieder von Deinem Projekt hören lassen.
  • 1 Monat später...
Geschrieben

Ich programmiere mit der IB API, aber nicht in Java. Ich arbeite gerade an einer Portierung der API nach Perl. Inoffiziell natuerlich.

 

Perl halte ich fuer sehr gut geeignet, es ist einfach und man kommt schnell voran. Aber da bin ich natuerlich sehr befangen - ich programmiere seit 16 Jahren in Perl. :)

 

Es gibt sogar schon zwei weitere Portierungen fuer Perl, eine embedded die C++ API, die andere die Java API. Beide funktionieren auch, nur waren sie mir nicht "perlig" genug. :)

 

Momentan beschraenke ich mich aber auf "lesende Zugriffe", also historische Daten, Realtime-Daten und Account-Informationen. Die Order-Erstellung habe ich noch nicht getestet.

 

Falls ein Link gestattet ist: http://www.perl-uwe.com/2012/05/perl-finance-announcing-anyeventtws-and.html (dort wird auf die Github-Projekte verwiesen)

Geschrieben

"Perl - Uwe" - ist das ein Projekt von Dir?

 

Ja, das war 100% Eigenwerbung :)

 

Die Module selbst sind noch nicht dokumentiert. Am einfachsten findet man einen Einstieg ueber den Blog-Post und die Beispiele (https://github.com/uwe/anyevent-tws/tree/master/examples). Ausserdem arbeite ich noch an einer vereinfachten Form der API: https://github.com/uwe/finance-tws-simple/tree/master/examples - diese ist dann blockierend (und nicht asynchron). M. E. ist dies fuer einfache Abfragen besser.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

Account

Navigation

Suche

Suche

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.