When You’re Off the Map…

Here’s a question we get asked a lot:

So what do you do when [instrument XYZ] is at prices not seen in a long time?

Or, like if you’re an ES or YM trader, when we are making and then breaking out of all-time highs? Personally, as a volume (and time) profiler, I think this can be one of the toughest times to be trading. You have only vague landmarks with which to navigate. Or maybe, like today in the ES, none at all. But there are ways to approach solving this conundrum and I thought some of you might be interested a few ideas.

None of this is going to be Earth-shattering but maybe it sparks something that in turn pops you out of your particular trading pothole. And, to wit, here are my favorite ideas – in no particular order:

  • Trade something else. Diversify your playbook. Become adept at trading more than one instrument class for just such occasions  While the ES is certainly my main trading squeeze, I like to make a “booty call” to oil too. When the mood strikes or circumstances dictate. ;-} In the ES I am a reversion trader primarily. This means I am looking for retests of known (to me) previously important prices, and I trade back to value.  When the the ES is hell-bent on seeking new value in unfamiliar territory I usually look elsewhere for my daily bread. For me, elsewhere is oil (the CL). Oil has been stuck in a $10 range for months now, giving lots and lots of opportunity for back-to-value kinds of trades.

[one_half first]


ES – Megatrend Day




CL – Range Bound for Months



  • Don’t trade at all. Maybe today was a good example, what with the Fed’s accidental early release, and the surprising (to me) strength of the trend day. It didn’t retrace and it just wouldn’t quit. Sometimes these kinds of situations are hard to understand (and frustrating as hell) in the moment, and can only be understood in calm hindsight. So if you find your expectations and game plan way off from reality – just call it a day. Go do something else you enjoy and look at the scenario again later. The sun will rise and the market will be here tomorrow too. Realize that when you find yourself confused and not really understanding and accepting what you’re seeing you open yourself up to revenge (if you had a loss already) and impulse trades (fear of missing out). Needless to say, but I’ll say it anyway, these trades are death to your equity curve.
  • Expand your technical repitoire. To diehard profilers this may be anathema – but you can use things other than profiling to understand what you’re seeing on the chart. What about Fibonacci extensions? How about plain ‘ol statistical ranges to estimate how wide the next day’s range might be? Or, maybe this – one my all-time favorite techniques – the measured move. Many of you have heard me talk about them in the webinars or seen my tweets about them (when I used to tweet during market hours a lot). They are dead-simple and that’s why I love using them intraday and on larger time frames. All they are is a way to measure the possible “destination” of a current rotation/swing or larger move.  I know I know. It seems too simple to be useful, right? Well… try it yourself. Here’s what to do:
    • Cue up your charting platform’s line drawing tool
    • Find a swing
    • Draw a line from the low to the high (or vice versa)
    • Copy it
    • Paste it onto the bottom of the next pullback to “predict” the extent of the next leg. HINT: in the ES, larger rotations happen (generally) in 2 segments, and sometimes 3 equal-length segments.

ES – Measured Up-Move from April 9 RTH

So there it is. Certainly not an exhaustive list of all things you might do, but as I said, maybe it’ll spark something new for you. Once thing most certainly leads to another in this life.

Trade ’em well this week…

P.S. I have never seen the TV show called Off the Map, but I doubt it will be of any help to your trading. Just sayin’.

Market Study Bootcamp: Part 3 – Creating Histograms in Excel


[box style=”rounded”]Warning: some basic statistics concepts ahead. If you have not had any coffee yet today, don’t read on until you have had some. ;-}[/box]


If you’ve been following along with this series, as well as the reading the market studies generally, you’ll know that one of ways I use to examine data is via the histogram. To the analytically bent, histograms – also called bar charts – are beautiful things. They are scary simple, and show the distribution of values in a set of data.

If you’re a volume or TPO profiler, you look at histograms every day, only maybe you didn’t realize it. Profiles themselves are either time or volume histograms, only they are rotated 90 degrees and displayed vertically. Other than that, they are the same.

Why are histograms so powerful? Because they show so clearly show us frequency. Frequency, or how often a certain value appears in a set of data is essentially, conceptually, the same as probability. In other words if we have a set of, say, 10 whole numbers and the number 5 appears 9 times in that set, we can say that the probability of the number 5 appearing in our set of data is 90%.

