Allow people to create their own buy/sell signals for the backtester.
Currently only "canned" buy/sell signals can be used, i.e., GLB, GLB/RT, DEW, and CC. For example, right now the HUI "Gold Bugs" index cannot be backtested because there is now way to tell the backtester to buy when the 10 day moving average on the HUI stop price moves about the 65 day HUI stop price MA, and sell when it crosses below.
Some other backtesters allow this. For example, years ago I used Omega Research's Tradestation 2000 on which any buy sell signal could be encoded by the user.
Giving people this flexibility may pose problems for your current implementation model in which all backtesting is done on your central host computer. Since you would not know in advance what people might code for buy/sell signals, you would be unable to pre-aggregate and appropriately index the fundamental and technical data which would kill the performance under the load of all your users.
To get around this problem you may need to deploy a version of the backtester that runs on each user's PC against downloaded data. That way all your central host would have to do would be to download the data, the backtesting program, and any backtest program updates.
Edgar DeSouza commented
Enhancements to the back testing system will greatly improve its functionality. A more realistic approach would also to allow for purchases and sales of equities to be slightly off the open and sale price because these are market orders and no one gets the actual prices.
Richard Hadlock commented
A BackTester parameter for Rules (down) does not permit Price crossing below its Moving Average. Most investors rely on MA crossovers as Buy/Sell signals. Why not incorporate a Moving Average crossover down into BackTester so Investors can simulate the way they really trade?
william parrish commented
This would be great, especially if you allowed a custom timing system such as cross-over of some signal like MTI (8) or MTI (2)
Dominique Vie commented
you may want to look at the "Idea" labelled:User defined timing list which suggests to allow users to import their own timing lists rather than using only the VV builtin signals lists.
This should be an easy program improvement that would bring us a very powerful tool.I am trying to promote that idea and am looking for more supporters...