Intraday Intensity Index (iii)

[[iii]] describes where the close sits inside each candle, then divides that reading by volume. When the high-low range is nonzero and volume is strictly positive, the value is positive if the close lies in the upper half of the range, negative if it lies in the lower half, and zero if it is exactly at the midpoint.

The absolute value then reflects the close’s relative distance from the candle midpoint, scaled inversely by volume. At the same relative position and with strictly positive volume, higher volume reduces that absolute value, while lower volume increases it. Each candle is evaluated independently; the indicator does not smooth its values over time.

Calculation

For each candle, the indicator is defined as:

  • range=high-low
  • numerator=2×close-high-low
  • denominator=range×volume
  • iii=numeratordenominator

If the denominator is zero (for example when high == low or volume == 0), the value of the indicator for that candle is not available.

Block declaration

A strategy can contain multiple [[iii]] blocks. Each block outputs one numeric series representing the Intraday Intensity Index value for every bar.

This indicator does not have a length parameter. It is computed directly from the high, low, close prices and the volume of each bar.

Examples

Minimal setup

This block reads prices and volume from the main symbol and main timeframe defined in the [backtest] block.

[[iii]]
id = "iii"

Specifying symbol and timeframe

This block computes the indicator on daily bars for BINANCE:BTCUSDT. See the Exchanges, Symbols and Timeframes page for alignment with other series.

[[iii]]
id        = "iii"
symbol    = "BINANCE:BTCUSDT"
timeframe = "D"

Parameters

ParameterDescription
id
 String
 Required
Unique name for the III series.
symbol
 String or Array
 Optional
Market symbol used to read the high, low, close, and volume series. If omitted, the block inherits the symbol defined in [backtest]. For symbol format, arrays, and alignment rules, see Exchanges, Symbols and Timeframes.
timeframe
 String or Array
 Optional
Timeframe on which this indicator is computed.
If timeframe is omitted, the computation uses the grid’s main timeframe defined in [backtest].
For accepted formats and alignment rules, see Exchanges, Symbols and Timeframes.

Available variables

Use the identifiers below directly in your expressions. The III block exposes one numeric series and its input metadata.

Assume the block is configured as:

[[iii]]
id = "iii"

Then:

VariableDescription
iii or iii[0] (Decimal)Current Intraday Intensity Index value.
iii[n] (Decimal)Intraday Intensity Index value from n bars ago.
iii.symbol (String)Symbol used.
iii.timeframe (String)Timeframe used.