Custom Volume Indicator for TOS October 22, 2013 06:49AM |
Registered: 10 years ago Posts: 615 |
# Time Based Volume # Robert Payne declare lower; input LookBack = 20; def nMinutes = GetAggregationPeriod() / 60000; def nBars = RoundUp(390 / nMinutes, 0); def pvSum = fold idx = 1 to LookBack + 1 with a=0 do a + GetValue(volume, idx * nBars, LookBack * nBars); def pvAvg = pvSum / LookBack; def VolPct = (volume / pvAvg) * 100; plot avgLine = 100; avgLine.SetDefaultColor(Color.GRAY); avgLine.SetStyle(Curve.LONG_DASH); def lastUp = if IsNaN(lastUp[1]) then 0 else if (close > open) then VolPct else lastUp[1]; def lastDn = if IsNaN(lastDn[1]) then 0 else if (close < open) then VolPct else lastDn[1]; plot Vol = VolPct; Vol.SetPaintingStrategy(PaintingStrategy.HISTOGRAM); Vol.DefineColor("Bullish", Color.CYAN); Vol.DefineColor("Bullish Smaller", CreateColor(0, 128, 128)); Vol.DefineColor("Bearish", Color.MAGENTA); Vol.DefineColor("Bearish Smaller", CreateColor(128, 0, 128)); Vol.AssignValueColor(if (close > open) and (VolPct > lastUp[1]) then Vol.Color("bullish" ) else if close > open then Vol.Color("bullish smaller" ) else if close < open and VolPct > lastDn[1] then Vol.Color("bearish" ) else Vol.Color("bearish smaller" )); Vol.SetLineWeight(3);
Re: Custom Volume Indicator for TOS October 22, 2013 01:28PM |
Registered: 12 years ago Posts: 172 |