Welcome Guest, you are in: Login
CTS Futures
Home
Pricing
FAQ

T4 Desktop
User Guide
Scripting Guide
Release Notes

Mobile and Web
T4 Mobile
T4 WebTrader

Admins
T4 Admin Guide

Developers
API 4.0 Guide
API 4.0 Reference
FIX API




Search the wiki
»

Getting Account and Order Data

RSS
All account and order data is obtained via the Accounts property of the Host. The Accounts object contains a list of all the accounts that the user can see. This list is requested as soon as login has succeeded. AccountDetails events are raised as each account is received. All account updates (details, updates, and positions) are buffered and raised in batches where possible. The account events are raised from the Account object itself, and from the AccountList object as well. The PositionUpdate event is also raised from the Position object as well (found within the Account’s Positon List).

To receive account updates, positions and order information you must first subscribe to the account:

' Reference to the accounts list.
Private WithEvents moAccounts As AccountList



' Set the account list reference so that we can get Account and order events.
moAccounts = moAPI.Accounts

' Display the account list.
For Each oAccount As Account In moAPI.Accounts

Trace.WriteLine("Account: " & oAccount.Description)

' Subscribe to the account.
oAccount.Subscribe()

Next

If you are creating an application with user interaction then you can use the AccountPicker dialog to allow the user to select an account.

' Display the account picker to the user and allow them to select an account.
moAccount = moHost.Accounts.AccountPicker(moAccount)

' Check to see if the user selected anything.
If Not moAccount Is Nothing Then

' Subscribe to the account.
moAccount.Subscribe()

End If

The AccountUpdate event is raised when the account’s overall balance, P&L, margin or status changes. The update is applied to the Account object itself.

' Event that is raised when the accounts overall balance, P&L or margin details have changed.
Private Sub moAccounts_AccountUpdate(ByVal poAccounts As T4.API.AccountList.UpdateList) Handles moAccounts.AccountUpdate

' Display the account balance.
For Each oAccount As Account In poAccounts

Trace.WriteLine("Account: " & oAccount.Description _
& ", Balance: " & oAccount.Balance)

Next

End Sub

The properties of the Account object are described here.

The PositionUpdate event is raised when the account’s position in an individual market changes. This includes changes to the P&L, margin, net position, working position. The update is applied to the Position object itself (which is found in the Account position list).

' Event that is raised when positions for accounts have changed.
Private Sub moAccounts_PositionUpdate(ByVal poPositions As T4.API.AccountList.PositionUpdateList) Handles moAccounts.PositionUpdate

' Display the position details.
For Each oUpdate As AccountList.PositionUpdateList.PositionUpdate In poPositions

Trace.WriteLine("Account: " & _
oUpdate.Account.Description & ", Market: " & _
oUpdate.Position.Market.Description & _
", Net: " & oUpdate.Position.Net)

Next

End Sub

Note: When a position or order update is sent the server checks to see if you have the market details that it applies to, if not then you will receive the market details prior to receiving the position and order details. This means that if you are creating an application that just watches the orders in the system that you do not have to request the details of all the markets. They will automatically be sent to the API as needed.

The properties of the Position object are described here.

Trade how you want, where you want

support@ctsfutures.com (312) 939 0164

141 W. Jackson Blvd., Suite 211A, Chicago, IL 60604

© 2009-2012 Cunningham Trading Systems Inc. All rights reserved.