The extra tools used in ftap algorithm trading system

ftap algorithm trading system is a standalone console program which works alone and perfectly. However, I never stop improving my working productivity. So I created serveral tools to simplify my life and increase my productivity.

Web log browser script

When my trading system is distributed on the Linux VPS to trade lively (on my either live or demo accounts), I need to check the log file regularly to diagnose the status of the system, which is fatal important for a trading system. To do so, I created a simple PHP script to fetch the log file and send the text back to the browser. With it I can read the log file anywhere with any web browser.

I thought to write such script in Perl, but CGI didn't work at the time so I had to start learning basic PHP programming which is not difficult to me a C++ programmer. (Later I found that I didn't enable Perl in the web configure file…)

Trading system execute/stop script

I wrote another PHP script so that I can run, stop, or restart the trading system from within a web browser. This feature is fatal important too because with it I can stop the trading system in case of any error, from anywhere, such as from my mobile phone.

Command line execute script

My ftap algorithm trading system runs on command line, and a bunch of arguments need to input on the command line. It's boring and time consuming to input the arguments each time, especially some of the arguments, such as the bar database location, never change.

To make the boring work happier, I wrote a Perl script, which wraps most of the arguments, to execute the system. One interesting feature in the script is the “default” arguments can be overrided by the command line input. For example, if there is a “–abc=Default” in the script, executing the script without specifying “–abc” will cause “Default” used. But if I execute the script by input “–abc=New” on command line, “New” is used.

Qt .pro files generating script

It's boring to manage source code in Qt Creator. And even worse, there are several sub projects in ftap. For example, the unit test is a standalone project. All projects share a large part of the source code. That's to say, if I do source management in Qt Creator, when I add a new source file, I have add the file to several projects! That can be more boring and I can't bear it. So I wrote another Perl script to easy my life. The script will collect the source files in the source directory, then generate all the .pro files for all projects. That's quite sweet!

Final words

The tools I talked above look quite simple. But, they saved me a lot of time and highly increased my productivity.


Enter your comment. Wiki syntax is allowed: