“Initial Balance” Rotation Strategy: Part 1 – Concept

Posted in CBOT Market Profile®, RTL by astoeckley on December 30, 2010

Over the next few weeks, we are going to demonstrate how you can chart, signal, and backtest a simple but popular trading strategy based on the “Initial Balance” levels made famous by Market Profile charts. Today we look at the concept itself. Check back with this blog regularly to see the additional installments in this series.

Concept

All trading systems must begin with a concept, or expectation of market behavior. Without a solid idea for a trading methodology, you can’t easily build trading signals and create backtests to determine historical profitability.

Except for trending days, when price tends to move consistently in one solid direction for the course of the entire day, the market usually “rotates” on most days by reversing at price extremes. Traders who accurately predict where these reversals occur can be quite successful. One way to estimate where rotational extremes may appear is by looking at levels created by the Initial Balance.

Market Profile traders are familiar with Initial Balance (IB) levels on their charts. The IB is most commonly defined as the range of prices during the first hour of trading. From this range we get additional price levels that could hold as reversal points on any given day. Some common price extremes are the Double IB High and Low. These are simply the full range of the IB extended above and below the High and Low of the IB to get the 200% IB High and 200% IB Low.

For example, if the Low of the first hour was 1200, and the High was 1210, the IB is a 10-point range. Add this range size to the IB High and IB Low and you get 1220 for the 200% High, and 1190 for the 200% IB Low. (150% IB extensions would be halfway between the IB and the 200% IB levels.)

By default, the Market Profile charts in MarketDelta automatically chart these levels:

Notice how the market came close the 200% IB Low and then reversed, or “rotated,” back up towards the center of the distribution. This is part of the idea behind Market Profile methodology. You may hear traders talk about “reversion to the mean” or a “return to value.” This is often the mechanism behind reversals at price extremes, such as the Double IB High or Low.

Look at these examples as well:

Though you could create signals and backtests for both 150% and 200% IB levels, or any other level you choose, we will start with the 200% in our tutorials.

The goal of this blog series is to ask the questions: How often can we reasonably assume that a 200% IB extension will hold? How many points away from this IB level is optimal for taking a trade entry? How profitable would I have been if I only traded 200% IB reversals for the last several months? What’s the best stop to have for this trading strategy? How long should I hold a trade to maximize my profit potential?

All these questions can be answered within MarketDelta using the Professional Complete version of the software, which allows you to build custom RTL algorithms to enhance your trading.

Stay tuned for our next installment, in which we build a custom RTL indicator to see these levels on a multi-pane chart, such as a bar or candlestick chart. This is the first step in generating an accurate RTL system for this concept. We hope that through these tutorials you will see how relatively straightforward RTL programming can be.

Custom Sessions and Viewing Historical Opening Ranges

Posted in CBOT Market Profile®, RTL, User Tips by astoeckley on December 21, 2010

This week, a user asked how to best view and study historical opening ranges.

Market Profile users, in particular, are used to seeing the Opening Range on every profile chart. The opening range’s duration may be customized, but it often refers to just the first minute of trading of the RTH session that starts at 8:30 am Central Time.

Some traders place great emphasis on the opening range, and devise trade setups around it. Since the first 30 minutes of the session is often the most active, highest-volume part of the day, it makes sense to gain insight into these first moments of the session.

If you wish to analyze opening ranges for the past several months, you would simply build a 1-minute multi-pane chart that starts at 8:30 am each day, and set the Period to “Last 200 days” or whatever you wish. Then you could scroll through the price history and observe the beginning of each day.

But if you want to really focus in on just the first minute, there is a more elegant solution that benefits those looking to study just these first few minutes: Create a custom session.

Visit the Setup menu > Preferences > Sessions. Click “New” and type a name for the new session you are creating, such as “Opening Range.” After you press OK, you are presented with a normal Session settings screen, which you can modify as follows:

A few points about this:

  1. This example is for Eastern Time zone; you can adjust accordingly
  2. “Post Time” should be unchecked for this purpose
  3. Don’t forget to change the “pm” to “am” for the “Stop Time” — easily overlooked
  4. The Stop Time can be set to anything you want; in this case, it lets us view the first minute, the opening range, and the following few minutes as well.

After you press OK, you can apply this session setting, and other necessary settings, to any chart, by right-clicking the chart and choosing Preferences > Chart:

To see the opening range, it should be a 1-minute chart, noted at the top under Periodicity, set to “Last 100 days” if you wish to see a few months’ worth of opening ranges. The session is set to your new session. After you press OK, you will see:

The first 5 minutes of every trading day.

Need more granularity?

The example above is easy to setup, and you can easily view several months, hundreds of days of opening ranges in this way, since all it requires is minute data.

But if you download Tick data, you can really see what is happening during the opening range by choosing bars based on seconds, not minutes. For example, a 10-second setting will divide the opening range into 6 bars.

To change the Periodicity to 10-seconds, set it to the following:

At which point, you will see this on your chart:

If you want to get particularly fancy, you can use the Paint Bars indicator to highlight just the opening range so it is easily to distinguish from the following minutes and seconds. You would need the Professional version of the software to highlight the bars based on time, using a simple RTL signal like this:

This signal simply requires that the affected bar be before 9:31am Eastern Time. (For more about creating custom signals, please click here to see another recent article.)

Now you can add a Paint Bars indicator based on this signal, as follows:

In the below example, I use the “Paint Background” setting in the Paint Bars indicator to highlight the opening range, based on 10-second bars:

