IQS Financial is a London-based company trading in futures on exchanges around the world. They commissioned a bespoke trading program to act as a gateway between their own in-house trading software and the futures markets.
The original versions, in C++ and then later in C#, used the PatSystems interface to access trading markets. However the company policy is to have standby modes of operation so they can carry on trading in case of technical or commercial problems. So they commissioned an alternative version of the program using the Trading Technologies interface to the market.
The IQS TT Gateway program (shown above) is a C# program implemented using the techniques described in the Programming Philosophy section, using the .NET framework. It uses the Trading Technologies’ XTrader API (XTAPI) interface to connect to the markets and can perform trading operations and show up-to-date prices. It has a programming interface accessed via network ports (sockets) so that other in-house programs can use it as a simplified gateway interface to the markets.
One of the key aims in producing this program was to maximise the reuse of existing code and to manage that reuse so that both applications will benefit from any enhancements in the future. This aim was achieved with only the lowest level API functions different from the PatSystems version of the program, representing over 60% code reuse. All of the GUI, socket interface and business logic are shared and will track each other in future releases because they come from a single code-base, using version control to manage bug fixes and changes common to the two applications.