- Fundamental Concepts
- ADL Learning Guide
- Basic Blocks
- Trading Blocks
- Discrete 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
- 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
TT Analytics Block
TT Analytics in ADL is used for providing technical indicator data to all blocks that comprise an ADL strategy. The primary feature of TT Analytics in ADL is the ability to retrieve and use recorded historical data from a FMDS server (there should be a primary and a failover FMDS server in your environment).
Note: The following instructions should be followed (most likely by IT Personnel) to use TT Analytics Block on an AlgoSE server. The AlgoSE needs to restarted for the following changes to take effect:
- On the AlgoSE server, navigate to <root drive>:ttconfig
- Open tt_algose.ini file in a text editor.
- In the [Algo] section, add the FMDS connection setting as follows:
FMDSServer=[Ip Address]: [Port #]: [Service #]: [Timeout # (in seconds)]
Note that you may need to use the local IP Address of the FMDS depending on your network setup. Multiple FMDS connection settings should separated by '/'. Refer to the following example:
The TT Analytics Block consists of the following inputs/outputs:
- Aggregator Node: Collects historical data and market data/trade updates for a given instrument. There may be varying number of continuous Aggregator outputs depending on which outputs you expose on the block. A TT Analytic Block must have one Aggregator Node associated with it.
- Calculator Node: Selected technical indicators for a given instrument. There may be varying number of continuous technical indicator outputs for the strategy depending on the indicators used and which outputs you expose. A TT Analytics Block can have only one technical indicator calculating off the aggregator. Each subsequent indicator added after the first is calculating from the above parent indicator. The image below shows Bollinger Bands with a Simple Moving Average of the Upper Band added as a study of a study. Refer to Adding a Study of a Study .
- Instrument Block Input: An Instrument Block within the strategy must be selected when configuring/editing the Aggregator Node.
Example. TT Analytics Block in ADL for a selected instrument with Aggregator and Calculator Nodes exposed
Double-Click Edit Window
Double-click on the TT Analytics Block to open the edit window and configure TT Analytics in ADL.
The following figure shows an opened Edit Analytics Block window with selected instrument and available indicators (Calculators):
The Edit Analytics Block window consists of the following panes and settings:
- Available Indicator: A list of technical indicators that can be added to the block to calculate data for the selected instrument.
- Applied to Analytic Block: A tree showing the root instrument (selected in the Instrument Properties pane) and the child technical indicators below it. Indicators can be added as child branches, but not as parallel branches. You can remove a single indicator or all indicators at once. If you remove an indicator, all the child calculators beneath it are removed as well.
- Instrument Properties: Used for instrument block selection
and configuration of the instrument properties (Aggregator nodes).
Configure the following fields:
- Instrument: Select an Instrument Block that resides within the respective strategy. The Aggregator will inherit whichever instrument is defined by the Instrument Block, including Autospreader instruments. Click the Instrument field to open the Select Block window, then click the respective Instrument Block. Check the Only show neighbor blocks option to filter the list. An Instrument Block within the strategy must be selected when configuring/editing its properties.
- Schedule: Defines the trading session schedule for the selected instrument. Valid values are Exchange and Primary.
- Interval Type: Defines how trades are rolled into bars. Valid values are Minute and Volume.
- Interval: The length or amount of aggregation based on Interval Type. Supported values are 1 to 1440 for Minute, and 50 - 999,999 for Volume.
- ExposedOutputs: Sets which Aggregator Node values are exposed as outputs on the block. By default, none are exposed. Valid values are Open, High, Low, Close, MaxVAP, VWAP, VAH, VAL, and Volume; where: VAP = Volume at Price, VAH = Value Are High, VAL = Value Are Low.
- Indicator Properties: Used for configuring properties
for each selected indicator. Configure the following fields:
The inputs that a given technical indicator requires to function
properly. Each indicator has a different set of input properties.
For example, the Bollinger Band indicator requires 5 inputs: Input
Field, Time Period (look-back period), Upper Standard Deviation, Lower
Standard Deviation, and the Moving Average Type.
An indicator can be added beneath another indicator (refer to Adding a Study of a Study). This means that the child calculator performs calculations using the output values of the parent calculator. As such, some input properties of a child calculator will allow the user to select from a list of the parent calculator’s outputs. For example, if the SMA indicator is added beneath the Bollinger Band indicator, the ‘input field’ property of the SMA will allow the user to select one of the three output values of the Bollinger Band indicator: Upper Band (UBAND), Middle Band (MBAND), or Lower Band (LBAND).
- UpdateFrequency: Defines when the Calculator node is updated and propagated throughout the strategy. Valid values are UpdateOnTick and UpdateOnBarComplete.
- ExposeOutputValues: Defines whether or not the outputs of a Calculator node are exposed on the block. By default, only the last calculator is exposed.
- InputProperties: The inputs that a given technical indicator requires to function properly. Each indicator has a different set of input properties. For example, the Bollinger Band indicator requires 5 inputs: Input Field, Time Period (look-back period), Upper Standard Deviation, Lower Standard Deviation, and the Moving Average Type.
Previous Property Indicator
The PrevProp (Previous Property) technical indicator uses a specific instance of historical market data from the instrument itself or another indicator to calculate and create a study for an algo. The indicator is unique to the TT Analytics Block and is not available in X_STUDY.
To use the PrevProp indicator:
- Double-click the TT Analytics Block.
- Select PrevProp from the Available Indicator pane and
The indicator is displayed under the instrument or other indicator in the Applied to TT Analytics pane.
- Double-click ExposeOutputValues and select True from
the drop-down menu.
This enables the indicator to make it’s output values available to the study.
- Configure the following properties in the Indicator Properties pane:
- Lookback -- Sets how far back the PrevProp indicator goes to select an historical market data instance as input. For example, if ten instances of data at 30 minute intervals are available with High, Low, and Close prices for an instrument and Lookback = 2, then PrevProp uses the historical data of the second instance available from the latest instance. Subsequent PrevProp indicators will look back relative to where the last look back occurred. For example, if another PrevProp indicator with Lookback = 5 is connected to the previous one where Lookback = 2, then the seventh data instance will be selected (i.e., the indicator looks back five instances from the second instance that was selected).
- Property -- Sets the input value of the instrument or previous technical indicator that PrevProp uses. If more than one input value is available, double-click Property and select a value from the drop-down menu. For example, if PrevProp is connected to the Bollinger Bands technical indicator, the drop-down menu lists three values (UBAND, MBAND, LBAND). The selected property serves as input to the PrevProp indicator. If only one input is available from the instrument or previous indicator, the PrevProp property shows as Double.
- Optionally, add additional PrevProp indicators to the previous one as part of a study on a study for an algo. If added, configure the Lookback and Property settings for each indicator.
- Click OK.
Example: Previous Property with Bollinger Bands
In the following example, the PrevProp indicator is connected to Bollinger Bands with the Property MBAND selected. In this study, the TT Analytics Blocks will output data of the three bands (UBAND, MBAND, LBAND) as well as the value of the middle band one bar (data instance) back from the current bar.
Adding a Study of a Study
The TT Analytics Block provides the ability to add a technical indicator using the values from another technical indicator to create a “study of a study.”
Note: If you want two or more, separate studies for the same instrument, you will have to add additional TT Analytics Blocks. Multiple technical indicators can be added to each TT Analytics Block, but only one of the indicators can input historical data directly from the instrument itself.
To add a study on a study:
- Double-click the TT Analytics Block.
- Select a “parent” technical indicator from the Available
Indicator pane and click Add.
The indicator is displayed under the instrument in the Applied to TT Analytics pane. The parent indicator’s values will be used as input values for the second (i.e., “child”) study.
- Modify indicator parameters using the fields displayed in the Indicator Properties pane.
- Select the second (child) technical indicator that you would
like to add to the block and click Add.
The child indicator is displayed under the parent indicator in the Applied to TT Analytics pane.
- Modify the child indicator parameters if needed.
- Click OK to add the study on study to the TT Analytics Block.
When a change is made to a strategy while it’s being designed, TT Analytics in ADL checks for the following errors:
- Error: FMDS Server is not available.
Resolution: Ensure that the IP Address of the FMDS server is configured on the simulation and production AlgoSE servers.
- Error: No instrument specified.
Resolution: Ensure that an instrument is selected using the Instrument Properties pane of the Edit TT Analytics window.
- Error: Instrument field references a block that no longer exists.
Resolution: To resolve, ensure that a valid Instrument Block is selected using the Instrument Properties pane of the Edit TT Analytics window.