Jump to content
Tom Next - Daytrading Community
  • entries
    49
  • comments
    105
  • views
    104,197

Ein paar technische Details


Mythos

996 views

Legen wir gleich mal mit ein paar technischen Details los.

 

Usprünglich lief die Exchange in der Datenbank am TradeScout Server. Da das Um und Auf einer aktiven Börse aber eine Vielzahl an Usern ist, und TradeScout sicher nicht so schnell wächst, hab ich mich entschieden die Exchange rauszulösen und unabhängig zu machen. Sprich die neue Exchange wird auf einem eigenen Server laufen und unterschiedliche Foren können sich als "Partner" anmelden wodurch der Einstieg in die Börse direkt über die Plattform läuft. Damit teilen sich dann viele User aus unterschiedlichen Communitys einen Börsenplatz. Ein bissl wie an der realen Börse mit den Brokern.

 

Eine weitere Neuerung ist das ich das Clearing wieder aus der DB herauslösen werde. Ok dazu muss ich ein bissl ausholen. Ganz ursprünglich wurde das Clearing (also der Versuch 2 Orders zu matchen) in einem externen C++ Prog erledigt das sich regelmäßig die neuen Orders aus der DB holte und abarbeitete. Aus vermeintlichen Performance und Timinggründen hab ich das ganze dann jedoch in die DB per procedures und functions verlagert und eine Order wurde nicht mehr in eine Tabelle eingefügt, sondern es wurde eine "newOrder" Procedure aufgerufen wodurch die Order sofort abgearbeitet wurde. Hat aber den Nachteil, das große Orders die DB belasten, denn beim Clearing sind zwar auch einige DB Aufrufe beteiligt, aber es gibt auch viel DB-unabhängige Berechnungen. Deshalb inzwischen das Umdenken. Um das Timing zu lösen (derzeit muss die Clearing alle paar millisekunden auf neue Orders checken) wird der Exchange Server in Zukunft neue Orders nicht in die DB einfügen sondern direkt ans Clearing senden wodurch auch das Problem gelöst wäre. Bedeutet nur eine weitere Client/Server Verbindung, diesmal zwar einfacher aber ich mach erstmal die aktuelle Geschichte fertig. Man soll ja immer noch Möglichkeiten zur Verbesserung haben ;)

Einzige Frage derzeit ist noch ob das Clearing besser Java oder C++ basiert ist. Speedtechnisch auf jeden fall C++, wobei hier vermutlich nicht so ein großer Unterschied ist. Aus programmiertechnischer Sicht ist es sicher einfacher alles auf der gleichen Sprache zu haben, vor allem in Hinblick auf die Erweiterung weil ich (noch) keine Ahnung hab wie man Server in C++ implementiert.

Wenn ich die zeit finde werd ichs in beiden schreiben und den Speed testen. Tendiere derzeit aber deutlich mehr zu java.

 

Noch ein kurzes Wort zum Applet: Es basiert auf Swing, im Applet selbst wird es die AccountInfo und den aktuellen Ticker geben. Per Menü wird man dann zu jedem Symbol Chart und Level2 Fenster öffnen können bzw. ein Fenster mit der Übersicht über die eigenen Orders.

 

so weit fürs erste, damit seid ihr Überblickstechnisch glaub ich auf dem aktuellen Stand.

 

mythos

0 Comments


Recommended Comments

There are no comments to display.

×
×
  • Create New...