This can have predictive value as well, assuming our sample is representative of the whole set of possible values. While a sample size of 10 is far too small to have reliable predictive value (unless the total number of possible data points is about 10) and there are mathematical tests for the reliability of a probability calculation, suffice to say the larger your sample size the more reliable the predictive value.

One last example… say the largest possible size of  your set of data is 1000 numbers and say your sample contains 900 randomly selected numbers from that set of 1000. Let’s say further that the number 5 occurs in your sample 800 times. This means that the frequency of the value 5 is 800, and also that the probability of the number 5 occurring in your universe of data is 88%, which is pretty high. 88% is calculated frequency/sample size or .88 = 800/900. And since your sample included  90% of the all possible values (900 out of 1000), the predictive value is of this 88% is quite high. As traders, we live in a world of non-absolutes. We live and breathe a future without certainty. Our universe contains only likely or probable outcomes. And that is why performing this kind of analysis is so important.


Now that the, er, probability that you’ve had enough of this background mumbo-jumbo is pretty high, let’s move on to the meat of the matter. That is how to actually create one of these beasties in Microsoft Excel®. You can use other tools, of course, but Excel’s ubiquity makes it the one we’ll choose today.

Step 1 – Install the Data Analysis Toolpak

Install the Excel Data Analysis Toolpak if you do not have in installed already. Instructions from Microsoft on how that’s done are here. Go ahead and have a look. No worries, we’ll wait. Back so soon? OK, let’s continue.


Step 2 – Sample Your Data

Before we can create the histogram, we need some data. In this case, we’ll just use our example above. We’ll create a set of 10 whole numbers. To do this, fire up Excel, create a new worksheet. In column A, type the first 10 whole numbers that pop into your head. Your worksheet should look something like this:

Step 2 - Data Sample

Step 2 – Data Sample

Step 3 – Create a Bin

A histogram needs 2 things as input. First, it needs a set of values to plot (the actual data). But it also needs to know the range of values contained in the data, which is called a bin. The way to create a bin is to find the minimum and maximum values in your set of data. You can do that as follows:

  • Click on the header for column A
  • Click the Data item on the Excel ribbon
  • Click the Filter button

Afterward a small arrow will appear on the column header, and this allows us to sort and filter the data in our worksheet by the values in that column:

Step 3 - Filtering the Data

Step 3 – Filtering the Data

Now click on the small arrow in column A and then click the menu item that says “Sort Smallest to Largest.” Afterward, we can see that the top row is the smallest value in our data set and the bottom value is our largest. This range – 1 to 12 – will be our bin. So head over the column G and type in the number 1 as that is our smallest value, then type 2, and 3 in the rows just below 1 (still in column G). Then:

  • Highlight the cells containing 1, 2 and 3
  • Click the small + sign in the lower right corner of the highlighted cells and drag it downward until we reach the number 12, as shown below

[one_half first]

Step 3a - Binning

Step 3a – Binning



Step 3a - Binning

Step 3a – Binning



Step 4 – Create the Histogram

We’re almost home free now. So let’s finish this one up (everything shown below):

  • Click the Data Analysis button on the ribbon. It will probably be all the way on the right of the Data tab
  • Select Histogram from the list, then click OK.
  • Select the values in column A as the Input Range and the values in column G as the Bin Range
  • Click the Chart Output checkbox and Excel will automatically create a new chart graphic for us in addition to the histogram data (shown below)
  • Click OK to generate, and the output will appear on a new worksheet

Step 4a - Histogram

Step 4b - Histogram

Step 4c - Histogram

Step 4c – Histogram


That’s it!

Now that your data visualization is complete, it’s on to interpretation. But that task, amigos, is up to you. Until next time…. trade ’em well.

Rollover is Coming… Are You Ready?


[box style=”rounded”]

[iconbox title=”Updated: It’s all in the details” icon=”process-stop.png”]If you’re a continuous contract user, what needs to be done at rollover is a perennial source of confusion. So it’s critical to know which type of continuous contract you are using – provider adjusted or not provider adjusted.

It could be either depending on how you have your account connection set up. But you only need to take the steps below if you are using a continuous contract that is back-adjusted by your provider. If you’re using a dated contract or a non-adjusted continuous contract, there’s nothing to see here. Just go ahead and keep right on truckin’. ;-}

Want to know how to configure your connection for provider back-adjustment? Click the link in the first paragraph below.[/iconbox]



