You may want to look at NeoTicker, http://www.tickquest.com/NeoTicker.
You can write indicators or trading systems in most of the high level languages such as C++, or Java, even VBScript and Delphi. It support direct connection to several different brokers.