I have made two changes to my computer system.
The first is to remove the volume condition for a breakout. I normally want volume to be higher than its 10-day moving average on a breakout day to enter a trade. But the problem with this is that I scan for breakouts on “continuous futures”. Futures contracts expire on a particular date, so in order to make a long time series, the contracts are merged together into a “continuous future” series. This generally works fine for the price, but there is no perfect way to deal with volume, and consequently I miss some breakouts because the system thinks volume is low when in the relevant contract it is high. My solution is to scan for breakouts with no volume condition, and look at the volume manually. I have made a new page for this.
The second update concerns the range condition. A breakout in my system has to have greater range (i.e. how much it moves in a day) than the 10-day average. This misses moves in some futures markets which have daily trading limits — a market may be locked at the limit and unable to move by more than the 10-day average (the daily limits have some variation built into them, so previous moves may have been larger). My solution is to scan for a new kind of breakout, where the close of the day is the same as the high for the day and volume is below a long-term average — suggesting a market is locked at a limit. An example is shown below — cotton, with possible locked-limit breakouts shown in red. I have back-tested systems that trade these kinds of breakouts, and they generally work well. Of course, they assume it is possible to get into the market, which it may not be, even for a small trader.