In-Platform Programming Language

Lua, JavaScript, and Python support for technical analysis and in-platform auto-trading.

Objective

Empower traders with an easy to use programming toolkit. One that was built into the trading terminal, enabling them to trade more effectively using technical analysis and auto-trade. Proper in-platform support of auto-trading was necessary due to a rise in robo-trading in retail Forex, when many brokerage customers didn’t have the technical savvy to use an API. Additionally, the trading terminal had to be capable of running complex strategies, possibly involving hundreds of accounts, on a mid-range PC.

Solution

FintechOps developed a set of modules integral to the desktop trading terminal. These modules offered a variety of tools for technical analysis, both visual and mathematical, such as indicators and oscillators. At a time when competitors’ platforms offered a limited number of visual instruments, our trading terminal offered full freedom to draw anything on the charts. We also provided the ability to code multiple trading robots that would run simultaneously within the terminal. Our trader’s support portal, fxcodebase.com, has over 30,000 indicators, oscillators, trading robots, and more available to the public.

Initially, the platform supported Visual Basic and JavaScript. However, realizing this wasn’t ideal for novice traders with no programming experience, we made the shift to Lua. Since this has a simple syntax and is designed primarily for embedded use in applications, it was the perfect choice. For the language compiler, we chose the open source LuaJIT. Currently, the platform supports both JavaScript and Python on top of Lua. Python runs in the Python virtual machine, and JavaScript is being compiled to bytecode for Lua virtual machine.  

Our trading platform was the only one that offered a fully functional IDE for writing code purposes that included a built-in code debugger.  

With performance in mind we developed a module for algorithm optimization.This meant heavy optimization of all calculations coded as a part of an indicator or trading strategy. The result was a trading platform capable of analyzing up to 300,000 bars in a data series, while simultaneously running hundreds of indicators or strategies.

Business Impact
  • Two years after the platform added Lua and a multitude of free examples on fxcodebase, FXCM became the largest retail Forex trader in the US.
  • Customer retention improved due to a new platform with quick execution of any combination of indicators and oscillators. Manual traders were able to identify emerging trends quicker, enabling them to make more informed buy and sell decisions.