If you trade futures you probably already know about contract rollovers. But if you use a back-adjusted continuous contract (it will end in ##-## instead of a date) did you know you need to take one extra step after the close on rollover day?

What is that extra step? You need to delete all your stored data and refresh it using Ninja’s Historical Data Manager. Why? Because the new adjusted price affects all previous prices for all previous contracts.

Sound scary? It’s really not.

Here’s how to do it:

  1. Disconnect from your data provider
  2. In the Ninja Control Center, click Tools > Historical Data Manager…
  3. Click the Edit tab
  4. Find your contract in the list, then right-click on the symbol
  5. Click Delete
  6. Reconnect to your data provider
Historical Data Manager - Continuous Contract Data Delete

Historical Data Manager

That’s it! You’re data is now fresh, clean, correctly adjusted and you can continue on your merry trading way.

Are You, Uh, Back-Adjusted?

Hola, amigos. Getting over my jet lag here…. slowly.

Hope this week is going well for you. The broader markets had a wee character change over the last few sessions, so stay nimble. Though today looks like a plodding inside day. But earnings season is here, earthquakes are quaking and rockets are launchingUse stops! OK, done with the public service announcements for today. ;-}

One of our members thought it might be a good idea to post something in the Rancho FAQs about not forgetting to check the box to use back-adjusted data if you use a continuous contract symbol to drive your charts. If you’re using a symbol that has ##-## in it instead of a date, this is you.

Why use the continuous contract? Mostly it is for convenience. When you use the continuous contract, you don’t have to keep switching out the contract symbols on every rollover. This happens quarterly for the index futures, but monthly for most other futures. The continuous contract symbol always pulls the current (a.k.a. front month) contract prices, and it does so automatically. After the session close on the rollover date, the new contract prices are fed to you automatically, and historical prices are gap-adjusted from that point on. No muss. No fuss. No messy applicator brush.

There are really 3 things to keep in mind about continuous contracts vs. the dated contracts. You’ll need to do a little investigation with your data provider if you’re not sure about any of these three points:

  1. Make sure your provider supports a continuous contract for your instrument, and make sure it’s also back-adjusted. Continuous contracts are a feature of some data feeds, but not all. Also, make sure your provider back-adjusts the prices. We’ve had reports that at least one very popular provider – CGQ – does not back-adjust their continuous contract symbols. Don’t guess about this… just ask your provider if you’re not sure. If you use the dated contract, and you have your merge policy set right (leave the default values), Ninja can merge the various dated contracts into a contiguous series of bars.
  2. Make sure you’ve told your connection in Ninja to pull back-adjusted prices from the data feed.You can do this by making sure the option is checked in your Ninja account connection properties. Here are a couple examples from IQFeed and Kinetick, respectively:[one_half first]
    IQFeed Back Adjusted
    Kinetick Back Adjusted
    [/one_half]If your connection does not have this option, the most likely reason is that your provider does not have a continuous contract, does not back adjust it, or both.
  3. Add the ##-## symbol to your instrument list, then use it in place of the dated contract on your charts.You can add the continuous contract to the default instrument list like so:Continuous Contract - Instrument Manager

That’s pretty much it. Want more info? For more bedtime reading on handling rollovers in NinjaTrader, have a look here. And for specifics on setting up individual data feed connections, you might find the NinjaTrader Connection Guides helpful, and then be sure to check out the other posts in this category too.

Trade ’em well…


Yep, It’s Still All About the Data

This horse just never seems to die, no matter how many times it gets kicked.

As many of you know, when it comes to evaluating buying and selling pressure (aka volume deltas), I am a die-hard up/downtick kind of guy. I really don’t use the bid and ask at all.

I’ve gone on ad nauseum on the rationale behind this, especially in the early posts of the price vs volume series. Well I was poking around the Ninja support forums a while ago looking for something completely unrelated when I ran across this quote from ZenFire, posted by Ray from NinjaTrader, which reiterates what I’ve been going on about for oh-so-long.

In my opinion, it’s a less than stellar idea for someone with a retail data feed to rely on the bid and ask for evaluating buy and sell pressure. Why? Because the bid, ask and last are actually separate, asynchronous feeds. Many traders assume these three (bid, ask & last) components are all synchronized and are therefore “reliable.”

They are reliable, but certainly not synchronized.

The bid and ask components of the stream can – depending on how your feed is connected near/at the exchange – lag in times of heavy trading in order to make room for the actual trades (or “last” as it’s called). Again, from ZenFire quoted by Ray:

