ADL
ADL Overview
ADL Basic Concepts
Description
Reference
Task
Advanced concepts
Case Studies
Description
Task
Building your first algo
Lessons
Introduction to ADL
Description
Reference
Task
Videos
Arithmetic blocks
Basic blocks
Discrete blocks
Group blocks
Jump blocks
Library blocks
Logic blocks
Miscellaneous blocks
Trading Blocks
Virtualized blocks
APIs
TT .NET SDK
Advanced Concepts and Options
Appendix
Creating the application framework
Getting started with TT .NET SDK
Subscribing for market data
More about prices
An in-depth look at the Price class
Working with Algos
Algo Server
TT Order Types
TT Premium Order Types
Working with instruments
Working with orders and fills
Handling trade subscriptions
Working with trade subscriptions
TT CORE SDK
Appendix
Creating a TT Application Server
Creating Application Framework
Getting Started with TT Core SDK
Subscribing for Market Data
Working With Instruments
Working with Orders and Fills
TT REST API 2.0
API Reference
Getting Started
TT REST API 2.0 (UAT)
API Reference
Getting Started
Data and Analytics
TT Margin
MiFID II Support
Monitor
Setup
Company Administration
Account Administrators
Description
Task
Accounts
Description
Reference
Task
Use Cases
Videos
Advanced Features
Description
Company
Description
Reference
Task
Connections
Description
Reference
Task
Videos
Order Tag Defaults
Description
Task
TT Access
Description
Task
TT Premium Services
Description
Task
Users
Description
Reference
Task
Videos
Exchanges: Americas
B3
Description
Task
CBOE
Description
Task
Cboe FX
Description
Reference
Task
CFE
Description
Task
CME
Description
Task
Dealerweb
Description
Task
EBS Direct
Description
Task
EBS Market
Description
Task
Fenics
Description
Task
FMX
Description
Task
FMX_USTF
Description
Task
Goldman Sachs Commodity Blocks (GSCB)
Description
Referece
Task
ICE
Description
Task
MexDer
Description
Task
MIAX_FUT_CH
Description
Task
MIAX_FUT_NY
Description
Task
MX
Description
Task
NFI
Task
Nodal
Description
Task
Exchanges: Asia/Pacific
ABX
Description
Task
ASX
Description
Task
CoinFLEX
Task
FEX
Description
Task
HKEx
Description
Task
JPX
Description
Task
NSE
Description
Task
NZX
Description
Task
SGX
Description
Task
SGX GIFT
Description
Task
TAIFEX
Description
Task
TFEX
Description
Task
TFX
Description
Task
Exchanges: Crypto
Coinbase
Description
Task
Kraken
Description
Task
Exchanges: EMEA
ATHEX
Description
Task
BIST
Description
Task
CEDX
DGCX
Description
Task
EEX
Description
Task
EPEX SPOT
Description
Reference
Task
Eris
Description
Task
Eurex
Description
Task
Videos
Euronext
Description
Task
GFO-X
Description
Task
ICE_L
Description
Task
JSE
Description
Task
LME
Description
Task
LME NTP
Description
Task
LSE
Description
Task
MEFF
Description
Task
NASDAQ_NED
Description
Task
NDAQ_EU
Description
Task
Nord Pool
Description
Reference
Task
WSE
Description
Task
FIX Support
FIX Ruleset
Description
Task
FIX Sessions
Description
Task
Secondary Accounts
Description
Task
Risk Management
KRM Limits
Description
Task
Order Cross Prevention
Description
Task
Videos
Pre-Trade Portfolio Risk
Description
Reference
Task
Risk Administration
Description
Task
Risk Limits
Description
Reference
Task
Videos
Setup Overview
Getting Started
Description
Reference
Task
Videos
Supported Order Types and TIFs
TT® OMS
TT OMS Administration
Description
Reference
Task
Use Cases
Trade
Algo Trading
Algo Dashboard
Description
Reference
Task
Videos
Autotrader
Description
Reference
Task
Videos
Excel integration with TT
Description
Reference
Task
Videos
Market-Making Algos
Order Management Algos (OMAs)
Template Manager
Description
Task
Analytics
Charts
Description
Reference
Task
Technical Indicators
Videos
Trader Analytics
Description
Reference
Task
Basic Order Entry
Blocktrader
Description
Reference
Task
Videos
MD Trader®
Description
Reference
Task
Videos
Order Profiles
Description
Reference
Task
Order Ticket
Description
Reference
Task
Use Cases
Routing Rules
Description
Task
Trading Crypto on TT
Description
Reference
Task
Videos
Trading on B3
TT Order Types
Case Studies
Description
Reference
Task
Videos
TT Premium Order Types
Description
Reference
Task
Options
Counterparty Manager
Description
Task
Electronic Eye
Description
Reference
Task
Videos
Expiration Manager
Description
Task
Options Chain
Description
Reference
Task
Use Cases
Videos
Options on TT
Description
Videos
Options Risk
Description
Reference
Task
Videos
Options Risk Matrix
Description
Reference
Task
Videos
Options Trade Monitor
Description
Reference
Task
Videos
QuikStrike
Description
Task
RFQ Viewer
Description
Reference
Task
Videos
RFQ with Counterparties
Description
Task
Strategy Creation
Description
Reference
Task
Use Cases
TT Uncovered
TT Uncovered 2.0
Description
Task
TT Uncovered 3.0
Description
Task
Vol Curve Manager
Description
Reference
Task
Use Cases
Videos
Volatility Calculator
Description
Task
Watchlist
Description
Reference
Task
Videos
Order Management
Account & User Restrictions
Description
Reference
Task
Account List
Description
Reference
Task
Videos
Alert Manager and Alert Viewer
Description
Reference
Task
Videos
Audit Query
Description
Reference
Task
Audit Trail
Description
Reference
Task
Balances
Description
Reference
Task
Fills
Description
Reference
Task
Floating Order Book
Description
Reference
Task
Order Book
Description
Reference
Task
Orders and Fills
Description
Reference
Task
Position Manager
Description
Reference
Task
Positions
Description
Reference
Task
Overview
Browser Access
Description
Task
Videos
Preferences
Description
TT Desktop
Description
Reference
Task
Videos
TT Platform
Description
Task
Widgets
Description
Task
Workspace Windows
Description
Task
Videos
Spread Trading
Aggregator
Description
Reference
Task
Videos
Autospreader
Description
Reference
Task
Use Cases
Videos
Autospreader Rules
Description
Reference
Task
Videos
Hedge Manager
Description
Reference
Task
Videos
Trading in Yield
Description
Reference
Task
Use Cases
TT® OMS
Bulking
Description
Task
Videos
Care Orders
Description
Reference
Task
Videos
Combining
Description
Task
Lock and Release
Description
Task
Order Exceptions
Description
Task
Order Passing
Description
Task
Use Cases
Stitching and Splitting
Description
Task
Viewing Market Data
Depth
Description
Reference
Task
Market Grid
Description
Reference
Task
Videos
Product Grid
Description
Reference
Task
Spread Matrix
Description
Reference
Task
Videos
Time and Sales
Description
Reference
Task
TT Backtesting
TT FIX Services
TT FIX Drop Copy In
Overview
Supported application messages
TT FIX Drop Copy Out
Compliance Feed messages
Overview
Supported application messages
TT FIX Message Conversations
TT FIX Gateway
Components
FIX Message Structure
Getting Started
Order Gateway Messages
Price Gateway Messages
Session messages
TT FIX General
FIX Message Structure
Getting Started
Session messages
TT FIX Market Data
Overview
Supported application messages
TT FIX message conversations
TT FIX Order Routing
Overview
Supported application messages
TT FIX message conversations
TT FIX Recovery
Compliance Feed Messages
FIX Recovery Methods
Overview
Supported application messages
TT Mobile
TT Trade Surveillance
Cluster View
Configurable Models
Core Models
Cross Product Models
Improperly Matched Trade Models
Market Abuse Models
Market Rate Models
Miscellaneous Models
Spoofing Models
Trading Behaviors Models
Overview
Reference
Reports
Using TT Trade Surveillance
Wachlists

