Product features (4 of 4 stars)
ADL has been integrated and ships with Trade Technologies X_Trader software, and the ADL development environment is opened from the X_Trader toolbar. As an example of the product’s integration, the X_Trader Market Explorer can be used to populate the trading instruments (stocks, options, futures, forex) of interest, and then a trading instrument icon is simply dragged-and-dropped into the ADL workspace.
The ADL development environment consists of a “canvas,” used to draw trade strategy logic, and a toolbox of system blocks, referred to as “ADL Blocks.” Blocks are selected and dropped onto the canvas, and there are easy-to-use block copy, paste, re-size and group features to effectively work on the canvas. Blocks are easily configured with pop-up dialogs and design help is nicely integrated, with video tutorials immediately accessible as part of the block Help. The pre-configured “Order Blocks,” used to direct order entry and management, highlight a level of abstraction and support for algorithmic traders that distinguishes ADL. A small set of Order Blocks hides an enormous amount of detail (thousands of lines of text programming). See the figure labeled “Example ADL Program,” which gives a screenshot of the ADL desktop with sample strategy graph.
Blocks have pre-defined input and output “ports” that are connected with “edges.” Connecting blocks defines the flow of data and control through the visual program, similar to a flow chart. Because ports are pre-defined to take a specific type of input or produce a specific type of output, ADL provides the user with warning and error messages regarding the accurate use of edges to connect blocks. In this way, ADL helps prevent erroneous connections and programs from being designed. This type of high-level error checking can be a real benefit of visual programming applied to trading.
When an ADL program is connected to market data, all values of block output ports and edge flows are automatically updated and displayed in real-time; this is one of the more impressive aspects of the ADL programming environment, as the trader visually monitors the data and control flow through the program. The “Virtual Block” is an example of how ADL incorporates complex trading requirements within the visual programming environment. When a block is declared as virtual it is automatically replicated by ADL as needed. For example, a trader can design a “one cancels other” (OCO) virtual block of profit target and stop loss logic which will be replicated automatically for each market fill event. This is a powerful programming technique that allows the trader to focus on strategy while ADL automatically manages the strategy across multiple fills.
Collections of blocks are organized easily into a single containing block, with its own input and output ports, and then used like a function or subroutine by a larger program. The programming environment supports multiple canvases and the usual file operations (save, open, etc.). There is the ability to interface to Microsoft Excel for lengthy computational expressions. These features support a modular design approach and the incorporation of third-party programs. Because ADL has been integrated into the Trading Technologies suite of trade software, an ADL program can be tested quickly against a built-in simulator and deployed within the context of other established Trading Technologies tools. For example, an ADL program can be started from an MDTrader window. A visual debugger allows breakpoints to be set within the visual program and the trader can step through the data and control flow incrementally while testing execution scenarios. The ease-of-use and overall finish of the ADL development environment is very impressive.