Try TT Now

ADL®

Branch Block

Operations
  1. The user provides a True/False statement for the YES output by double-clicking on the block.
  2. When a discrete event message enters the Branch Block, the block evaluates the statement.
  3. If the statement resolves to a TRUE, the Block directs the original message , unchanged, through the YES output port. If the statement resolves to a FALSE, it directs the original message through the NO output port.

ADL Tip: Though both the Branch Block and the State Block look alike, they are fundamentally different – whereas the State Block waits until one of the internalized True/False statements turn TRUE to output a message, the Branch Block immediately directs the incoming message either through the YES or the NO output port.

Recommended Tutorials For This Section

For a tactile learning experience, please try the following tutorial:

  • Branch Block, Value Accumulator Block

Double-Click Edit Window

Double-click on the block to bring up an edit window:

  • Clicking on the formula link will display a green canvas where the user can define a True/False statement. An incoming discrete event message will be directed through the YES output port if the statement resolves to a TRUE, and through the NO output port if the statement resolves to a FALSE.
Internalized Logic Canvas

Internalized Logic Canvas: Several blocks in ADL contain an internalized logic canvas which can be accessed by double-clicking on the block.

Example. Internal Logic Canvas

The canvas is used to define user-made equations which will play an important role in the overall operation of the respective block. The following icons can be dragged onto the green canvas to define an equation:

  • : These icons can be linked to define an arithmetic equation or a True/False statement.
  • : The Block Value Icon allows the user to reference the output of any other block in the algorithm. When dragged onto the canvas, the Block Value Icon will display a menu from which the user will be able to choose a block within the algorithm (except for the blocks contained in a virtualized block).
  • : The Message Info Icon allows the user to extract certain information embedded within a discrete event message, such as a Fill Confirmation Message. When dragged onto the canvas, the Message Info Icon will display the following selectable fields:

    Field Description
    Limit The price of the respective order or the order about to be submitted
    OrderQty The total order quantity of the respective order or the order about to be submitted
    WorkingQty The working quantity of the respective order or the order about to be submitted
    FillPrice Fill price
    FillQty Fill quantity
    Instrument Instrument of the submitted order
    ExeQty Total filled quantity of the respective order
    DisclosedQty The disclosed quantity or percentage (%) of total goal quantity viewable to the market
    DeletedQty The canceled quantity of the deleted order or the order about to be deleted
    IsBuy When this field is selected, the respective block will evaluate the user's fill confirmations messages (not trade data message disseminated by the exchange) and will output a Boolean value of TRUE if the user's fill was a buy side execution
    StopTrigger The price at which the respective stop-limit or stop-market order is activated
    TradeQty Quantity of the last trade for a specific instrument
    TradePrice Price of the last trade for a specific instrument
    IsQuotingOrder Applies to discrete event messages generated by an ASE Order Block. The field will output a Boolean value of TRUE if the message was generated from an order submission for the quote leg of the respective spread
    IsHedgeOrder Applies to discrete event messages generated by an ASE Order Block. The field will output a Boolean value of TRUE if the message was generated from an order submission for the hedge leg of the respective spread
    User Field 1 - 4 An empty field that can be populated with a value using a Value Injector Block. The value may then be extracted using a Value Extractor Block