Regarding TraderTimm's comment about the reported 'net worth':The periods in time where it appears that the reported net worth is tracking the price of BTC simply means that the bot is holding inventory, waiting for the target price to be reached. Net worth isn't used anywhere in the GA algo, it's only reported as a visual sanity check. And as i mentioned in the original thread, as the GA constantly updates to adapt to new data, the reported 'net worth' will constantly change. The system is internally weighted (within the fitness function) to favor more recent trades. Therfore, the reported net worth should not be taken as an indicator of performance of the system over time. It's was simply a snapshot in time. Also, at no time was the complete account balance in play which further diminishes it value in calculating ROI.
Regarding HideousBeastManGuy comment: "You cannot run HFTs unless you have Fill-Or-Kill (FOK) orders."
I do have that functionality! While not officially supported in the MtGox API, it took almost no effort to implement in software. I have automatic order cancellation (buy wait), stop loss, stop age, commit to sell target and sell target prices built into my trade platform.
I am limited in two ways to meet the true definition of HFT - Latency in the MtGox API & volume/volatility. Notice that neither one of them have anything to do with my system. While it can be argued that I am not currently meeting the true definition of HFT, my system IS HFT ready. Once user keys are re enabled through the websocket, that only leaves volume/volatility as the limiting factor.
That being said, the bot currently averages 100 trades a day in a throttled state (used for debugging) with about 600 total trades.
He also said: "Also, I'm not sure I subscribe to the whole genetic algorithm being something that can be applied to markets, as it seems to me you'd have a massive hurdle in that the algorithm would want to choose the best winners on a curve-fitting basis. Perhaps he's taken measures to avoid this"Simpleton fitness functions will always curve fit. It's funny how computers do exactly what you tell them. This is why, in my original post, I talked about the difficulty in coming up with a suitable fitness function.
This is probably why 90% of people who will / or ever have tried to tackle GAs for market trading have or will give up. If you ever hear of anyone trash GAs as being limited or worthless, I'd bet money it's because they couldn't develop a suitable fitness function.
At this point I could probably write a book called 'Fitness Functions: I bet your doing it wrong' with everything I've learned.
Anyway, yeah I have taken multiple measures to avoid curve fitting. I have a power function for non linear age weighting, an exponential function for non linear trade period weighting and the latest hack is market variance detection (True Range) run through a histogram to split the GA system into variance quartiles. Simulated buy orders are now gated to the quartile linked gene being tested. Now I can optimize for multiple market conditions in parallel and switch active strategies on the fly dependent on current market conditions. There are a couple of other key optimizations I made to avoid curve fitting, but this post is getting too long.
I do however agree with this: "Writing a long-run winning bot (that is 1000+ trades at a minimum) is nearly impossible with no prior knowledge of trading, with only a few exceptions."I'm not the exception, I did have 'prior knowledge'.
http://www.reddit.com/r/Bitcoin/comments/ipr35/bots_keeping_the_price_still/c25v66k