rmwaddelljr

LBR PaintBars [LazyBear]

288 10 21
I wanted to use the indicator LazyBear published and use StDev instead of ATR. This is my first time doing this so I'd appreciate suggestions. I will say this too; as helpful as indicators are in general (some more than others), the most important "indicator" you can use is the one between your ears. Controlling emotion, having a reliable plan followed with discipline. That gives one the decided "edge".
Remove from Favorite Scripts Add to Favorite Scripts
//
// @author LazyBear
// List of all my indicators:
// https://docs.google.com/document/d/15AGCufJZ8CIUvwFJ9W-IKns88gkWOKBCvByMEvm5MLo/edit?usp=sharing
//
study("LBR PaintBars [LazyBear]", overlay=true, shorttitle="LBRBARS_LB")
lbperiod = input (16, title="HL Length")
atrperiod = input (9, title= "ATR Length")
stdev = input(20, title= "St Dev Length")
mult = input (2.5, minval=0, title="ATR Multiplier")
bcf = input(true, title="Color LBR Bars?")
mnlb=input(false, title="Color non LBR Bars?" )
svb=input(false, title="Show Volatility Bands?")
mkb=input(true, title="Mark LBR bars above/below KC?")
lengthKC = input(20, minval=1, title="KC Length")
multKC = input(1.5, title="KC Multiplier")
useTR = input(true, title="Use TR for KC")
skb=input(false, title="Show KC?")
calc_stdev(source, useTR, length, mult) =>
    ma = ema(source, length)
    range = useTR ? tr : high - low
    rangema = ema(range, length)
    upper = ma + rangema * mult
    lower = ma - rangema * mult
    [upper, ma, lower]
 
[u,b,l] = calc_stdev(close, useTR, lengthKC, multKC)
uk=plot(skb?u:na, color=gray, linewidth=1, title="KC Upper"), lk=plot(skb?l:na, color=gray, linewidth=1, title="KC Lower")
fill(uk,lk,gray), plot(skb?b:na, style=circles, color=orange, linewidth=2, title="KC Basis")
kct=mkb ? (close >= u or close <= l) : false
aatr = mult * sma(stdev(close,atrperiod), atrperiod)
b1 = lowest(low, lbperiod) + aatr
b2 = highest(high, lbperiod) - aatr
uvf =  (close > b1 and close > b2)
lvf = (close < b1 and close < b2 )
uv = plot(svb?b2:na, style=line, linewidth=3, color=red, title="UpperBand")
lv = plot(svb?b1:na, style=line, linewidth=3, color=green, title="LowBand")
bc = (bcf ? kct?fuchsia:(uvf ? lime : lvf ? maroon : mnlb?blue:na) : (not (uvf or lvf) and mnlb ? blue : na ) )
barcolor(bc)
LazyBear PRO
2 years ago
calc_stdev() is making use of KC calculation. You want to change it to BB calculation.

ma=sma(src, length)
upper=ma + mult*stdev(src, length)
lower=ma - mult*stdev(src,length)


Reply
rmwaddelljr LazyBear
2 years ago
Here's what I did:
ma = sma(src, length)
upper = ma + mult*stdev(src,length)
lower = ma - mult*stdev(src,length)


Getting "Array item type cannot be cast to series or ColorSeries types"
Reply
LazyBear PRO rmwaddelljr
2 years ago
can u post the whole code? use pastebin, TV will filter lot of stments
Reply
rmwaddelljr LazyBear
2 years ago
//
// @author LazyBear
// List of all my indicators:
// https://docs.google.com/document/d/15AGCufJZ8CIUvwFJ9W-IKns88gkWOKBCvByMEvm5MLo/edit?usp=sharing
//
study("LBR PaintBars ", overlay=true, shorttitle="LBRBARS_LB")
lbperiod = input (16, title="HL Length")
atrperiod = input (9, title= "ATR Length")
stdev = input(20, title= "St Dev Length")
mult = input (2.5, minval=0, title="ATR Multiplier")
bcf = input(true, title="Color LBR Bars?")
mnlb=input(false, title="Color non LBR Bars?" )
svb=input(false, title="Show Volatility Bands?")
mkb=input(true, title="Mark LBR bars above/below KC?")
lengthKC = input(20, minval=1, title="KC Length")
multKC = input(1.5, title="KC Multiplier")
useTR = input(true, title="Use TR for KC")
skb=input(false, title="Show KC?")
calc_stdev(source, useTR, length, mult) =>
ma = sma(src, length)
upper = ma + mult*stdev(src,length)
lower = ma - mult*stdev(src,length)


= calc_stdev(close, useTR, lengthKC, multKC)
uk=plot(skb?u:na, color=gray, linewidth=1, title="KC Upper"), lk=plot(skb?l:na, color=gray, linewidth=1, title="KC Lower")
fill(uk,lk,gray), plot(skb?b:na, style=circles, color=orange, linewidth=2, title="KC Basis")
kct=mkb ? (close >= u or close <= l) : false
aatr = mult * sma(stdev(close,atrperiod), atrperiod)
b1 = lowest(low, lbperiod) + aatr
b2 = highest(high, lbperiod) - aatr
uvf = (close > b1 and close > b2)
lvf = (close < b1 and close < b2 )
uv = plot(svb?b2:na, style=line, linewidth=3, color=red, title="UpperBand")
lv = plot(svb?b1:na, style=line, linewidth=3, color=green, title="LowBand")
bc = (bcf ? kct?fuchsia:(uvf ? lime : lvf ? maroon : mnlb?blue:na) : (not (uvf or lvf) and mnlb ? blue : na ) )
barcolor(bc)
Reply
rmwaddelljr rmwaddelljr
2 years ago
where is "pastebin"?
Reply
rmwaddelljr rmwaddelljr
2 years ago
http://pastebin.com/WA6eZbjn

Figured it out:)
Reply
LazyBear PRO rmwaddelljr
2 years ago
use "source" instead of "src" . Updated code:

ma = sma(source, length)
upper = ma + mult*stdev(source,length)
lower = ma - mult*stdev(source,length)
Reply
rmwaddelljr LazyBear
2 years ago
Still getting: "Array item type cannot be cast to series or ColorSeries types" as an error code
Reply
rmwaddelljr rmwaddelljr
2 years ago
Can't find what an "array" item is.
Reply
rmwaddelljr rmwaddelljr
2 years ago
Found my error.
Reply
Ideas Scripts Chart
United States
United Kingdom
India
España
Italia
Brasil
Россия
Türkiye
日本
한국
Home Stock Screener 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 Billing Sign Out