There are different connect points that may throttle the update of the bid/ask in order to make room for all the trade updates. For colocated machines and in special cases we may give a trader direct connect points knowing they won’t buffer and get behind. Internet users can’t typically keep up and their last trade price becomes stale if they try to pull in the market depth updates. With little importance being placed on the market depth and focus on the last trade, more users can keep up with volatile conditions.

The actual thread is here if you want to read it.

By the way, this is not a ZenFire issue. No Internet-streamed retail data feed consumer is colocated (meaning your trading machine is physically at the exchange) and therefore might will at times suffer lag in market depth. This is just how the whole system is designed. When needed it tries to ensure timely reporting of the last component of the feed by throttling, buffering or filtering of the bid & ask components (market depth). If you understand this, it can be a strength and you can use it to your advantage. Or at least allow it disadvantage you as little as possible.

The fundamental issue is that you’ll never know for sure how much lag you’re experiencing (or not experiencing) without a deeply technical investigation. You simply won’t be able to tell just by watching. And it may be pretty darn hard to know for sure which “connect point” your particular feed has been given – or get a definitive answer from your data provider on this subject. Not trying to assassinate any data feed characters here. Just saying there are known unknowns and they should be respected.

Trade ’em accordingly (and well) this week, amigos…

It’s All About the Data

One of the things I am asked most often is “which data feeds work with the Acme suite?” It’s both a tough and an easy one to answer. Really, any feed supported by Ninjatrader that has price and volume data will do. That’s the easy answer.

However, they are not all created equal. Without addressing detailed questions about reliability – I have only anecdotal experience with many of the feeds listed below – let me list the feeds I now know Rancho Dinero/Acme members to be using, in no particluar order:

  • IQFeed: Works well, extremely fast and accurate. Massive number of calculated market internals symbols. This is important if you’d like to use the Acme Market Internals pack. Months of historical tick data, years historical of minute data available.
  • Kinetick: Widely rumored to be IQFeed’s data only under the NinjaTrader brand. Essentially the same characteristics and features as IQFeed.
  • Zen-Fire/Rithmic: Very popular feed, only available (I think) with an associated brokerage account. Consistently fast and accurate, only they do not offer any market internals symbols and only the current day’s historical tick data. So you’d probably need an additional end-of-day service for historical data, such as DTNMA or Kinetick’s.
  • CQG: Also very popular, fast and accurate. I don’t believe they offer market internals in they base packages, but they are available. Many members have reported adding them on. Not sure about how much historical tick and minute data are available. Perhaps someone will chime in with this info in below.
  • Interactive Brokers: While the IB feed is super-fast, its volume data is sampled and compressed and thus not appropriate for volume analysis as it will produce inaccurate results. Even though the price is right… the data is, er, not. At least not for Acme’s purposes.

As time goes on I expect to add to this list. And if I missed one, or if I’ve missed some important aspect above, please let me know. And certainly, if you have personal experience with any of these feeds and have something to say, especially regarding quality and reliability, feel free to leave a comment.

Got Noise?

[dropcap1]F[/dropcap1]orgot to mention that there are a couple of good resources for audio alerts that I use often.

  • The first one is freesound.org. If you are looking for a bang, clack, whistle, bell, gong, horse whinny or, well, whatever… you’ll probably find it here.
  • The other one I use  is AT&T’s Lab’s Natural Voices. This is where the voices in the AVP alerts came from. You can make your own by entering text, and then it turns that text into a sound file. Lots of voice and even accent choices.

Know of other good ones? Feel free to leave a description and link in the comments below. Trade ’em well…

NinjaTrader Tips and Tricks, Part Four

[dropcap1]I[/dropcap1] haven’t done one of these posts in a while, so here goes.

Ever wonder why NinjaTrader writes all that stuff all over your charts when you place an indicator on it? You’ve probably already figured out that it’s the name and all the parameters you have set for each indicator, listed out sequentially. But have you figured out how to get rid of all that yet?

I don’t know about you, but it looks like useless scrawl to me. See below:

Thankfully, there is a really easy way do away with it. All you have to do is delete the contents of the Label property for each indicator you want to “de-scrawl.”  The Label property is under the Visual section, show here:

Once you’ve done that, click OK, save your template and enjoy a scrawl-free chart. And folks, I sure do like me a clean chart:

Chart - Scrawl Free

Trade ’em well…

