Dom's notes


Despite having been hammered for posting my sincere feedback re. ATW in the appropriate thread (or may-be, because of ...) I am starting this thread for the benefit of all waanabee traders.

I have no intent of sharing my exact trade setups, however I will share as much as I can - the good, the bad & the ugly, and if someone learn something from this then it won't have been a waste of my time.

I have been a student of the market for over 4 years now. I actually started my education with Investools PhD program (which was a lot of money for not much outcome in my case), trading stocks then options, then started to focus on the SPX (directional Calls/Puts then credit spreads), at some point I discovered the futures / ES in particular and that was a "revelation" ... 1/4pt spread vs 2pt spread for the SPX options, I was sold in no-time.

I purchased Todd Mitchell's system (TradingConcepts), which was a lot less money than Investools but no more outcome in my case, at least it triggered my interest in Fibs (back then, retracements only) and I did a lot of research / backtesting using Fibs - but at the end of the day, the real challenge resides in figuring out which fib level will "hold", and to this day I have to admit I have not solved it.

Anyway, I then spent a lot of time in a couple of "free" trading rooms
learning pure price action, the person that was offering his time teaching PA free for several months later offered a paying program, which I took, but I still couldn't make money live. I took another mentor, recommended on a free forum, and despite he being a nice guy (and why wouldn't he be when students are paying), this also was a failure.

I was about to throw the towel when I found ATW, started with the 101A education, added 3 weeks later the mentorship education, and have been studying / backtesting a lot for now a full year. I reached a point where I can "consistently" make fake-money on sim, however the transition to live trading is a real challenge for me, because of fear I pass on many trade setups and I deviate from my trade management rules.

So, that's the background. I trade CL (Crude Oil "big" contract) which is very liquid, has 1 tick spread throughout the European & US session, and is nicely volatile (day range is on average 250-350 ticks, some days even more - like today : 450 ticks). I find CL to have a lot of momentum, it shows very repetitive "patterns" (at least, for the fib user that I am).

I don't use any indicator, I trade price action using a lot of price projection techniques (best book IMO on this topic is Robert C. Miner "Dynamic Trading").

If I have one advice for new traders, it is look for another way of making a living ... but if you are truly in love with the markets, then I believe it is a must to 1) find an excellent education (this is way more than just reading books, and frankly, there is probably no one-stop education shop) and 2) find a mentor to accelerate your learning curve.

Now that this is out of the way, a brief summary of my week :

Tuesday - tried 1 trade early morning, entry hit no fill, that made me mentally sick for the rest of the day, I passed on 2 setups (both wins), the last setup I tried but my entry wasn't even close to be hit.

Wednesday - 2 setups no-fill, then 1 small winner (got out at 1/2 of my target for pseudo-good reasons - really, lack of discipline), and I passed on the last one (another wouldabe winner :( )

Thursday - passed on 5 setups (4 wins / 1 loss), took 1 small winner (1/2 target again, same lack of discipline), and missed the best setup of the day by being away for 5min

Friday - passed on 1 setup (win), no fill on next 2 setups, then I couldn't focus & called it a day.


Bottom-line - only 2 trades this week, I made ~10% of what I should have made if I had the discipline to follow my plan.

A negative week for my other system, 1 BE / 2 losses ; net -425 on the week.

I managed to finish all CRs I wanted to address on the reversal system before doing another detailed (tick-by-tick market replay) backtesting. And I just finished updating the documentation (that took me a couple days). Detailed backtesting is underway, last one took over 7 days to complete, but I have access to the detailed log so I will start checking the trades on Monday.

Have a great week-end.

Another negative week for my other system, 1 (small) win / 3 (small to mid-size) losses ; net -560 on the week.

Detailed backtesting for the reversal system still underway, I spotted & fixed a real-time bug that necessitated to re-do it from scratch. I have verified approx. 1/2 of the backtesting period, found 4 more bugs of which 3 are now fixed (I save the 4th one for next week). All of this is really a lot of work, and I am unsure at this point if it will ever pay-off ... "forward-testing" of the system on CLK12 netted -60 for 14 trades (+540 on target-1 / -600 on target-2), of course 14 trades is too small a sample to be representative, but this is certainly not what I would like to see.

A somewhat minor positive week for my other system, 3 small wins, net + 615.

Pretty good progress on the reversal system this week ... I finished reviewing the results of the detailed backtesting on Monday (worked most of the week-end on that), from there I took an extensive look at the basic system performance as a function of the Time of Day ; to make a long story short, it turns out that 97% of the basic system P&L is made from 9am to 12pm, and aside from Mondays afternoon, all other days are either BE or negative (Wednesdays & Fridays being heavily negative, Tuesday/Thursday about BE). Since the basic system performance has been degraded since August 2011, I have paid close attention to comparing performance before August / since August. Before August 2011, the P&L before 12pm was 92% ... on the period starting August, is it 135% (meaning the afternoons are net negative, with the exception of Mondays, which are positive on both periods). Anyway, just applying a ToD filter Tuesday to Friday afternoons, the P&L on the period prior to August is 99%, with a boost of P/F from 2.5 to 3.4. On the period starting August 2011, the P&L is 200%, with a boost of P/F from 1.2 to 1.7. The other advanced this week, was the creation of an "anti-chase" filter, which essentially sets an upper boundary for the reversal leg, beyond which the system stops trying to get in. Like all other aspects of the reversal pattern, this is done using "fib ratios", which makes it pretty much resilient to volatility changes. Impact on P&L is positive on both periods (prior to / since August 2011), with a greater impact since August 2011. Combined with the ToD filter, the P/F for the 1st period shoots up to 3.75 for 263 trades (P/F 2.55 for 371 trades w/o filtering), and 1.85 for 121 trades on the 2nd period (P/F 1.2 for 177 trades w/o filtering). Those filters are good, but actually do not address quite much the performance degradation on the 2nd period ... I am not done for R&D on this system!

Anyway, I decided to resume trading this system on these grounds. Did a few MonteCarlo simulations to assess max drawdown likelihood for the next 50, 100, 200 trades, using the trade distribution since August 2011. I will use a 99% confidence level for max drawdown (2.6 std-dev), which using 100 trades as references sets the max drawdown at -6,300. And given that the system is currently down -1,830 from its last equity peak, that really puts $4,500 at risk for resuming trading now (which is 7 full losses from here).

DF20 reversal system this week (from Thursday) : no trade.

I had troubles with one desktop for a few weeks - it would just hang in the POST for a couple minutes, then 1 of the 2 HDs of the RAID array would be missing ... managed a couple times to get the 2nd HD re-appear, but then it would take 3h to rebuild the array. I wasn't sure if it was one of the HDs failing or the motherboard itself, anyway I started with the easiest, ie. the HDs ... I was suspecting the 2nd HD to be failing, so that's the one I remove & replaced by a brand new one to start with. No pb on POST, then the RAID controller flagged the new HD as a suitable replacement for the missing HD, I confirmed, and once in Windows it rebuilt the array. Then I replaced the other HD, using the exact same steps - et voila, there is a brand new pair of HDs in that desktop and no software reinstall required / no data lost either. I have done a limited number of reboots so far, all went just fine, so at this point I think the problem is resolved :)

The just-repaired desktop has been working all-right throughout the week :)

The DF20 reversal system had a reasonable start to its 2nd career: 2 wins, although neither benefited from their runner. Net +580 on the week (2 contracts per trade). Interestingly (?), 1st trade went 2-ticks away from its initial stop, in a lengthy 1/2h entry pullback, and the 2nd trade (this morning) took only 1-tick of heat (just enough to get filled), reaching target-1 in only 8min (BTW, that trade was a short, on the reversal off the up-move after the low in CL at 10:49am EST ; entry 98.33 at 11:28am EST) (the point here, is that despite its name, this system also takes trend-trades, from time to time).

My other system had only 2 trades, 1 BE / 1 win ; net +720 on the week (1 contract per trade).

Not a whole lot on the R&D front ... I worked on a few more CRs for the reversal system (which I ended-up discarding all), went through a couple personal issues, and started yesterday to download/install & evaluate NinjaTrader. Got a 1st "real" indicator working around mid-night (did a couple very basic / demo ones in the afternoon), took the morning to read through all of the NinjaScript help/documentation (except Strategies, will do that a little later), next week I will go through the support forum then re-start playing with more "indicators" development. So far so good :)

I wish you all a great week-end!
Btw,thanks for the updates, DOM. Nice to see the process of what you're doing described. Glad it's in the $ positive currently!

2 trades this week for the reversal system, back to back (Long then Short) in 1/2h ... net +660 for the week (Long was tiny win +60, Short a decent one +600).

4 trades for my other system, 2 wins / 2 losses ; net +660 for the week (funny, exact same P&L ?!)

Some nice progress & some struggles with NinjaTrader ... It took me 2 days to implement my other system in Ninja, and since I verified the trades with those generated by Ensign I am pretty confident I did it right. I downloaded as much history as I could through IQfeed (a little less than 4 years of minute data, from mid-July 2008), and since my other system uses minute-charts, I had all that I needed in the short term. It is actually very nice to get backtesting results in about 1min for almost 4 years of backtesting! And I really appreciate the detailed trade history, as well as the possibility to go directly to the chart for any trade in just 1 click.

Now for the struggles ... I already found 2 bugs in Ninja, 1 of which is (per Ninja Support) intended behavior (that's BS imo), the other one is related to the "key" feature of NT7 - memory management, you would think they have done a lot of testing in that area, I am sure they did and a few people need to get fired. The support through the support forum is a pain, the guys on the other end don't read my posts past the 1st sentence I think, either responding with some standard basic info or asking for more info. I have found that experience very frustrating.

I am going to purchase some historical data for CL from disktrading ... their tick-data actually lacks the "second" information in the timestamps, so don't expect to get any second-based chart to work on it, but for basic ticks-chart or volume-chart that can do. It should be mostly good enough for my reversal system, it is volume-chart based and I use mostly hhmm timestamp information (a couple things currently work of hhmmss though, one of which will need to be done just differently for backtesting purpose).

Last, I am currently doing a tiny utility to extract my tick-data from Ensign into a text format that can be imported in Ninja, once this is done I will be able to do any backtest on Ninja on the exact same data I have in Ensign, that should really help.

There are a number of things I must do next week before starting to work on the reversal system in Ninja, one is to look at debug using Visual Studio (the Express version is unsupported - of course, it's free), however someone found a way to make it work and posted it on the Ninja Support forum. The other thing is to get a better understanding of how things work when mixing Indicators/Strategy working on Bar Close only with others working on a tick-by-tick basis.

Back to work now (I know, it's Saturday :)

No trade for the reversal system this week - only a few setups missed by a few ticks (of which, at least one would have been a loss).

Not a good week for my other system, 1 win / 3 losses (including 1 max loss) ; net -670 on the week.

I completed the extraction of my tick data from Ensign & fed NinjaTrader with that. I also (finally) completed that purchase of CL historical data from disktrading. I am planning on comparing that data to what I have collected through IQfeed (almost 5 years for minute data & about 2 years of reliable tick-data), as a way to gauge the quality of that disktrading data.

A busy week with NinjaTrader, most of which lost in frustrations ... after numerous exchanges with Ninja Support, it turns out that some of the things I was attempting to do exceed the current capabilities of NinjaTrader, in my opinion bugs, in their opinion beyond design intent, anyway with no plan for short-term fixes - just "feature requests" for the next major release - or the following one - or never. A couple of these issues were totally unknown by Ninja Support. The good news is they provided me with reasonable workaround ideas, so I am not totally stuck & decided to keep working on this evaluation (by Wednesday evening, in despair, I had downloaded the MultiChart User Guide).

I spent a day and a half on porting the Pivots subsystem from Ensign to Ninja, it isn't quite finished yet but is already giving healthy signs of life (mostly requires a lot more testing). Performance is actually very reasonable, a couple seconds to run on a 1-month long 100-volume chart (the complete system requires about 1min for the same amount of data in Ensign).

I started using VSee this week as a replacement for Skype, which has lost its free screen-sharing capability (now needs to pay Skype Premium for that). Vsee not only provides free video-conference capabilities, it also brings a brilliant collaborative work environment, I had a very fun & productive session with one of my trading acquaintances this week. I can only highly recommend it!

That's it for today, have a great week-end all
2 small wins for the reversal system this week, net +450.

3 losses for my other system, net -735. It just had 6 losing trades in a row, which is very close to its worst losing streak in almost 4 years (7 losses in a row), but this is just anecdotal. Current drawdown is -2100, nothing to worry about - yet (max DD on those almost 4 years was ~ -7500, max DD last year ~ -4500).

I worked only on porting the reversal system in Ninja for the week, and I have to admit it is going slowly to my taste. I just finished porting & testing the reversal pattern & trend-change subsystem, which amounts to about 1,000 lines of C#, which are in addition to the pivots subsystem (about 700 lines) (not counting Ninja generated lines, nor variables declarations, nor initializations, nor chart drawing - just the good stuff). I have done a visual - by bar bar - inspection / comparison between Ensign & Ninja on the entire CLM12 contract (~ 43,000 bars on 100-volume chart), and I think I have it close to 100% correct. (I will attach a screenshot when I can)
Working using a 40,000 bars chart for immediate testing turned out pretty well, there were a couple of times where the time to reload the strategy went noticeably higher than it normally is (now about 6 to 8 seconds), that immediately triggered me to optimize whatever I had just written.

I think I am taking a break this week-end, will be back at it Monday, this time I will be porting the reversal setup (basic + extensions) & filters. I will keep trade management for the last step, probably the following week.

Have a great week-end!


Click image for original size
ninja reversal wip 25 may 2012

I'll start with my other system, to get this out of the way ... 1 tiny win / 2 max losses ; net -1935. That doubles the current drawdown in just 2 trades :(

1 lucky fill for a small win (+160) & 2 mostly BE trades (-30 / +90) for the reversal system this week.

I made more progress on the reversal system in NinjaTrader this week than I anticipated! By Wednesday 10pm, I had finished porting all of the system, and the 1st backtesting of it was giving about 90% of the "official" (Ensign-based) performance. The last couple days of the week were mostly a trade by trade comparison with Ensign, so far I have reviewed far 15 months (out of 30), and fixed about 20 errors. At some point I had to optimize the Pivots indicator for cpu-performance, and as it stands now a complete backtesting on the main timeframe only (100-vol) takes about 4min30sec, vs about 2min30sec for an "empty" strategy (I can only guess that most of those 2min30 is spent reading the historical database & building the timeframe-specific bars). I was surprised to see that the Default Fill strategy doesn't always add the required slippage, fortunately it was pretty easy to customize it so that slippage on stops (& market orders, which I don't use) is systematic (aside from being a reasonable thing to do, it also helps spotting any tiny difference with the original system in Ensign).

A quick look at the files length shows a total of 4700 lines for the system at this point (including comments & empty lines), aside from further bug fixes I still need to do the coding for the 2nd timeframe (I will use 1-sec), which essentially will only be used for real-time order spacing (beyond the initial entry order, every order update is "spaced" from the last update sent by typically 3 seconds).

At this point, I have to say I like most of what I see in NinjaTrader ... aside from a few major limitations which by chance all seem to have workable workarounds, the main drawback (vs Ensign DYOs) is in the debugging area - even using Visual C# for debugging. Ensign allows to instantly read and/or display on the chart the result-value of any line (DYOs), and by moving the mouse over different bars you get to read those results-values for any different bar. There is no equivalent in NinjaTrader/Visual C#, no way to read past values of anything unless these values are displayed like an indicator output - doable of course, but much time consuming as the code has to be instrumented for the purpose of debugging, compiled, re-run, etc.

Back to work ...
Dom that equity curve looks too good to be true so I'd be scared but hope it trades like that in real time....what became of your trading contest...? how did Chuck Huges do ? He wants me to spend almost 4 k on options recomendations