Indicators: Hurst Bands and Hurst Oscillator

These 2 indicators are derivative work from Jim Hurst's book - "The Magic of Stock Transaction Timing".

The bands are % bands around a median that gets calculated according to Hurst's formula. The outer bands (called ExtremeBands) signify extreme overbought/oversold conditions. Inner bands signify potential pullback points. As you can see, they also act as dynamic S/R levels.

The oscillator bands match the bands overlaid on price, so you will get an excellent indication of where the price is gonna do by using the oscillator along with the bands. Note that Hurst Oscillator can be used separately too, there is no technical dependency on Hurst Bands.

More info on Hurst Method:
Remove from Favorite Scripts Add to Favorite Scripts
// @author LazyBear
// If you use this code in its original/modified form, do drop me a note. 
study("Hurst Bands [LazyBear]", shorttitle="H%Bands_LB", overlay=true)
price = hl2
length = input(10, title="Displacement length")
InnerValue = input(1.6, title="Innerbands %")
OuterValue = input(2.6, title="Outerbands %")
ExtremeValue = input(4.2, title="Extremebands %")
showExtremeBands = input(false, type=bool, title="Display Extreme Bands?")
showClosingPriceLine = input(false, type=bool, title="Plot Close price?")
smooth = input(1, title="EMA Length for Close")

displacement = (length / 2) + 1
dPrice = price[displacement]

CMA = not na(dPrice) ?  sma(dPrice, abs(length)) : nz(CMA[1]) + (nz(CMA[1]) - nz(CMA[2]))
CenteredMA=plot(not na(dPrice) ? CMA : na, color=blue , linewidth=2)
CenterLine=plot(not na(price) ? CMA : na, linewidth=2, color=aqua)

ExtremeBand = CMA * ExtremeValue / 100
OuterBand   = CMA * OuterValue / 100
InnerBand   = CMA * InnerValue / 100

UpperExtremeBand=plot(showExtremeBands and (not na(price)) ? CMA + ExtremeBand : na)
LowerExtremeBand=plot(showExtremeBands and (not na(price)) ? CMA - ExtremeBand : na)
UpperOuterBand=  plot(not na(price) ? CMA + OuterBand : na)
LowerOuterBand=  plot(not na(price) ? CMA - OuterBand : na)
UpperInnerBand=  plot(not na(price) ? CMA + InnerBand : na)
LowerInnerBand=  plot(not na(price) ? CMA - InnerBand : na)

fill(UpperOuterBand, UpperInnerBand, color=red, transp=85)
fill(LowerInnerBand, LowerOuterBand, color=green, transp=85)

FlowValue = close > close[1] ? high : close < close[1] ? low : hl2
FlowPrice = plot(showClosingPriceLine ? sma(FlowValue, smooth) : na, linewidth=1)
You, Sir, are my new personal hero! Seems to work really good on lower timeframes. Be assured that i definitely would give more than just one thumb up if i could :)
+3 Reply
LazyBear PRO Kurbelklaus
Thx :)
+5 Reply
Very nice tool:) we feel spoiled here- great work
+3 Reply
LazyBear PRO sublimares2
:) Thanks.
+4 Reply
Night-mode, engage!
+4 Reply
tulipsNmore grahvity
haha, thanks! so much easier to read!
+3 Reply
:) You may want to change the colors of the extreme (outermost) bands.
+3 Reply
grahvity LazyBear
Cool. Changing them to white gives it almost & and embossed look.
+3 Reply
Nice. As @StephenShaffer mentioned, very pleasing on eyes.
+2 Reply
+2 Reply
LazyBear PRO ronfkingswanson
+2 Reply
Is there a code for this indicator?
+2 Reply
Just click on the arrow symbol on the top right of the chart. Then click on "make it mine", this will open the cart in a new window and there you can also view the code by clicking on the ()-symbol in the top left of the chart.
Also note: Adblock seems to produce problems with the share button on this site, so check that if it doesnt work.
+1 Reply
nice! > thank you!
+1 Reply
LazyBear PRO accidentje
yw :)
+3 Reply
Bands appear, but not the oscillator. The links from your site for the Bands and Oscillator point to the same place. Is there something missing hear? Thanks..
Just click on the share symbol on the left of the chart (last symbol). Then click on "make it mine", this will open the chart in a new window and there you can also view the code by clicking on the ()-symbol near the indicator names.
@LazyBear, Please none of this works!!! I cant find out how to get the oscillator...No option to share and When i click on the brackets the source code for OSC. is not there. Someone please post the code.
Do you have script for hurst oscillator? The above script only plots the bands....Thank you
+1 Reply
Got it...Thanks So much!
Can you help in thinkscript translation for the following? CMA = not na(dPrice) ? sma(dPrice, abs(length)) : nz(CMA) + (nz(CMA) - nz(CMA)) Thanks.
glaz syracusepro
its a transaltion from thinkscript to pinescript but dosnt work couse it cant look in the future like the original code
Works well with 30 60min and 1 hour chart.. fails for 5m and dialy chart
Im not able to show the HO oscillator at all just the bands, is the indicator still valide?
sir above ami broker code error com , can u post or send mail me amibroker afl for hurst oscillator
United States
United Kingdom
Home Stock Screener Forex Signal Finder Economic Calendar How It Works Chart Features House Rules Moderators For the WEB Widgets Stock Charting Library Priority Support Feature Request Blog & News FAQ Help & Wiki Twitter
Private Messages Chat Ideas Published Followers Following Priority Support Public Profile Profile Settings Account and Billing Sign Out