Acme Updates plus a Tip for Contract Rollover Levels

Folks, I’ve updated 3 of the packs today with some minor fixes and functional additions. Read all about it:

Acme Volume Profile Pack 3.0.12 – Standard and Deluxe Editions

  • Fix: Acme Volume Micro-Composites were previously anchored to midnight on the “Attach To” date. MCs are now anchored to the end of the session for your chart’s session template for the attach-to date you specified. For example, If you choose ETH instead of RTH for your chart, your exact MC attachment times will be different though the anchor date is the same.
  • Feature: You can specify the line width, opacity and style for your Acme Volume Profile session levels. These include the IBH, IBL, Open, ONH, ONL, etc.

Grab it here.

Acme Volume Breakdown Pack 3.0.3 – Standard and Deluxe Editions

  • Fix: Under certain circumstances and bar types/period combinations when there is a mix of live and historical data on a chart, the Acme Volume Breakdown would show the historical-based breakdown shifted one bar to the left in relation to the price bars. This behavior is due to differences in where NinjaTrader says to plot historical vs real-time data on the chart. This behavior could be seen, for example, when a chart was refreshed in the middle of a 5-minute bar when pulling live data. Part of that bar is historical, part is live. No need to fret – real-time data was always plotted in the correct location in relation to price.
  • The AVB now detects and deals with this situation so all data, live and historical, is plotted in the correct location even when a chart is refreshed mid-bar and therefore is comprised of a mix of live and historical data. It will highlight the “seam” created in this situation if you choose, there is a visual example in the FAQs. Simply change the “Color – Overlap Detection” to something other than Transparent.

Acme Volume Impression Pack 3.0.4 – Deluxe Edition

  • Feature: For advanced users you can now select between bid/ask and up/downtick evaluation strategies. Note that if you choose bid/ask you will only see “0 x 0” at each bar level for historical data.
  • Feature: You can now select the minimum font size for the bar-level breakdowns in addition to the maximum font size.
  • Fix: If you attempted to use the Volume Impression Pack on an instrument with a tick size smaller than .01 – such as some FX futures, interest rate swaps, etc – the bar breakdowns would be not visible or be misplaced. This was due to a floating-point rounding issue. The VIP now uses a different method for dealing with very small floating point numbers.
  • NOTE: There still may be a stray bar-level breakdown drawn onto the chart on occasion if you trade an instrument with a tick size of .0001 or less. This is because, believe it or not, computers are kind of bad at very, very small decimal numbers. Unless you handle them in a very specific way, they lose precision as you pass them around kind of like how a photocopy loses resolution each time you pass it through the copy machine. If push comes to shove, I can change the way the VIP deals with teeny-tiny size ticks from the fast-but-looser way to the slower-but-precise way.

Grab it here.

Awesome Acme Tip of the Day

One astute RD/Acme member, Jim, suggested a great idea for dealing with the rollover days in your Acme Trade Planning bands file. His suggestion was to open/import the file into Excel, apply the rollover offset for your instrument to all prices at once then save the file. Reload your chart and you’re ready to trade.

Thanks Again

Once again amigos, your support for this project has blown my expectations clean out of the water.

Trade ’em well…

NinjaTrader Tips & Tricks, Part Three

Again In the spirit of bringing to light some of the more useful but obscure bits of NinjaTrader, this time I’ll show you how to work with indicators not just on the X and Y axes, but on the Z axis too. If you’re not sure, the Z axis is the simply front-to-back dimension.

I’ll bet most people don’t realize that NinjaTrader 7 renders everything on your charts in separate layers, and that you can move bars and plot lines between those layers. Want to see how?

Well, for example, if you have any charts where your bars or plots are over the top of something:

NinjaTrader - Bars in Frontbut you wish they were behind that same something, you can make that happen pretty easily. But it is a little bit fussy. You have to click on the bars until you see some small squares appear over the bars. If you don’t get it on the first try, click again a little to the left or right.

Once you see the squares on the bars, then press the Shift key on your keyboard. You’ll see a small hint appear which reads Level [X] of [X]. It should look something like this:

NinjaTrader - Bars Highlighted and SelectedOnce you see the level hint, scroll the wheel on your mouse to move the bars between the levels. Lift up on the Shift key when you find the level you want, and you’re done:

NinjaTrader - Bars Behind IndicatorEasy as that.

Until next time, trade ’em well…

Note: If you missed any of the previous installments you can find them here.