The Internal Bar Strength (IBS) Indicator [Including Quantified Strategies]

Last Updated on October 16, 2021 by Oddmund Groette

The Internal Bar Strength indicator (IBS) has worked remarkably well for over two decades. We can only guess why, but the stock market has been highly mean-reverting during this period, and this has of course given the IBS a nice tailwind.

IBS is simply an indicator where you buy on weakness and sell on strength, the cornerstone of any mean-reverting strategy. It oscillates from zero to one and measures the relative position of the closing price relative to the High and Low. A low internal bar strength value is supposed to be bullish, and a high value is bearish (for the short-term). The assumption is that the market is mean-reverting.

Short summary of the Internal Bar Strength (IBS) indicator:

This article explains the Internal Bar Strength Indicator. We test it empirically and explain which markets you are most likely to succeed with it.

The conclusion is that the Internal Bar Strength indicator has worked remarkably well over the last 30 years on stocks and stock indices, less so on other asset classes. Last, we test some trading strategies based on the IBS indicator.

Is this likely to continue? The indicator has made a spectacular comeback in 2019 and 2020 after 2018 produced the first negative return in this century. The increased volatility following the unprecedented Covid-19 lockdowns has so far made 2020 the best year on record.

If you find this article useful, you might want to have a look at our landing pages for a lot of other trading strategies and edges:

The Internal Bar Strength formula:

The formula for IBS is as follows:


Let’s illustrate with an example from the 28th of October 2020: SPY, the ETF of the S&P 500, had a high of 338.25, a low of 326.13 and closed at 326.66. Thus, the IBS that day would be calculated like this:

(326.66 – 326.13)/(338.25 – 326.13) = 0.043

This was a very bad day for stocks where SPY opened significantly down and continued falling throughout the day. The low value of the IBS indicates a good setup for a mean reversion trade. As it turned out, the next day, the 29th of October, ended as a positive day.

Internal Bar Strength quantified (trading strategies):

Micheal Harris wrote about IBS in September 2018 where he argued the IBS has somewhat lost its strength. As with most things in the financial markets, all good things must come to an end, and IBS performed poorly during 2017 and 2018.

IBS is a very simplistic indicator and widely used by algos, perhaps indicating the good times are over. The markets are flooded with capital, brains, and computing power, and the most popular indicators and strategies will be “arbed” away when they get widely used.

On this blog we have several times used IBS together with other indicators. However, I have never looked at IBS solely on its own, and this article has a short look at how IBS has performed on the S&P 500 and Nasdaq.

Let’s first start with the S&P 500 by using the ETF SPY. The criteria are simple (using Amibroker):

IBS= (Close-Low)/(High-Low);

Buy= IBS<0.2 ;

buyPrice=C ;  //buy on the close

Sell= IBS>0.8 ;

sellPrice=C ; //sell on the close

We simply buy on close if IBS is lower than 0.2, and we sell on any day later when the IBS closes above 0.8. An incredible simple strategy!

Despite its simplicity, it has yielded excellent results from 2000 until October 2020 (assuming 100 000 invested in 2000 and 100% exposure of equity since then – ie. compounded results):

#Trades 600
Average gain per trade 0.41%
Win-ratio 69.7%
#days per trade 4.35
Average gain winners 1.32%
Average loss losers -1.67%
Profit factor 1.92
Max % drawdown -26.1%

The equity curve looks like this (compounded):

Internal Bar Strength (IBS) has worked pretty well for over two decades.

Clearly, 2018 was a pretty poor year for the IBS strategy, but it made a huge comeback so far in 2020, the best year ever:

The IBS has worked even better on Nasdaq (QQQ – compounded):

A simple IBS strategy has returned 14.5% annually on Nasdaq (QQQ).

Let’s make a twist to the Internal Bar Strength Indicator (IBS): We test a trading strategy

We changed the strategy somewhat, but still using the IBS as the only indicator for both the entry and the exit, and we got the following equity curve from 1993 until April 2021:

The strategy produced a CAGR of 15.5% while being invested only 36% of the time. There are 526 trades, average trade lasts 5.9 trading days, 74%, the average win is 1.67%, the average loser is 1.75%, the max drawdown is 22%, the profit factor is 2.73, and the Sharpe Ratio is 2.

Would you like to know the code and the criteria? You get the code for Amibroker/Tradestation and in plain English. You can either order the strategy for 75 USD by clicking the links below, or you can subscribe to our Trading Edges. You can order the strategy on this link (IBS Strategy no. 2):


When you have paid, please press the link below to access the code (PDF file):

Download the IBS strategy no.2 by clicking here (you need to pay for access)


You can subscribe to our Trading Ideas and get the strategy later in 6-12 months (it’s in the pipeline). We present similar ideas monthly – please subscribe to our Trading Edges:

The Internal Bar Strength indicator works best in bear markets:

Perhaps ironically, the strategy seems to perform the best in bear markets. The reason is most likely that the biggest up days happen in bear markets.

