FXDaemon is an easy-to-use, lightweight and high-performance automated trading platform.
Starting from CUI, there are two operating modes: backtesting mode and the automatic trading mode.
In the automatic trading mode, there are two types of accounts that can operate.
Connect with the broker's trading server through the plugin.
Trading strategies are developed through JavaScript.
The standard technical indicators based on TA-Lib are provided to users in the form of JavaScript built-in functions. Users can develop their own original technical indicators using JavaScript.
Users use JavaScript to write programs to execute automated trading. Functions such as open position, closed position, market quotes, and historical data can be executed or obtained through JavaScript built-in functions. The startup time of the automated trading program can be set within the range of 1 minute to 1 day.
Trailing stop and limit can also be automatically adjusted by executing user-developed JavaScript.
The required tick and spread values can be set by one minute bars. Data such as backtesting results and temporarily generated technical indicators are written into the database. Various analyses can be conducted by aggregate functions and queries in SQL.
Backtesting of one minute bars will inevitably generate certain amount of error, but it is more efficient than using the actual tick value. The historical data required for the backtesting requires additional preparation.
Individual brokers hold different commodities for trading. In addition to Forex, stocks and other products can be traded. Automated trading of multiple commodities can be executed in one account.
When opening or closing positions, the relevant position information can be sent to the designated Email accounts.
Deep learning is used to improve automated trading logic. Pre-trained models are invoked by built-in functions to obtain the buy-and-sell signals, so as to realize the artificial intelligence (AI) driven trading strategies. Models are loaded when FXDaemon starts. thus the models are invoked internally. Model updating requires restart of the Trading Server. If multiple accounts use the same model at the same time, the model will be loaded multiple times.
There are three main ways to store data transferred from brokers' servers or data generated in the system.
The System logs are categorized into four levels, which are outputted to the log files. The rotate frequency is once a day.
The fxService provides Web API function, which can expose the data stored in shared memory and DB to external systems, which needs to be installed on the same machine as FXDaemon. Authentication and access control can be configured through the HTTP server.
The external system can update the execution plan stored in DB through fxservice. If the updated execution plan is accessed in the automated trading program, that can control the automatic trading strategy in real time.
The fxBench is a tool for technical analysis, which can be installed on the same machine as FXDaemon or other terminal devices. By overlaying technical indicators on the candlestick chart, the results of backtesting can be displayed simultaneously for miscellaneous technical analyses.