Having so far caused a long string of chaos across two threads and a blog, I figured I really ought to make a formal journal thread. For those of you who haven't seen my previous posts, you can expect a technology-heavy look at auto-trading using technical analysis.
The story so far:
I've been trying to trade by hand, on and off, for several years now. I tried spread betting for about a year, and made a decent profit for a while, but fundamentally I'm too nervous and twitchy. So, I decided to look at automated trading.
My first version was a seriously simple thing that used Stochastics to spot when the market was massively oversold/overbought. Second version used Bollinger Bands instead. Later revisions tuned the calculation of the bands, and worked on making them more statistically relevant to what I was testing for. I built a working trader against Interactive Broker's API, and set it running.
In short, that worked. In long, it requires monitoring of the market, and can easily be wrecked by a news event pushing the market outside the bounds expected by the trader. Acceptable, but not great.
The current plan involves using MACD and momentum to spot for traders getting too excited, and the market therefor likely to correct. I've been running backtests in NinjaTrader, which have been fantastically successful. For the last two weeks, I've been forward testing using Interactive Broker's paper-trading account, and that's not been so hot. As is, the code shows strange differences to using NinjaTrader to backtest, and the forward tests over the same time period. I'm so far unclear on whether the backtest or forward test is faulty.
However, the forward test results can be significantly improved if the amount of stake on each trade is tweaked depending on the success of the trades up to that point. Simply removing all trades with a stake below a certain level also improves the results noticably. Currently, I'm working on adding both of these into the auto-trader so it can do them live, rather than the current situation where they're calculated retroactively from the results.
The story so far:
I've been trying to trade by hand, on and off, for several years now. I tried spread betting for about a year, and made a decent profit for a while, but fundamentally I'm too nervous and twitchy. So, I decided to look at automated trading.
My first version was a seriously simple thing that used Stochastics to spot when the market was massively oversold/overbought. Second version used Bollinger Bands instead. Later revisions tuned the calculation of the bands, and worked on making them more statistically relevant to what I was testing for. I built a working trader against Interactive Broker's API, and set it running.
In short, that worked. In long, it requires monitoring of the market, and can easily be wrecked by a news event pushing the market outside the bounds expected by the trader. Acceptable, but not great.
The current plan involves using MACD and momentum to spot for traders getting too excited, and the market therefor likely to correct. I've been running backtests in NinjaTrader, which have been fantastically successful. For the last two weeks, I've been forward testing using Interactive Broker's paper-trading account, and that's not been so hot. As is, the code shows strange differences to using NinjaTrader to backtest, and the forward tests over the same time period. I'm so far unclear on whether the backtest or forward test is faulty.
However, the forward test results can be significantly improved if the amount of stake on each trade is tweaked depending on the success of the trades up to that point. Simply removing all trades with a stake below a certain level also improves the results noticably. Currently, I'm working on adding both of these into the auto-trader so it can do them live, rather than the current situation where they're calculated retroactively from the results.