# Indicators: Hurst Bands and Hurst Oscillator

18276 lượt xem
18276
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.

```//
// @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)
```
How do you get the oscillator bands ?
Phản hồi
How do we get the oscillator please?
Phản hồi
Thanks for your hard work. I will try it and give a donation if successful. Cheers
Phản hồi
Hi, sir, just found your post and sharing wonderful, but i'm currently using Multicharts, do you have the code which can be read in Multicharts?
Phản hồi
sir above ami broker code error com , can u post or send mail me amibroker afl for hurst oscillator
Phản hồi
Im not able to show the HO oscillator at all just the bands, is the indicator still valide?
Phản hồi
Works well with 30 60min and 1 hour chart.. fails for 5m and dialy chart
Phản hồi
Can you help in thinkscript translation for the following? CMA = not na(dPrice) ? sma(dPrice, abs(length)) : nz(CMA) + (nz(CMA) - nz(CMA)) Thanks.
Phản hồi
syracusepro
its a transaltion from thinkscript to pinescript but dosnt work couse it cant look in the future like the original code http://indexswingtrader.blogspot.gr/2012/07/hurst-channels-and-oscillator.html
Phản hồi
glaz
Thanks.
Phản hồi