Account Filtering

On this page

By default, all orders / fills are loaded at startup for all accounts to which the user is mapped. You can specify that order/ fills be loaded for only a specific set of accounts by enabling account filtering. Account Filtering is done at the API level and if it is enabled, the API will only subscribe and sync to the accounts specified.

Creating a filter on the TradeSubscription is not the same as setting EnableAccountFiltering to true. Listed below are the differences:

Creating a TradeSubscription FilterEnableAccountFiltering
TradeSubscription will only have the order and fills for that particular AccountThe API will only subscribe and sync to the accounts specified ( only those accounts will be available to trade and order/ fills be loaded for only for those specific set of accounts).
The API gets messages for all accounts from the edge server and the API then processes the messages based on the account filter on the TradeSubscription.Reduces the number of messages on the network because the edge only sends in communication for the accounts subscribed for.

Specifically, you perform the following steps.

  1. Set the tt_net_sdk.TTAPIOptions.EnableAccountFiltering property to ‘true’ before initializing the SDK.

    // ...
    
    tt_net_sdk.TTAPIOptions apiConfig = new tt_net_sdk.TTAPIOptions(
    tt_net_sdk.TTAPIOptions.SDKMode.Server,
    environment,
    appSecretKey,
    5000);
    apiConfig.EnableAccountFiltering = true;
    
    // …
    
  2. Register for the tt_net_sdk.TTAPI.AccountSynced event and define the corresponding event handler

    TTAPI m_api;
    
    // …
    
    public void m_api_TTAPIStatusUpdate(object sender, TTAPIStatusUpdateEventArgs e)
    {
    // …
    
        m_api.AccountSynced += m_api_AccountSynced;
    
        // ...
    
    }
    
            private void m_api_AccountSynced(object sender, AccountSyncedEventArgs e)
            {
                // An order can be placed at this point and not before this (even if the OrderBookSync event is received) with the account that this event 
     was received for
            }
    
  3. Call the tt_net_sdk.TTAPI.SubscribeAccounts() method passing a list of the accounts for which you want to load orders / fills. Please note the SubscribeAccounts() should be called as soon as the API is initialized and ready to be used.

    void loadAccounts (List<Account> accounts)
    {
    m_api.SubscribeAccounts(accounts);
    }
    

Important Notes

  1. An application will need to keep track of the accounts that are finished if it needs to wait for all of the orders / fills for all of the accounts to be downloaded before proceeding.
  2. If an order is sent on an account not subscribed to in SubscribeAccounts, it will be rejected with a routing error.
  3. TradeSubscriptions instances started before the SubscribeAccounts() method is called will be empty but would populate as orders / fills arrive after the SubscribeAccounts() method is called.
  4. If EnableAccountFiltering is set to true and SubscribeAccounts is not called with a valid list of accounts (should not be empty), no accounts will be subscribed by the API and therefore not be available to trade. If this occurs, your logs will contain Missing account subscription messages on the rejected orders along with the OrderRejectReason.RoutingError. Accounts must be synced before routing an order. Typically, this point in time is known to the user via the OrderbookDownload event but when you use the advanced EnableAccountFiltering, it is when each account is synced, which is indicated by the AccountSynced event.
  5. When using EnableAccountFiltering, please also make certain EnableOrderExecution is set to true when the SDK is initialized.
This site is registered on wpml.org as a development site. Switch to a production site key to remove this banner.