You could then scroll through many days’ worth of opening ranges to see how they behaved and affected the following minutes. Remember, this second-based chart periodicity requires Tick data, and the Paint Bars implementation shown here requires Professional.

Heat Mapping the Profile Indicator

Posted in CBOT Market Profile®, User Tips by tharnett on December 15, 2010

In the most recent version (download here) we have added heat map functionality to the profile indicator. Heat mapping is very useful and is sure to be a hit with many of our users. The 4 minute video below shows how to add it to a chart and modify the settings.

To change the width of the heat map just edit the pixel width as show below. This option is only active for single profile configurations of the profile indicator (all data, custom, etc)

One idea on how this can be used would be to add 2 or more heat maps to a chart and see how the high and low volume levels relate. Below is an example of a daily ES chart showing a 30 day and a 100 day heat map profile. Here is the chart definition.

Here is another example of a Footprint profile chart showing a heat map of the last 2 days. Note how the heat map is also showing the value area high and low, as well as the the POC.

Another benefit of using heat maps instead of normal volume distributions would be that the heat map provides a better visual of volume activity and can help reinforce the idea of high volume and low volume.

Create a Custom Signal in RTL for Value Area trades

Posted in RTL by astoeckley on December 13, 2010

We are happy to announce the birth of our RTL Community Forum where you can ask questions and get help on learning RTL, and for troubleshooting issues with your custom indicators and signals. We encourage you to post your RTL questions at the forum, as you will benefit from many readers who can offer insight into your programming. Our technical support team also checks the forums on a daily basis to provide input.

For an introduction to RTL, please read our previous article on building a custom indicator to familiarize yourself with the features of RTL. You can also quickly access all of our blog articles on RTL by viewing the RTL category link for this blog.

MarketDelta Professional versions provide an advanced engine for creating custom indicators, scans and signals, and then running backtests on those signals. Custom trading signals place markers on a chart that alert you to specific entry or exit criteria. You program these criteria into the software using RTL. They can notify you in real-time when your desired conditions are met, and they also show historical signals from prior trading days.

Creating a custom signal is similar to building a custom indicator. The window layout and RTL syntax is the same. In this article, we outline the basics of programming a signal and showing signal markers on a chart. In future articles, we will take this to the next step: backtesting a signal to determine its historical profitability.

Concept

All trading signals begin with an idea you have for a particular trading strategy. Today we look at a basic idea using the Value Area. By Value Area, we refer to the prior day’s value area high and low.

Whether you study Market Profile charts or use the Profile or TPO indicators on candlestick or footprint charts, you no doubt realize how import Value Area highs and lows can be.

Here is an example showing the reversals that often take place at the Value Area:

This particular chart uses the Profile indicator on a day session chart (Session 2 for the E-mini S&P futures), with the following settings:

This instance of the Profile indicator is only on the chart to help see the validity of the signals you create. These particular settings do not apply to the actual RTL signal you will create, which will have its own instance of Profile indicator inside the RTL window, called a “token.”

To see all the profiles for all the days on your chart, the “Compute Last” should be set to a large number, equivalent to the number of days you show on your chart.

Strategy

We want to create a signal that alerts us as the instrument (in this case, the ES contract) approaches the Value Area Low from below. That is, the session begins with the contract trading below yesterday’s established value. As it rises and approaches value, the signal suggests a short entry.

This is an easy signal to create. It’s important to note that this is only one signal that might exist as part of an entire strategy built around similar entries. For example, you might also go long at the Value Area High as price drops from above value. That would be a separate, distinct signal, and you would apply both of these to the same chart or trading system. In this article, we look only at the short entry, to get you started with the process.

Coding the Signal

Click your RTL button on the main toolbar to open a signal, and then choose “New Signal.”

The syntax for this signal is simple, as follows:

There are three tokens used in this RTL code: SESST, PROF and HI. Two of these are indicators: SESST and PROF. The two indicators must have specific settings, and the program automatically prompts you for these settings when you save this signal. Otherwise, you can instead, optionally, first create the tokens from the list, pulling them over into the right side of this window for use in your code.

In any case, the settings for these two tokens are:

This pulls in yesterday’s (Prev) value area low.

This finds the highest price reached during the day (session) by the time the current bar prints.

The RTL code, shown above in the RTL window, is:

SESST.1<PROF AND (PROF-HI)<1

This code will create a signal as price gets within 1 point of the Value Area Low, from below. This makes it possible to signal a potentially rewarding short trade even if the price doesn’t exactly hit the level.

The first part of the code states that the highest intraday price reached by the end of the previous bar is lower than the value area low. This means that the market opened, and has remained, below the value area so far during the day. “SESST.1″ refers to the historical value of the SESST indicator/token from one bar ago. Since PROF remains the same all day, it is not necessary to add a “.1″ after it, though you could and it would make no difference in this particular case.

The second part of the code simply requires that the price difference between the Value Area Low and current bar’s highest price is less than 1 point. Again, this is optional; I include it here to give some “front running” potential to the trade. In a backtest, you could experiment to see if front running was really necessary, or if front running by a greater or lesser amount would make a difference to long term success. We’ll investigate this in future blog articles.

After you save and send this signal to the chart, you will see markers such as these:

Because we have the Profile indicator added to the chart, we can verify if the signal is working properly. Note how the signal correctly triggered a short entry marker when the market bounced off these Value Area Lows from below.

The signal marker itself is highly customizable. You can change the icon, the color, the placement or even trigger sounds when the signal criteria is met:

Hopefully this will get you thinking about how you can quickly build these indicators. As you can see, the actual RTL code is often quite minimal for common trading ideas.

Check back with this blog to see more examples in coming weeks.