Trading Strategy Optimization Engine

An SDK for an advanced strategy optimization that employs generic algorithms.


In order to increase client retention, FXCM was looking to help improve the efficiency of their auto-trading strategies. Typically, a profitable auto-trading strategy is built and based on mathematical functions which may have several parameters. Determining the correct set of parameters is an optimization problem of finding the minimum or maximum of the function.

At the time, competing trading platforms didn’t offer tools that could help traders find optimal parameters. They were limited to offering historical prices and a backtesting engine.


A typical auto-trading strategy has 5 to 20 parameters. Finding the right set of parameters can be achieved using the process of nonlinear programming applied to historical prices. We built a module for the desktop trading terminal that employed a genetic algorithm which would offer an optimal set of parameters for a given strategy. This was the first solution of its kind to be provided by any trading platform on the market.

In time, this proprietary optimization solution became available in an SDK that was freely available regardless of the brokerage, trading platform, or usage. Those with complex trading strategies with multiple parameters have the ability to launch the optimization engine on thousands of simultaneously running workers in the cloud.

Business Impact
  • FXCM’s platform—named Trading Station—became the only one to have a trading strategy optimization engine built into its terminal. An influx of now happy customers prefer using Trading Station over both MetaTrader and NinjaTrader, which are also offered by the brokerage.