Technical / Trending
DMICrossOver(period, bars[, series])
Full Description

These functions implement the Directional Movement System developed by J. Welles Wilder Jr.. They are used to evaluate trend strength and trend direction, and to detect bullish or bearish momentum shifts via crossovers. They are commonly used in screening rules, ranking systems, and timing models to identify trending securities and directional breakouts.

ADX(period, offset [,series])

Returns the Average Directional Movement Index (ADX) as defined by Welles Wilder. ADX is commonly used to measure trend strength (not direction). The offset parameter can be used to compare current ADX to previous values to identify strengthening or weakening trends.

DMIPlus(period, offset [,series])

Returns the DMI+ component of Wilder’s Directional Movement System. DMI+ represents positive directional movement. Use offset to retrieve historical values.

DMIMinus(period, offset [,series])

Returns the DMI- component of Wilder’s Directional Movement System. DMI- represents negative directional movement. Use offset to retrieve historical values.

DMICrossOver(period, offset [,series])

Returns TRUE (or 1) if DMI+ crossed above DMI- within the previous offset bars. This is commonly interpreted as a shift toward positive directional dominance.

DMICrossUnder(period, offset [,series])

Returns TRUE (or 1) if DMI- crossed above DMI+ within the previous offset bars. This is commonly interpreted as a shift toward negative directional dominance.

Examples

1) Screen for stocks whose ADX increased over the past 10 bars

Compare the current ADX value to the ADX value from 10 bars ago:

ADX(14,0) > ADX(14,10)

2) Find stocks whose DMI+ crossed over DMI- within the last 2 bars

Use the crossover function with an offset window of 2 bars:

DMICrossOver(14,2)=TRUE

3) Find stocks with strong positive directional movement

Compare DMI+ to DMI- on the current bar:

DMIPlus(14,0) > DMIMinus(14,0)

Notes

  • ADX measures trend strength; DMI+ and DMI- help indicate direction.
  • offset is useful for detecting changes over time (e.g., “today vs. 10 bars ago”) and for “within the last N bars” crossover logic.
  • Functions that return TRUE/1 can be used directly in screens and conditional logic.

Show more details