Buy vs build
The way I like to write code is to make it as painless as possible today, while pushing off potential pain into the future. The simple reason for this is that I cannot predict the future on most new software projects with any reasonable amount of certainty. However, I made a mistake early on in this project where a core data structure had an additional level of indirection that proved to be unnecessary (edit: and actually was always unnecessary). This became evident when I was recording quotes and I had the choice of either continuing with the pain, or removing it altogether.
I decided to remove it. While in the end, the solution to removing it was about 1500 lines of changes, the core change was ~ 10 lines. Figuring out those 10 lines took all afternoon, where in the meantime I had paused the quote collection. D'oh. It's back on now.
In the end, the code is much cleaner, and the language of solving problems is much more efficient without the additional indirection.
30 million dollars
I did the calculation with support, and in order for me to be able to have the appropriate # of reqTickByTick, I would need to have 3000 data lines which (I believe) roughly translates to 30 million dollars in equity. Sadly, I am nowhere close to that amount. I would need to marry and then divorce
@sle to get that amount. Alternatively, I can generate $20K in commissions. Also not there yet.
Progress
I had expected to get backtest/forward test persistence worked out by this time but unfortunately, dealing with the volume issue took longer than I expected. I did manage to finish half of it, where the account balance is stored/updated but I still need to save trades. In the future, I would remove the account balance and create the concept of "transactions" where the first "transaction" would be a deposit. But that isn't helpful yet, so I'll just leave it as is.
Another issue I have at the moment with back testing is even if I save the trades/account balance, I lose the current backtest state. This means I have to do the entire backtest at one sitting. Not a problem yet, but likely will be at some point in the future.
Main focus now is nailing the backtest/forward test trade persistence and reporting once I implement sweeping the quotes table to estimate volume.