ADL® Documentation
- Fundamental Concepts
- ADL Learning Guide
- Basic Blocks
- Trading Blocks
- Discrete Blocks
-
Miscellaneous Blocks
- Round Block
- Display To Decimal Block
- Formula Block
- Average Block
- Stopwatch Block
- Clock Block
- Note Block
- Random Number Block
- Pause Block
- Log Block
- IsNumber Block
- Once True Always True Block
- Not Block
- Loop Block
- Exit Block
- Risk Block
- Workup State Block
- Alert Block
- Math Block
- Actor Blocks
- TT Analytics Block
-
Advanced Concepts
- Sniper Algo
- Order of Discrete Event Message Propagation
- Grouped Blocks and Library Functionality
- Rules Of Virtualization
- Jump Blocks
- Safety And Preventive Design With Visual Feedback
- Flip For Sell Orders Functionality
- Dynamic Data ExchangeLink
- Leave Orders On Pause Or Cancel
- Creating and Launching Order Ticket Algorithms (OTAs)
- Breakpoint Functionality
- Algorithm Behavior At Market Close and Disconnect
- Exporting Block Output Values
Grouped Blocks and Library Functionality
Any set of blocks can be consolidated
into a single grouped block. In addition to the ease of replication
and enabling a "cleaner" canvas, grouping a set of blocks allows
the user to virtualize or save the group to a library for future
use. Double-clicking on a grouped block will load a canvas displaying
the blocks contained within the grouped block. Use the located at the top
portion of the main Designer to switch between the main canvas and
the grouped block canvas.
Right-click on a grouped block to access the following options:
- Ungroup: Ungroup the blocks contained within the group block.
- Virtualize Block: Virtualize the grouped block so that a new copy of the grouped block will be created every time a discrete event message enters the virutalized grouped block (see: Virtualization for more information).
- Add Connector: Just like any other block, a grouped block can have inputs which can be used by any of the blocks contained within the grouped block. In addition, any of the contained blocks can output its value outside the grouped block. Selecting the "Add Connector" option allows the user to create a continuous (Numeric, True/False, or Instrument) or a discrete input/output port on a grouped block.
- Add/Save to Library: This functionality allows the user to store and quickly reproduce a set of blocks. The user can save the grouped block to an existing library or create a new library.
- Set Custom Image: This feature allows the user to import a custom image that appears on the image of the grouped block instead of the typical thumbnail image of the contained blocks.
The following miscellaneous options may be accessed through the Block Properties Tab located in the lower-right portion of the Designer Canvas:
- Dynamic Connector: With this option enabled, each port on the Group Block will dynamically change its label to reflect the name of the block immediately connected to it. When a port becomes unconnected, it will revert to last label manually set by the user.
- View Connector Labels: With this option enabled, connector labels will be displayed on the surface of the Group Block (instead of the default thumbnail image).
How to group a set of blocks
-
Select a group of blocks and right-click on one of the selected blocks. Then select the “Group Blocks” option from the menu that appears.
-
The selected blocks become consolidated into a single block:
How to add input/output ports to a grouped block
Right-click on the grouped block, and navigate to the "Add Connector" option on the menu that appears. Then select the desired type of input/output port.
Example. Adding a Numeric input port to a grouped block

To facilitate the ease of design, ADL also allows the user to create and label input/output ports within a grouped block without having to navigate outside the grouped block.
Example. Creating and labeling input/output ports within a grouped block

Note: You can opt to display the connector labels on the surface of the Group Block (instead of the default thumbnail image) by enabling the "View Connector Label" option located in the Block Properties Tab (lower-right panel of the Designer Canvas).
How to save and import a grouped block from a library
Right-click on the grouped block and select "New" under "Add/Save to Library" option. When prompted with a save window, name the new library which will be created to contain the grouped block.
Example. Saving a grouped block to a new library

The user may also save or import grouped blocks from an existing library. In order to do so, the user must first load a library. To load a library, right-click on the canvas and select the "Load Block Library" option. When prompted with a load window, select the desired library.
Example. Loading a library

Once a library is loaded, the user can quickly import any grouped block saved within the library.
Example. Importing a grouped block from a loaded library
Conversely, once a library is loaded, the user can quickly save a grouped block to the library.
Example. Saving a grouped block to a loaded library