Trading is about more than just picking a system and trading it. Long-term trading profits require traders to diversify, manage risk and master the mechanics of order entry and technology. In addition, if you treat trading as a business — and you should — there is the issue of taxes, which ultimately can have a significant impact on your profit or loss.
Assume you are trading several systems with a $250,000 account. Position sizing will be based on equalizing trade risk based on volatility. The problem is we might have existing positions that carry a large open profit that we anticipate we’ll give back before trade exit. If we treat that open trade profit as real equity for purposes of trade sizing, we may welcome big losses on unreasonably large trades because of the equity curve giveback of trend-following systems.
This allocation strategy is complex, but software can simplify its application. For example, if we start trading after a given date, we can’t just take each trade of each system and manually sum them. Making this work requires taking only new trades by disallowing those prior to a given date. "Time management" (below) shows some sample code that achieves this.
In this code, we size trades based on average range and big point value. We also add a parameter for a start date. Assume we started trading a channel breakout system on Jan. 2, 2011. We do not allow multiple entries in the same direction; thus, if we take all the trades, we are only testing the first n-day high or n-day low to place the trades. If we just started trading on a given date, we could take a new buy on the third or fourth breakout, which never has been tested. This creates problems because starting our trading on Jan. 2 could lead to secondary entries that have not been tested.