Indicators/probuilder · probacktest · proorder · proscreener

DynamicZoneStochasticDown

DynamicZoneStochasticDown in ProBuilder returns the lower dynamic oversold threshold of the Dynamic Zone Stochastic oscillator. Syntax, formula, examples.

Syntax

probuilder
DynamicZoneStochasticDown[BBperiod](price)

Parameters

NameTypeDefaultDescription
BBperiodinteger20Period over which the Bollinger Band statistics (mean and standard deviation) are computed on the Stochastic values.
priceprice sourceclosePrice series used in the underlying Stochastic calculation.

Formula

code
DynamicZoneStochasticDown = Average[BBperiod](Stochastic[14,3](price))
                            - STD[BBperiod](Stochastic[14,3](price)) * 0.8

A Bollinger-style lower band computed on the Stochastic[14,3] series with a 0.8 standard deviation multiplier.

How it works

The classic Stochastic oscillator marks oversold below a fixed level, commonly 20. The Dynamic Zone variant replaces that constant with a band derived from the oscillator's own recent distribution. DynamicZoneStochasticDown takes the mean of the Stochastic[14,3] values over BBperiod bars and subtracts 0.8 times their standard deviation over the same window.

The lower threshold therefore adapts to conditions. When the Stochastic has been choppy and wide-ranging, the band moves further from the mean and only pronounced washouts register as oversold. When the oscillator has been quiet, the band tightens and smaller dips qualify. In persistent downtrends, where a fixed level of 20 would stay triggered for long stretches, the band follows the oscillator down and continues to isolate the genuinely extreme readings.

The function returns the threshold line only. Signals come from comparing it against a separately computed Stochastic[14,3](price), most commonly the oscillator crossing back above the band from below. The Stochastic parameters inside the function are fixed at 14 and 3, so the comparison oscillator must use those same settings. DynamicZoneStochasticUp provides the matching upper band.

Examples

Example 1, Complete dynamic zone display (Indicator)

probuilder
// Upper and lower dynamic bands with the Stochastic itself
a = DynamicZoneStochasticUp[20](close)
b = DynamicZoneStochasticDown[20](close)
return a coloured(0,255,0) style(line,1), b coloured(255,0,0) style(line,1), Stochastic[14,3](close)

Plots the Stochastic oscillator between its adaptive overbought (green) and oversold (red) boundaries in a single panel.

Example 2, Adaptive oversold bounce entry (ProOrder)

probuilder
// Buy when the Stochastic recovers above its dynamic oversold band in an uptrend
trend = Average[200](close)
sto = Stochastic[14,3](close)
lowerband = DynamicZoneStochasticDown[20](close)

IF NOT LongOnMarket AND close > trend AND sto CROSSES OVER lowerband THEN
  BUY 1 CONTRACT AT MARKET
ENDIF

IF LongOnMarket AND sto > 80 THEN
  SELL AT MARKET
ENDIF

Enters long when the Stochastic climbs back through the adaptive lower band while the market trades above its 200-period average.

Example 3, Screening for adaptive oversold instruments (ProScreener)

probuilder
// Instruments whose Stochastic trades below the dynamic oversold band
sto = Stochastic[14,3](close)
lowerband = DynamicZoneStochasticDown[20](close)
depth = lowerband - sto
SCREENER[sto < lowerband](depth AS "Below band")

Lists instruments whose Stochastic sits under its adaptive oversold threshold and ranks them by the depth of the excursion.

Interpretation

ConditionReading
Stochastic below the lower bandStatistically unusual weakness, adaptive oversold.
Stochastic crosses back above the bandCandidate bullish signal, recovery from the oversold zone.
Band far below the oscillator meanVolatile oscillator regime, only deep washouts qualify.
Band close to the oscillator meanQuiet regime, modest dips already register.

Relative to the fixed 20 line, the dynamic threshold produces fewer standing oversold readings in downtrends and remains responsive in calm markets. A reading below the band describes stretched conditions, not a timed reversal, so most systems wait for the re-cross or add a trend filter.

Common errors and gotchas

  • Mismatched Stochastic settings. The band is built on Stochastic[14,3]. Comparing it against Stochastic[5,3] or StochasticD mixes different series and produces incoherent crossings.
  • Only the band period is adjustable. The single bracketed parameter is BBperiod. The underlying Stochastic periods are fixed, so custom oscillator settings require rebuilding the band from Average and STD manually.
  • Using the band as the oscillator. The function returns the threshold, not the Stochastic. A condition such as DynamicZoneStochasticDown[20](close) < 20 tests where the band sits, which is rarely the intended signal.
  • Fixed 0.8 multiplier. The standard deviation factor cannot be changed through parameters. Wider or narrower zones require the manual construction shown in the formula.