From the October 01, 2012 issue of Futures Magazine • Subscribe!

Software Review: ADL / X_Trader

ADL (Algo Design Lab) / X_Trader
Trading Technologies International, Inc.

Overall Rating (4 of 4 stars)

In March of this year, Trading Technologies released the “Algo Design Lab,” or ADL, as part of its suite of software tools for the professional trading industry.  ADL is a Visual Programming Language and its incorporation by Trading Technologies marks a new and potentially important programming innovation for the algorithmic trading community. 

Trading Technologies has a history of bringing innovation to the trading industry.  MDTrader (Market Depth Trader), a graphical representation of exchange bid-ask queues as a vertical price ladder, with orders entered by simply clicking a price on the ladder, revolutionized electronic trading over the last decade.  Today, market depth price ladders are a must-have order-entry interface for the active trader.  

The price ladder is a visual interface to the market and Trading Technologies is taking the visual trading paradigm a large step further with ADL.  Traders, frustrated by the need to master a textual programming language in order to participate in automated algorithmic trading, now have a visual, or graphical, means of bringing their trading ideas to life.  If ADL Visual Programming can hide enough low-level details of order execution, while giving the trader the flexibility to quickly develop new trade strategies, then ADL may prove to be another feather in the cap of software innovation from Trading Technologies. 

What Is Visual Programming?

The idea of Visual Programming is not new.  It has its beginnings with the well-known programming flow chart, and its goal is to automatically construct computer programs from flow charts.  Visual Programming has been studied and developed for more than 40 years and there are a plethora of attempts at achieving useful visual languages.  Ricardo Baeza-Yates, VP of Yahoo! Research Labs, has recently compiled a thorough review of the field (see   There, one finds tens of attempts at new visual languages, research articles and PhD theses, and a half-dozen textbooks on the subject.  LabView, from National Instruments, is a well-known and widely-used visual programming language for inter-connecting and controlling electronic and mechanical devices. (As an aside, Microsoft’s popular Visual Studio portfolio of software development tools does not incorporate visual programming. Visual Studio programming continues to be text based with Microsoft having added graphical tools for completing user interface design and other programming functions.) 

There certainly are detractors of the visual programming method.  Visual programming is criticized for hiding necessary detail while not maintaining the simplicity and ease-of-use that are its goals.  For example, a large visual programming effort often will create many screens of diagrams and interconnections, and in so doing may lose the simplicity originally sought. A thesis on the subject, by Jeffery Nickerson (see, sums it up well: While visual programming may not be suitable for building large systems, it does appear applicable to domain-specific problems where the visual technique is used to build “programs on top of large libraries of pre-existing routines written in textual languages.”  This is the approach of ADL, as it gives the algorithmic trader access to complex order-entry and exchange interfaces and a means of interconnecting those components with graphical tools.

When first using a visual environment one’s reaction is that the job of programming has been made accessible and greatly simplified.  For the algorithmic trader, the core set of application-specific objects used to program hides a tremendous amount of detail and allows the focus to be trade strategy development.  This is a unique benefit of ADL.  However, the visual programmer does have new skills to master: Learning how to make use of core objects so that a strategy is implemented accurately; organizing the visual diagram so that connections between components do not lead to a bowl of spaghetti; and determining techniques to debug and deploy a program.  As with traditional textual programming, visual programmers will need to determine conventions so that program logic is understandable and can be documented.

comments powered by Disqus