Historic Search

Historic Search is a feature in FX Sales that enables sales traders to search trading history beyond the typical 30-day limit imposed by standard FX Sales blotters.


Historic Search is a dedicated search interface to a back end data source, typically a database, that stores trading history beyond the typical 30 days' of activity available in standard FX Sales blotters.

The Historic Search user interface comprises a query builder and a results blotter. The query builder allows users to easily build complex queries from a selection of search criteria. The search results blotter does not impose any constraints except for those specified by the search criteria.

The Historic Search back end is handled by the FX Integration API, which provides developers with extension points for implementing the configuration of the query builder’s search criteria (HistoricSearchExecution) and the execution of a search query (SearchBlotterListener).


Historic Search has the following requirements:

Historic Search user interface

historic search overview

The Historic Search feature provides a rich user interface for building search queries:

  • Available search criteria can be configured on a global or per user basis.

  • Multiple search field types:

    • Text

    • Number range

    • Date range

  • Users can refine search results using FX Sale’s blotter sorting and filtering options

Backend integration

Historic Search depends on an implementation of a SearchBlotterListener that integrates with a back end source of historical trades, usually a database.

The FX Sales' user interface generates a search expression that adheres to the following syntax:

fx sales historic search syntax

Each search comprises a series of fields, values, boolean operators, comparators, and optional parenthesis.

Boolean operators (in order of precedence)
Operator Description


Logical AND


Logical OR

Comparators Description




Not equals


Greater than or equal to


Less than or equal to


Greater than


Less than

The search expression is parsed by the FX Integration API and passed to the SearchBlotterListener.searchChannelOpened method as a parse tree of SearchExpression objects. Developers can use the parse tree to build a SQL query, API query, or filter.

For more information on back end integration, see Implementing Historic Search.

See also: