Big Mike's Trading Blog

Day trading futures, discussing money management and trade management techniques, and more

The key to successful trading

First, let's establish a few of my beliefs, then we'll discuss how to use those in order to become a better trader or perhaps corrective mistakes you're currently making.

  • Most successful traders blow out their account at least once.  Many blow it out a second time, too, before they finally start making money consistently.  The rule is:  if you are still standing after 12-18 months, you've already beaten the odds and joined a pretty elite group.  They say that 95% of traders lose money, and the other 5% take all their money.
  • Most successful traders have their own method and do not follow others (rooms, groups, etc).  Why?  Even though there is much (much!) to learn from rooms and groups, even forums and blogs, you will not start to consistently make money until you have complete confidence in what you (not the group moderator) is doing.  You have to trust it, and generally that means you need to invent it so you fully understand it.  I don't mean you invent your own indicator, rather I mean you invent your own style.
  • Many high-powered executives think they can dominate in trading like they've dominated in their professional careers.  They bring lots of money to the table, and apply the same mentality and analytical thinking from their day job to the trading world.  They fail, at least initially.  (trust me here)
  • A lot of people who are "average joe's" are excellent traders.  In their former professional day jobs they were middle of the road performers, but in trading, they excel.  How is this possible?  They tend to be able to move past the analytical approach and don't get caught up in the same thinking that made the C-levels good at their day job, but bad at trading.

Five important but often ignored steps:

  1. Start with a well funded account, you'll need at least twice as much as you plan.
  2. Plan to spend all that money (I'll say "spend" rather than "lose").  Think of it as paying your tuition, and getting your masters degree in day trading.
  3. For the love of Mike, don't go to cash until you are consistently making money in sim mode.  I'm not joking!
  4. Don't try to make money.  Focus on not losing money instead, and the winners will come.  Besides, the best strategy is to live to fight another day.  And believe me, trading is like war.
  5. Slow your roll.  No need to trade 10 times a day, every day, while you are learning.  Try to pace it so you can last at least a year before blowing out your account.  You want to be able to look back and say "if I only knew then what I know now", and still have some money left to do something about it.
I've done all that, now what?

Once you fully understand what I've said above, then you should be ready to start making money.  This means you've been at this for at least a year, have spent at least a couple thousand hours in front of NinjaTrader and read a dozen books, thousands of fourm posts, and sim traded over a thousand profitable trades.

If you've done this and aren't making money, it's likely you are the problem.  Yes, you, as in -- well, you.  All hope is not lost, but you need to change your way of thinking because clearly it isn't working.  If you are one of those traders with 20 indicators on your chart, you probably need to re-think that.  Simplify.  Start with the most basic layout, strategy, and goal possible.  Then slowly -- very slowly, add to it.  If you think a 55 tick chart and scalping 2 ticks is the way to success, then change it up to a 5 minute chart and make your target at least 2 points.

The important thing is to not get caught up in something if it isn't working.  You cannot bend the market to your will.  Instead, you have to adapt to the market, and believe me, it is constantly changing.  What worked five minutes ago may not work again.  Instead of viewing that as a problem, view it as an opportunity to win -- because you know the market changes, and so many other people have yet to learn that.

Take their money!


Update on what's new

I haven't taken any trades this week.  All of my time has been spent on strategy development, which has been around the clock lately.  I do have a new strategy (shocker!) that I've been busy backtesting and optimizing.  My gosh I hate optimizing.  Hours, hours, hours... please when will NT7 come out??

This strategy is currently trading about 3 times a day, and for 2008 it produced about 25k on 1 contract on the ES.  So far 2009 it's done about 10k.   I'm still working on it, trying to get the drawdown improved a bit, and have been letting it run this week in sim mode in the live market.  Naturally, it's taken about 6 trades, all winners, for around 20 points.  All sim though... I'm sure it will produce some nice losers as soon as I go live!  Isn't that always true??

It would seem the VMA Zones indicator is quite popular, it's been downloaded a couple hundred times already (was only posted a few days ago).  I would like to enhance it some more, and have a few ideas, just not enough time.  If you missed it, you can find it in the download section.

I spent most of last night blowing away one of my servers and re-installing Ubuntu 9.04 server.  I also raised the overclock to a nice stable 3.6GHz now.  It could go further but I would rather it be 100% stable than get an extra 200 ghz out of it at 'sizzling' temps (it's a C2D E6850 running 65c under max load).

Well, back to my backtesting and optimizing!


VMA Zones

As a follow up to my last post about the VMA indicator, I created a new indicator called VMA Zones which will chart a region of the upper and lower bands on your chart.

Longs can be placed once a full bar has closed above the upper line.  Shorts can be placed once a full bar has closed below the lower line.  You can also use it to know when to exit a trade along similar lines.

You can download the indicator here:

I also created a discussion on the NinjaTrader Forums, which may have useful information.  You can check that out here:


Simple VMA strategy

Here is a simple strategy for trading the ES using the VMA indicator.

The VMA (Variable Moving Average) is also known as VIDYA or Variable Index Dynamic Average.  It's an exponential moving average that auto adjusts the smoothing weight based on the volatility of the data. 

In times of low volatility, such as when the price is trending, the period should be shorter for the inevetiable break in trend.  However, in times of more volatile non-trending bars, the period should be longer to filter out chop.

VMA uses the CMO indicator for internal volatility calculations.  You can adjust the length of both periods.

Try a setting of VMA(High, 9, 18) for longs (line color blue in example).  Setting of VMA(Low, 9, 18) for shorts (line color red in example).  Put them both on the chart.
When a bar fully closes above/below, enter the position.  For instance, if the Low of the bar is above the long line, go long.  If the High of the bar is below the short line, go short.

NinjaTrader adapting code based on past trade performance

As you know, one of my goals is to write a strategy that is self-adapting. This can be incredibly complex, but here is one easier element to implement (below).

The idea of this code snippet is simple: If past trades are working, then push for more profits. If they are not working, cut the profits back.

The above code looks at the last long. You can change it to look at as many trades as you want, and weight them differently (maybe the most recent trade has more weight).

I use a scoring system to evaluate a trade before entering it and determine profit targets, above is a small snippet. I will write more on the Score function in another post.

You'll need to either pass "direction" (ie: Score(string direction)) or modify the code somewhat. The idea is not to give a cut/paste example, but instead to give you inspiration or an idea you had not previously considered.

I hope this can improve your trading!


233 tick strategy based on Polynomial Channel and divergence

I spent most of yesterday and tonight refining the 233 tick based strategy I wrote about earlier.

I've increased the profit to 11k (1 contract, since March 15th) and cut the number of trades drastically. I've also backtested against prior contract periods with mediocre success, the variables need to be tweaked to produce the best results. This is an on-going problem --- no single solution works forever -- and is why I am developing a very complex MySQL database for my strategies to be able to adapt on their own, but that's another post!

Here are the latest results, and some screens. The white diamonds are the auto adjusting stop (my own flavor), the red diamonds are "trouble" which will cause the exit to start changing. The lower-left profit and loss box only works in real-time trades, and I just loaded this chart and it hasn't traded real time yet.

I have now given the strategy and all the code it is based on (my trend bars, CCI divergence, and my PolyRC) to a friend for some testing. We will both be using it in the live market.

I do plan to post this strategy for everyone in the hopes I will receive positive feedback that will improve it, but it will be a few more days. I have to get my trend bars ready first, and will have to adapt it to the public version of the polynomial channel indicator as well.


Polynomial Regression Channel

This is a beautiful chart demonstrating the polynomial regression channel at work. It is a 5 minute chart showing the overnight activity. There are two channels being displayed on my chart, the Degree 1 channel (straight lines) and the Degree 3 channel (curved lines).

Since I've been talking about this indicator so much, I wanted to post it. The version I use I paid to be created for me and am not sharing (sorry!), but scjohn and eDanny from the NinjaTrader forums have been very kind and made their own. This version also allows for a region to be plotted between two polynomial channels creating an overbought/oversold channel.

You can download the indicator from my server here:

You should check this NinjaTrader forum thread for any updates:


Ninja tip: Chart/indicator colors

If you're like me, you are very particular about your chart.  You want it to be "just right".

In order for my charts to be just right, I need the visual/colors to work for me.  NinjaTrader allows customization of colors, but sometimes it is not enough.

Luckily, you can choose any color across the RGB spectrum if you know the exact number.  I use Photoshop to find the color I want, then just record the RGB values, and plop those into Ninja.

When you are typing the numbers in Ninja, be sure to use commas.  So for RGB 30, 30, 30 (very dark grey), type it in "30, 30, 30" without the quotes.

Here is the Ninja indicator panel and default colors:

Here you can use Photoshop to select a new color (or your favorite other method):

And then just plug that into Ninja, and viola!

Hope this makes your charts just that much better!


New 233 tick strategy using regression channels

I've been working on a new 233 tick strategy. It is coming along, but still takes too many trades. Half of the gross profit it generates is eaten up by commissions at its present trading rate.

It does have a good risk/reward ratio of close to 1:1 for a good amount trades, with dynamic exits.

I am still not feeling great and am probably done for the day. I placed two miserable trades this morning for a loss of around 8 points (two full stops, 2 contracts, 2 points each). I haven't placed any discretionary trades since, but did allow this 233 tick strategy to trade about 6 times, it has made me back some money :)

Below are two screens from the strategy I am working on. The backtest results are since March 15th (new contract rollover), and the chart just shows the last three trades it took. It is in the market a lot, but it does not necessarily stay in the market 100% (even though the chart may look like it).


Another 9.5 on ES, but on sim...

Well I did stop trading real money after my last post, since I wasn't feeling great.  But I couldn't resist taking a couple more trades at the open when I saw some really nice setups forming.

These are in sim mode:


Can't win them all.  At least it proves I was right about the trades, even if it wasn't for real money this time.


ES +9.25

Manged to get +9.25 today before the cash session even opened, with nine trades. I am not feeling all that great (allergies) so am probably calling it a day and not pressing my luck.

Trade #3 was a real disappointment, got stopped to the tick. But, that happens, and it was my own fault for being greedy. Was caught up in the Poly Regression stuff and going for a specified target, missed it by a tick or two (can't remember) and then got stopped on a reversal.

One of my strategies also fired a long good for +5, but it wasn't taken because I was in the middle of editing things in Ninja. The price had already moved a couple points before I noticed I had missed it, and didn't feel like chasing. That is reality.


Polynomial Regression Channel

A while back I discovered this indicator and hired a programmer to do the conversion from another platform. The results are many times very accurate, but as with any indicator, it is not a holy grail by itself :)

I've been working on improving my adapted indicators for Trend, and thought I would post a couple of screen shots showing the Poly indicator and the trend indicators I am working on.

I need a few more days before I post them to the blog for download. Subscribe so you'll be informed once they hit!

Here is a 6 range chart:

Here is a 5 minute chart:

Here is a my current desktop, 5m, 6 range, 233 tick. Note how price bumps off the poly, and runs to the next level.

I would show you a shot during cash hours, but the historical plots don't work very well for the poly indicator (best real time).

There is a discussion on the NinjaTrader forums here:

The thread also includes a free ported copy of the indicator (I have not tried it). Credit goes to scjohn for the free conversion.


ES +10.50

Had a good morning, and I'm done for the day. +10.50 on the ES with 1 contract, but lost $160 on the 6E with two winners and one loser. The loser took my full "disaster stop", normally the strategy has a 1:1 win/loss on the risk/reward, but the disaster stop is higher and was hit this time.

Total of 9 trades, 89% win ratio.

I also worked a lot on a new indicator overnight, in order to help visualize what one of my most recent strategies is doing. This way I can make some discretionary trades off it. I do plan to post the indicator as soon as I work out the bugs, I've posted a sneak peak of it below.


About my trading hardware and office

In this post I thought I'd describe the hardware I use to trade with and my office. I'll describe all the software in a later post.

First, I have three systems.

System 1 - Primary trading system & desktop
  • Intel Core i7 920, overclocked @ 3.8GHz
  • 12GB memory
  • 3Ware 9690-SA hardware RAID controller w/(4) Patriot 32GB SSD's in a RAID 0 and (2) WD Black 750GB in a RAID 1
  • (3) Acer 22" monitors (1680x1050 each)
  • Windows 7 x64
System 2 - Primary server
  • Intel Q6600 Quad, stock @ 2.4GHz
  • 8GB memory
  • (2) Seagate 750GB in RAID 1
  • Headless (no monitor)
  • Windows Server 2008 x64
  • VMware Server w/multiple VM's
System 3 - Secondary server
  • Intel E6850 Dual, overclocked @ 3.5GHz
  • 8GB memory
  • (3) WD 320GB in RAID 0
  • Headless (no monitor)
  • Ubuntu Server 8.10 x64
From there, I have a redundant router from TP-Link that allows me to load balance and failover my two internet connections (DSL + Cable). This gives me the best speed, plus redundancy if one should go down. The rest of my network is either Gigabit wired (to/from my primary desktop and my servers) or Wireless (for my notebook, and other wireless devices in my house like my PS3 or Netflix Roku).

I have a nice home office. The office is approximately 360 sq ft and resides at the front of my house with five windows. It is well lit and offers plenty of room for accessories like bookshelves, file cabinets, copiers/scanners/fax machines, printers, my three computer systems, and a 61" TV (for CNBC if anything, I rarely have it on while working).

There is also plenty of room for my pets -- two labs and a short haired cat.

I am divorced, so it's mainly just me and the pets. Gives me plenty of time to focus on trading about 18 hours a day!


NinjaTrader VC.NinjaScript.Utility

This little file allows some indicators like TrendStrength, or new indicators if you write your own, to easily access multiple moving averages.

I've modified it to include a few extra moving averages:

public enum MovingAverageType

Here is a screen shot of the new TrendStrength indicator using a ZeroLagHATEMA plot.

You can download the NinjaTrader file to File -> Utilities -> Import from the link below. I've included all of these moving averages, plus an updated copy of TrendStrength that takes advantage of them.



I will soon be posting links to download indicators and strategies for NinjaTrader that I develop. I'll also make available my tick data, from the MySQL tick project, but it will be a few months.

I've added a tab at the top of the blog for "Downloads" to show these, it will work once I start adding them.

April trading results, so far

We're a little past half way in April, so I thought I would post my trade results so far this month. I actually have been trading very little lately, all my time has been going to programming and systems development.

I found it interesting that all the points I've made so far this month have only been on the short side. This shows only live trades, no sim, no replay, etc. Certainly, this is not enough to live on and I'll need to step it up a bit in the next couple of weeks.

Videos on the site

I've added a videos tab to the blog at the top of the page. I plan to make several posts embedding videos demonstrating how to make your own indicators, write your own strategies, or how to use maximize NinjaTrader's functionality.

Benchmark NinjaTrader Performance/Speed

Please help out the NinjaTrader community by collecting information on how various CPU's and systems perform with NT.

For instance, how fast is a Core i7 920 vs an E6850 Core 2 Duo? Is it worth upgrading? I am talking about strictly NinjaTrader performance, like backtesting and optimizing in particular (something I spend a lot of time doing with my strategies).

That was the question I was trying to answer with this NinjaTrader forum post. Check it out and share your results!


MySQL tick database

Finally, as of about a week ago, I have a fully functioning C# "indicator" for NinjaTrader that captures tick data including bid/ask/last/volume and shoves that over into a MySQL database.

This is something I've been wanting to do for a while. I now have a separate box that runs Ninja 24/7 and captures tick data from ES, NQ, TF, YM, ZB, FESX, FDAX, and 6E. I want to add some currency pairs as well, but I need to work out issues with Zen Fire and AMP Trading (resolution seems to be to use a GAIN account for live data feed instead of Zen).

I plan to use this massive tick database to trade better. I want to develop solutions that analyze the data and make better trading decisions based on probabilities. Many people refer to this as neural networks (NN), whereby the system adapts to the data and refines itself along the way.

I can't simply rely on built-in tools within Ninja because of massive code issues that severely limit the amount of historical tick data you can utilize. That is why I wanted to build my own database. I figure it will take weeks, possibly months, before I start to have a real solution in place to analyze the data with. But, by then, I'll have lots of data!

The database is already over 1GB in size!

I am also exploring uses for logging real-time trades into the database that my automated strategies place. This is a separate project that I am working on, whereby the automated strategy can also learn from past trades and adjust itself as it goes. There are a few threads at the Ninja forums I've started about this, here is one of them.


ECO2 based trading system

Tonight I was playing with a new indicator, ECO2 (Ergodic Oscillator 2) and my first try was kind of interesting. LOL! It traded 5,000 trades in 30 days (over 150 trades a day).

Hmm, I think I got something wrong in the code. It happens. It's late. And I was just toying around anyway.

If you are familiar with Ninja, you'll notice there are about a zillion entry/exit signals on this chart.

Wow. 48k profit. Too bad half of that will be commissions. Don't get your hopes up. This is not the holy grail. I think this is just another example of Ninja... well, being Ninja.

First Post

I've decided to start blog. You probably already noticed that.

I like to share my ideas about trading, specifically trading futures like S&P 500 (ES) using NinjaTrader and automated strategies. I am a full time day trader, I have a few other projects that keep me busy but for the most part, day trading is what I spend 8-12 hours a day investing my time in.

Like most day traders, I blew up my account a couple times and lost enough money to make most grown men weep. But there is that allure that is hard (impossible?) to overcome, and alas, here I am.

So in the future posts I'll be sharing strategies, systems, software, lots of screen shots, some C# code for NinjaTrader, and my insights. Hopefully it is helpful to your trading!