Overview
Cloud9Trader makes writing automated trading algorithms simple and accessible to those with little programming knowledge. It streamlines the workflow and makes the process of testing algorithms exponentially more efficient. It then runs your algorithms live, sending signals to your broker for trade execution.
Traders have historically used desktop software to develop and test their algorithms. Moving the workflow online offers you all the benefits of cloud computing. All your scripts are saved securely and versioned. All your backtest results and trades are stored for quick retrieval, your complete history. You won’t need to make backups - your data is safe and always available. You won’t need to leave your laptop running or set up expensive virtual machines and you will never miss a trade through lost connection whilst trading live.
Language
On Cloud9Trader you write your algorithms in JavaScript, directly into the browser. JavaScript follows open standards and is the most widely consumed language on the planet, so no proprietary languages to learn. In actuality you won’t even need to know much JavaScript to automate your trading, just the very basics. Our API provides a clean, intuitive abstraction layer and is designed to use plain language and be as accessible as possible to non developers. JavaScript isn’t a language that needs to be compiled, so we can offer you instant feedback as you type.
Take a look at Writing Your Algorithms for an introduction and the API Reference for more detail.
Backtesting Speed
Backtesting is the process of running your algorithm against real historical price data to determine if it is likely to be profitable. This is very processor intensive as the script must run for every price tick, typically millions over a normal backtest period. You won’t need to lock up your home computer while your processor chews through the data. Our platform allows you to run as many backtests simultaneously in the cloud as there are server instances available. You are free to continue working while your backtests are running. Additionally, our architecture fires up new servers automatically whenever there is demand, scaling back down when it is quiet.
Backtesting Accuracy
Historical price data is unmanageably large. You would soon fill your hard drive if you were to deliver full tick data to backtests running locally. Existing software solutions circumvent this by only supplying price data at minute resolution. All the missing ticks are then just estimated. You rely completely on your backtest results when deciding whether to trade your algorithm live, so any inaccuracy is bad news.
We supply all the actual ticks, every single price update, as served by your broker for 100% like for like accuracy in backtesting. You can run at minute resolution to quickly check that your scripts are behaving as expected while you are developing them, though for complete accuracy you need to backtest against every tick. Algorithms often trade on very small margins and it was always a core tenet of ours that your backtesting should give you the exact result had you actually traded for that period. On completion, the results screen allows you to analyse your backtest run in every detail with rich visual feedback.
Optimization
Optimization is the process of running backtests repeatedly to determine the set of external parameters that give the most profitable outcome when fed into your algorithm. Cloud9Trader includes a genetic optimization framework that models natural selection and genetic processes to direct the runner towards profitable results from a search space of potentially infinite possibilities. Each step is allocated its own cloud server so that your backtests run simultaneously, providing results in record time. The results let you see at a glance which are the most profitable and have the strongest equity curves. A good strategy externalizes the parameters that make it flexible for various instruments and market conditions. You should run these regularly to ensure your algorithm is at its peak configuration.
Technical Indicators
Technical indicators are scripts that produce values by applying a formula to an instrument’s price data. They offer a perspective that helps you visualize price action to better predict upcoming movement. They can be plotted onto charts and used directly in your trading algorithms. Cloud9Trader has the most popular indicators built in and ready for you to use. You can also write and test your own custom indicators, again using a simple JavaScript API. These can be drawn as price overlays or studies and their visual output is highly customizable. You'll also often use these in your scripts to identify opportunities and determine whether conditions are suitable for trading.
Take a look at Writing Your Technical Indicators for an introduction.
Shared Algorithms
Our algorithm sharing infrastructure lets you share your algorithm code with the community. This allows you to pool resources and develop strategies collectively. If you need advice on your strategy or help with your code you can make it available for the community for their support and feedback. Algorithms you share are posted on our community forum as a base for discussion. Of course any algorithms you don’t share are kept private and owned by you.
If you are new to automated trading, this also means there is plenty of code available for you to use as a starting point for building your own strategies. It is often simplest to learn by example.
You can see what is shared at this moment on the Community Shared Algorithms page.
Writing Your Algorithms
A quick intro on the general structure of Cloud9Trader algorithms.
Writing Your Technical Indicators
A one page guide to writing your own custom technical indicators.
API Reference
Your complete reference manual for writing trading algorithms and technical indicator scripts. This simple JavaScript API is all you need to determine trade conditions, manage your risk and trade the market.
Was this page useful? If you find any errors or have any questions please get in touch at support@cloud9trader.com.