How about a fun challenge to those who believe they can create an automated strategy that is profitable? My intention is to start a discussion where algo traders can show off their strategies and learn something in the process.
This is the first time I've posted something like this (a specific challenge/rules) so there will be things we'll need to learn and improve upon along the way. The point of the thread is collaboration: sharing ideas and concepts with each other to ultimately improve your own (automated) trading.
I'd like to make a few very simple ground rules (updated July 2014):
Your strategy must trade one of these instruments: ES, CL, NQ, YM, 6E, or GC. No other instruments allowed. This is because since these strategies have to be forwarded tested in a live market, we can't be running too many instruments or the testing gets too crazy.
Only one strategy and one instrument per trader concurrently -- this means if you submit 10 strategies, we will only take the newest one for the challenge/test. This is because we can't be running hundreds of strategies in a forward test without it getting crazy.
You must post the full source, no DLL's. The source must be complete, not just snippets. It must include any subfunctions or indicators required to function.
Acceptable formats are NinjaTrader and EasyLanguage only.
Backtests don't matter. We'll only be looking at forward tests, meaning results that occur with your strategy after you post it. For instance, if you post the strategy in January, we'll look at results for February. We don't care what it did prior to January. Forward testing only. We might discuss backtests, but they aren't part of the contest.
$50,000 starting balance. We'll forward test your strategy with a $50,000 account. You decide how many contracts to trade. This mimics the real world, where position sizing is really important. However, if your account balance receives a simulated margin call at any time during the month, your strategy is disqualified. Picking the correct position sizing approach will be very important to your success, so please choose it carefully.
Any Position Sizing must be embedded in the code. You can also simply trade 1 contract for each trade, but that may hurt your chances of winning.
You can start the month with an open trade. If you submit a swing strategy, it might be days or weeks before a new signal is generated. So, if you want to start the month with a trade your bot is currently already in, simply add code to your bot to do this (for example, "If date=July 31,2014 buy next bar at market")
All performance will be measured inclusive of standard commissions and actual (sim) slippage.
Bots must be submitted by the 25th of each month, with no changes to the bot during the contest. If you want to continue running an existing bot, just post that intention to the thread.
You can anonymously submit a bot. If you want to send in a bot anonymously, to have it run but not be eligible for prizes or recognition, send a PM to kevinkdog
Decisions of Big Mike, sam028 and kevinkdog are final in regards to rules, winners, etc.
The idea is to examine the strategies shared in the thread, then at the beginning of each month these strategies will be taken and ran on a simulated account (not backtested, but live). Their performance will be recorded.
So let's say Bob posts his strategy on January 3rd. He updates it on the 5th, and 15th. On Feb 1st we'll take his latest version, the one from Jan 15th, and run it. He'll need to tell us what instrument(s) to run it on. The strategy will need to take care of everything else.
We'll repeat this for every "Bob" who has submitted a strategy. We'll post weekly recaps of performance. At the end of the month, we'll see which strategy has performed the best, which have been disqualified, etc.
Then we can repeat the process again for the next month with new or refined strategies that were posted after the 1st of the month.