Yes, you heard it right: the biggest up days happen during bear markets, perhaps contrary to common sense.

For example, from the top in May 2008 to the bottom in early March 2009 (the GFC), S&P 500 lost about 50% of its value, but there were 99 up days and 104 down days during this period. During the same period, it was 51 days with daily rises (from close to close) higher than 1% and 30 days with daily rises above 2%. You can read more about these data in this article.

I suspect that short covering is one of the main reasons we see these enormous spikes during bear markets. Bear markets are shorter in duration than bull markets, and increased uncertainty makes the markets much more volatile. We can say bull markets are sedate: the daily volatility is significantly lower.

Does it pay off to add a filter in order to only take signals during volatile times?

We can for example add a volatility filter like VIX: buy only when VIX closes above a moving average of x days. If we use a VIX filter where we require VIX to close above its 100-day average, the average gain per trade in SPY increases from 0.41% to 0.53% while the profit factor goes from 1.92 to 2.19.

However, be careful adding this filter because an optimization reveals the result is pretty variable from even small changes in the number of days of the moving average.

By tweaking a little it seems as the IBS works best as long it’s not too overbought compared to the 200-day moving average. If the close of SPY is max 5% above the 200-day moving average, it improves the result the best:

Buy= IBS<0.2 AND C<(MA(C,200)*1.05);
Sell= IBS>0.8;
sellPrice=C ;

The average gain is 0.53% and the profit factor is 2.23. However, be careful as the risk of curve fitting is high.

Combining the Internal Bar Strength indicator with other indicators:

The numbers below show how you improve the results by combining two indicators in a twist to the trading strategies we did above. This table illustrates the results for SPY:

#Trades 182
Average gain per trade 0.76%
Win-ratio 75.2%
#days per trade 4.98
Average gain winners 1.77%
Average loss losers -2.33%
Profit factor 2.27
Max % drawdown -23.75%

For QQQ the results are much better:

#Trades 196
Average gain per trade 1.36%
Win-ratio 75.5%
#days per trade 4.82
Average gain winners 2.5%
Average loss losers -2.18%
Profit factor 3.15
Max % drawdown -19.5%

The equity curve compounded for QQQ looks impressive (logarithmic chart):

The overlap in trades between SPY and QQQ is of course very high and thus it doesn’t make sense to trade both, in our opinion.

Would you like to know the code and the criteria? You can either order the strategy for 75 USD by clicking the links below, or you can subscribe to our Trading Edges. You can order the strategy on this link (please choose “IBS + second indicator” product – you get the code in Amibroker/Tradestation and plain English):


When you have paid, please press the link below to access the code (PDF file):

Download the IBS + second indicator strategy by clicking here (you need to pay for access)


Alternatively, you can subscribe to our Trading Edges where we send out ideas like this monthly for a much lower fee per edge. The edge above will be presented as an edge in a few months. If you’d like to receive similar ideas, please subscribe to our Trading Edges:

Does the Internal Bar Strength indicator work in any market?

Unfortunately, it doesn’t. The IBS more or less only works on single stocks and stock indices. Furthermore, it works best on indices that have a broad selection of different industries.

Some parts of the stock population produce poor returns using the IBS: commodity stocks for example.

Hence, IBS doesn’t work well on Norwegian and Australian stocks/indices, as both countries are heavily dependent on commodity prices. Likewise, if you try IBS on for example gold and metal stocks you will be hugely disappointed. It simply doesn’t work.

Does this mean that we should skip the indicator, assuming a robust indicator should work on all asset classes?

No. It’s naive to believe that any single indicator works on all asset classes. Every market has its own “rules” and ecology where you as a trader has to adapt to the current and local environment.

Just as a Norwegian investor can’t expect to find the same temperament and mentality in Nigeria as in Norway, you as a trader have to adapt to the market you are trading. There are no universal rules across the asset classes.

That’s perhaps disappointing to many, but on the other hand, it serves you opportunities if you are willing to adapt and do proper research.

The weakness of the Internal Bar Strength indicator is execution:

One weakness with the strategy is the need to enter on the close. Obviously, you don’t know the close until after the fact, which means you need to enter just seconds before the close or after the close in the after hours. This is some kind of a hassle unless you are trading automatic systems via your computer or VPS.

The importance of getting the closing price is paramount. If you delay the execution to the open the day after the signal, the return falls significantly: for S&P 500 the average gain per trade falls from 0.41% to 0.31%. All important parameters worsen, also for QQQ.

Concluding remarks about the IBS:

The IBS still seems to work pretty well. However, it performs best under conditions where uncertainty makes the stock markets volatile.

We use IBS in our own swing trading, but always together with some other indicator or factors.

Furthermore, don’t expect the indicator to work in any market: it only works on stocks in certain industries and on stock indices that have a broad base of different sectors/industries.


Disclosure: We are not financial advisors. Please do your own due diligence and investment research or consult a financial professional. All articles are our opinion – they are not suggestions to buy or sell any securities.