Generate comprehensive reports and export data about various facets of your organization to help you determine daily cash changes, account days-traded, and more.
Note: The reporting API can experience performance issues when it’s being used by multiple users simultaneously and report requests time out if generation takes longer than 3 minutes (for example, reports with a million rows).
BigQuery does not have these limitations, so we recommend using BigQuery to access your reports and data.
To access the Reports portion of the Dashboards application, click the Report tab on the navigation column. You’ll see a palette of available reports for Organization Admins.
Best Practice: Reports are intended to be run EOD (End of Day) during market close. This allows for all of the values for the day’s session to be settled, giving you the most accurate data.
Each report request is composed of a report type and parameters. You can see the parameters available for a report type by selecting one of the options from the reports palette.
Constructs the report and displays it in-page for you to view.
Constructs the report and downloads it in CSV format. You can then utilize that data, or view it in Excel and other spreadsheet viewing tools.
Constructs the report and downloads it in PDF format. This will include a table of the results for you to view in PDF format.
Dashboards caches recent searches locally. This allows you to look at history, including things like the last generated report. This can be useful for comparing the results of two report queries quickly, or cross referencing another report.
Account Balance History can be incredibly useful for finding the number of days traded for an account, an account’s creation date (will show $0.00 P/L), or recording the progress made during the last trading session.
The time frame to pull data from. You can select a custom range if the predefined ranges don’t suit your current needs.
Allows you to enter a day or date range from which to gather report data.
You can optionally filter by a single account. Leaving this filter empty will result in querying all accounts that had a balance change over the date range.
Usually means this was the creation date for the account, and that it hasn’t traded yet.
Means this account traded during the requested session range.
The EOD balance (given that you are calling this report between 5-6PM ET).
The trading session date not the calendar date.
A User Session report contains information about when a user logged in and from what device. This can be useful when a user makes a claim that someone else has been using their account.
The time frame to pull data from. Custom ranges are supported.
Dependent on the Date selection, allow you to choose the day or week.
Dependent on your Date selection, allow for custom ranges within the chosen day.
The User to pull session data for.
Shows session start and stop times to easily audit the timeframe from a claim.
Compare the listed Device IDs and IP Addresses to see if there is an outlying device or an unusual IP.
Refers to the application used. tradovate_trader(web) is the Tradovate Web Trader. The app will be different depending on which application the client is using (Tradovate or NT Desktop, NT Web, Mobile, etc).
The User Sessions report can help determine whether orders were placed manually or via automated trading systems. Use the “App Names” column to identify the platform used:
Manual Trading Platforms:
Automated Trading Indicators:
Investigation Process:
Bridge Provider Detection: Bridge providers like “TradersPost Production Env” or “AutoView” typically offer connections between TradingView and Tradovate via WebHooks, allowing automated strategies to send trading signals. When these appear in session history, review the specific orders to confirm automated execution.
Run reports during market close (5-6PM ET) for the most accurate EOD data.
Use CSV format for further analysis in Excel or other tools. Use PDF format for documentation and record-keeping.
Use “View Last Report” to compare results between different time periods or parameters.
Use custom date ranges when predefined ranges don’t meet your specific needs.
When a user has a question regarding an order or trade, collect the following information before beginning your investigation:
Essential Information to Gather:
Why This Information Matters:
This information gathering step ensures you have everything needed to effectively use the available reports for troubleshooting and investigation.
There are several reports that should be used when reviewing questions involving trades. The type of question will determine which report(s) should be referenced.
The most frequently used report when reviewing order submission cases. These will include:
This report will often act as an extension of the Order report. The order number can be found in the Orders report, which is what needs to be entered in the Order Details report. The result will provide:
This report shows the account’s cash balance activity. It will provide entries when, for example, a position is closed (Trade Paired), and commissions or any other fees are deducted. A use case for this report would be to find Start and End Of Day balances.
This report will show the accounts’ performance for the specified date(range). This will allow you to:
When looking to review user’s actions within the Tradovate platform, this report can be used. It will log actions such as when:
When troubleshooting auto-liquidation issues, the admin dashboards provide powerful tools for investigation:
Account Dashboard Investigation:
Key Dashboard Fields for Risk Analysis:
Investigation Process:
This dashboard-based investigation approach helps identify whether auto-liquidations were caused by:
Organization admins have access to the undocumented reporting API. You can use this API to get CSV data about your user’s accounts; historical data about Performance, Orders, Positions, Subscriptions and more is available via reports.
There are two domains, live and demo (just like the rest of the API), as well as development variants:
Production:
https://rpt-live.tradovateapi.com/v1https://rpt-demo.tradovateapi.com/v1Development:
https://rpt-live.staging.ninjatrader.dev/v1https://rpt-demo.staging.ninjatrader.dev/v1To retrieve data about sim accounts for example, you would use the rpt-demo or rpt-demo-d variants.
First, using one of the above URLs as a base, make a request to /reports/requestReportDefinitions. You should receive a list of report types. These are all of the reports available to your admin user.
Example Report Definition:
Example Report Request:
This will return all of the Tradovate Subscription entities related to your organization during the month of August, 2022.
Important Notes:
representationType: "csv" field.{ name: string, value: ValueType } objects, where ValueType is determined by the parameter descriptor from the report definition.