← Back to X_TRADER® Help Library

#### Value Accumulator Block

##### Operations

A discrete event message triggers the Value Accumulator Block.

Upon trigger, the Value Accumulator retrieves and accumulates a numeric value specified by the user (specified by double-clicking on the block). The user may extract a numeric value contained within the or retrieve a value unrelated to .

After the accumulation, it passes on the original message unchanged through its right-side port and starts to output the accumulated value as .

• (Optional) The user can also set up the Value Accumulator Block to reset to a zero when a discrete event message triggers the reset port.
##### Recommended Tutorials For This Section

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

• Branch Block, Value Accumulator Block

##### Details

In addition to accumulating selected information such as Fill Quantity, the Value Accumulator Block can also be used as a counter to count the occurrence of a user-defined market event.

To do this, the user can instruct a Value Accumulator Block to accumulate the numeric value "1" (in the internal logic canvas, drag and drop the "#" icon onto the canvas and input the value "1") when triggered by a discrete event message. In addition, the user can design logic that generates this discrete event message when a specific market event occurs. With this setup, the Value Accumulator will accumulate the numeric value "1" for each occurrence of the event.

Example. Using the Value Accumulator Block as an event counter

##### 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 an equation which will determine the specific numeric value to be accumulated at the moment the block is triggered by .
##### 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