A common indicator for mean reversion strategies

IBS = (close – low)/(high-low)*100

IBS = (close – low)/(high-low)*100

Rename

This reminded me of a previous discussion:

https://www.wealth-lab.com/Discussion/Is-there-an-indicator-similar-to-the-Internal-Bar-Strength-6927

In that other thread, mjj3 kindly shared his implementation. And I last commented, that it would be nice to have it accept a loopback period. I don't think that I ever got to actually adapt it (at least I don't find the code for it).

I used to make use of this in a Strategy, some years ago; but it was with a different software. I just found, in my library, a report that I kept from back then:

http://www.naaim.org/wp-content/uploads/2014/04/00V_Alexander_Pagonidis_The-IBS-Effect-Mean-Reversion-in-Equity-ETFs-1.pdf

It would indeed be nice to have this indicator useable in Building Blocks strategies.

https://www.wealth-lab.com/Discussion/Is-there-an-indicator-similar-to-the-Internal-Bar-Strength-6927

In that other thread, mjj3 kindly shared his implementation. And I last commented, that it would be nice to have it accept a loopback period. I don't think that I ever got to actually adapt it (at least I don't find the code for it).

I used to make use of this in a Strategy, some years ago; but it was with a different software. I just found, in my library, a report that I kept from back then:

http://www.naaim.org/wp-content/uploads/2014/04/00V_Alexander_Pagonidis_The-IBS-Effect-Mean-Reversion-in-Equity-ETFs-1.pdf

It would indeed be nice to have this indicator useable in Building Blocks strategies.

Sure, we can add IBS to Build 26.

I just installed Build 26, using the Updater delivered in the last build: worked great and it definitely streamlines the process.

I see that the IBS indicator is now included. Thank you very much for that! This one, together with RocketRSI and TrendStrenght, are probably my all time favourites...

However, I think that the calculation doesn't take into consideration a loopback period. Normally the IBS indicator is calculated as "the moving average of the values of the internal bars strength that represent the ratio (Close-Low)/(High-Low) * 100% for each of them".

Now the silly question: if I use the indicator

I see that the IBS indicator is now included. Thank you very much for that! This one, together with RocketRSI and TrendStrenght, are probably my all time favourites...

However, I think that the calculation doesn't take into consideration a loopback period. Normally the IBS indicator is calculated as "the moving average of the values of the internal bars strength that represent the ratio (Close-Low)/(High-Low) * 100% for each of them".

Now the silly question: if I use the indicator

**IndOnInd**with a**SMA**(n days) applied to the**IBS**indicator, I should get the same results as if the IBS Indicator would have been calculated for a series of n days, right?
Do you have a source? The sites that I read didn’t mention the smoothing. I don’t know if each component should be smoothed first, or the final calculation smoothed.

QUOTE:Mathematically, it's a different calculation, so it won't be "the same", but it will "rhyme".

if I use the indicator IndOnInd with a SMA (n days) applied to the IBS indicator, I should get the same results

This is not a very mainstream indicator and it’s a bit more difficult to find literature. But there are a few articles, like this one:

http://www.naaim.org/wp-content/uploads/2014/04/00V_Alexander_Pagonidis_The-IBS-Effect-Mean-Reversion-in-Equity-ETFs-1.pdf

On top of page 3, they have the following:

http://www.naaim.org/wp-content/uploads/2014/04/00V_Alexander_Pagonidis_The-IBS-Effect-Mean-Reversion-in-Equity-ETFs-1.pdf

On top of page 3, they have the following:

To me that doesn't suggest any smoothing, it's just saying, in a complicated way, to get the IBS value "t" bars ago, apply the formula to the data "t" bars ago. Maybe I'm misinterpreting it?

But then again, what does "i" mean here?

But then again, what does "i" mean here?

I agree with Glitch: smell no smoothing here based on the languages I used to translate scripts from.

Been travelling a bit and could not find what is was looking for on the phone. In the meantime, I found the description of the indicator that I was using some years ago:

https://www.forexmt4indicators.com/internal-bar-strength-ibs-indicator-for-metatrader-4/

Turns out that it was calculated as the moving average of the values of the internal bars strength that represent the ratio (Close-Low)/(High-Low) * 100% for each of them. Therefore, the current IBS implementation is more than good enough to work with, by just applying an average to he last n bars of the IBS.

Moreover, it seems that there was a more recent variation, in which other smoothing methods could be applied:

https://www.mql5.com/en/code/749

To try this out, I then quickly created a building blocks strategy using the IndOnInd indicator to perform a SMA of the last n IBS: the positions and indicator values perfectly matched what I was looking for (as compared to that other implementation that I used some years ago).

Therefore, it’s actually better like it is currently implemented, since I can easily try other different smoothing methods over the IBS.

So, thank you for implementing the IBS on request. And thank you even more for the IndOnInd indicator. For some reason, I have been neglecting these Transformer indicators and I have just been realising how powerful they really are - we can create some quick (but powerful) transformations, that would take some effort to actually code…

https://www.forexmt4indicators.com/internal-bar-strength-ibs-indicator-for-metatrader-4/

Turns out that it was calculated as the moving average of the values of the internal bars strength that represent the ratio (Close-Low)/(High-Low) * 100% for each of them. Therefore, the current IBS implementation is more than good enough to work with, by just applying an average to he last n bars of the IBS.

Moreover, it seems that there was a more recent variation, in which other smoothing methods could be applied:

https://www.mql5.com/en/code/749

To try this out, I then quickly created a building blocks strategy using the IndOnInd indicator to perform a SMA of the last n IBS: the positions and indicator values perfectly matched what I was looking for (as compared to that other implementation that I used some years ago).

Therefore, it’s actually better like it is currently implemented, since I can easily try other different smoothing methods over the IBS.

So, thank you for implementing the IBS on request. And thank you even more for the IndOnInd indicator. For some reason, I have been neglecting these Transformer indicators and I have just been realising how powerful they really are - we can create some quick (but powerful) transformations, that would take some effort to actually code…

To my surprise I found out that the IBS indicator has gained great popularity. Here is the original article about it.

There seems to be a misprint in the formula right at the beginning of the article. It adds (L-C)/(H-L) with itself, i.e. (L-C)/(H-L) + (L-C)/(H-L).

That's just 2 * (L-C)/(H-L). 🤷

That's just 2 * (L-C)/(H-L). 🤷

QUOTE:

To my surprise I found out that the IBS indicator has gained great popularity. Here is the original article about it.

Thank you for sharing - I was not aware of that article; although I associated the indicator with you. A decade ago, or so, I had a strategy, using this indicator (but not only), that did pretty well with some index future contracts. Eventually, like most good things in this business, it turned sour.

I think it’s time to play a bit with it to see if some of the old ideas can be salvaged and applied to todays markets…

Your Response
Post

Edit Post

Login is required