Important things first: IB API 8.61 has been released, so FuturesTrader from now on is available for IB API 8.61 only. Be aware that the former IB API 8.3 and IB API 8.6 are incompatible, so you need to update the IB API, if you want to use the new FuturesTrader version
The dreamresults the Backtest module gave me are behind me. They were caused by statistical and design errors, which have been fixed.
And now reality sets in: Designing a profitable tradesystem isn’t an easy task, actually it is very difficult.
But what did I expect? If it were easy, everyone would use it and make money trading.
So the first step was saying goodbye to the tradesystem implemented in the backtest module and running Playbacks in Ensign with my Tradesignals transmitted to the Backtest module.
That means waiting for about 15–30min for a Playback to complete, even if it is running at maximum speed.
I’m not the super tradesystem designer (or I would have have no need for this Backtest module at all), you could describe me more as the Try and Error designer. I change one parameter at a time and check, if the results I get are better or worse than what I had before. But if every backtest run takes about 20min, I might find a working tradesystem in one or two years, but not within hours or days. Yes I’m a bit impatient.
So I added the Tickpool datafeed to the Backtest module.
If you run a Backtest, FT will save every tick and tradesignal received in a tickpool. Once your Test has finished, you no longer need to run a Playback in Ensign or ESignal to repeat the Test.
Instead you switch to the Tickpool datafeed, change the parameters and run the Test again and again and again, until you have a working model for the day you backtested.
The Tickpool data can be Saved and loaded back later, so you can use the dataset again. The Tickpool can also be cleared manually, as you might decide to build Tickpools going over more than 1 day. You see the number of ticks in the Tickpool in the new Statusline at the bottom of the backtest module.
Tickpool datafiles are nothing but standard ESignal Playbackfiles, which you get when you create an ESignal Playbackfile. They just have an added Buy, Sell or Cover Statement at the end of the Dataline, where you want a Tradesignal to be created.
That’s how a ESignal Playbackfile looks in the Notepad-Editor:
and here is the corresponding Tickpoolfile with a Tradesignal:
As you can see, it is simple to add the tradesignals manually, if you have no way of creating them automatically or if in fact you want to backtest your own trading and see, how trading with different strategies might have given you better or worse results as you really got.
The format is
T for Tick, Date in YYMMDD format, Time in HHMMSS format, Price, Volume (unused), Tradesignal (if any) as Buy, Sell or Cover
FT will by default save Backtest Tickpool files and Excel files in the new ..\Futures-Trader\Backtest subfolder
BTW: Don’t complain that, when running Backtests FuturesTrader now uses a lot more memory than previous versions. You can’t have it all. If you backtest a few months of tickdata, these take memory to store internally.
So if you need to watch your memory clear the tickpool from time to time by clicking the Clear Button.
Or consider adding a new GB Ram Module. 2 – 4GB Ram on your trading computer is not too much.