xel_arjona

GEOMETRIC STANDARD DEVIATION BANDS v1 by @XeL_Arjona

GEOMETRIC STANDARD DEVIATION BANDS
Ver.1 By Ricardo M Arjona @XeL_Arjona

DISCLAIMER:

The Following indicator/code IS NOT intended to be a formal investment advice or recommendation by the author, nor should be construed as such. Users will be fully responsible by their use regarding their own trading vehicles/assets.

The embedded code and ideas within this work are FREELY AND PUBLICLY available on the Web for NON LUCRATIVE ACTIVITIES and must remain as is.


WHAT'S THIS?

This IS NOT the wheel "Re-Invention"... This is exactly what the name says: A pair of Envelope Bands to measure "volatility", constructed at statistical relation from within price series and their Rolling back MEAN (Simple Moving Average). YES, What Mr. Bollinger did and put it's name to this simple, cleaver and popular formula.

This time, I took the time to make another simple mod, but seems to me to be quite functional in REAL VOLATILE assets like in the example chart: TO USE THEIR GEOMETRIC MODE!!

Cheers!
Any feedback or public modification(s) are quite welcome to the community....!

@XeL_Arjona
Apr 28 2016

Open-source script

In true TradingView spirit, the author of this script has published it open-source, so traders can understand and verify it. Cheers to the author! You may use it for free, but reuse of this code in a publication is governed by House Rules. You can favorite it to use it on a chart.

Disclaimer

The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.

Want to use this script on a chart?
//@version=2
study("GEOMETRIC STANDARD DEVIATION BANDS v1 by @XeL_Arjona", shorttitle="gSDB", overlay=true)
src = input(title="Candle Source:",type=source,defval=close)
p   = input(title="Rollback Mean:",defval=21)
s   = input(title="Deviation Envelope:",defval=2)
et  = input(title="EnvTYPE: [1]Cl | [3]Avg | [3]HiLo:",defval=2,minval=1,maxval=3)
// VARIABLES
cl = log(src)
hi = iff(et==1, log(src), iff(et==2,log(high), log(avg(src,high))))
lo = iff(et==1, log(src), iff(et==2,log(low), log(avg(src,low))))
// FUNCTIONS
// Standard Deviation from Custom Mid Point (Custom Bollinger)
cStdDev(array,mid,lb,mult,dir) =>
    std = stdev(array,lb)
    d = dir ? 1 : -1
    band = mid + d * mult * std
mean    = exp(sma(cl,p))
up      = exp(cStdDev(hi,sma(hi,p),p,s,true))
dn      = exp(cStdDev(lo,sma(lo,p),p,s,false))
// PLOT DIRECTIVES
plot(mean,color=blue,transp=0)
uband = plot(up,color=blue,transp=55)
dband = plot(dn,color=blue,transp=55)
fill(uband,dband,color=navy,transp=96)