Documentation Index
Fetch the complete documentation index at: https://docs.darvas.app/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Crossover functions compare two sources at the current and previous bar to detect directional changes. They all return aboolean.
All crossover functions require a source function (a
(offset?) => number | null callable), not a scalar. Pass ctx.close or input.source() - not ctx.close().ta.crossover(a, b) - A crosses above B
Returns true when a was below b on the previous bar and is now above b.
ta.crossunder(a, b) - A crosses below B
Returns true when a was above b on the previous bar and is now below b.
ta.cross(a, b) - Either direction
Returns true for either crossover or crossunder.
ta.rising(source, length) - Rising over N bars
Returns true if source(0) > source(length) - current value is higher than length bars ago.
ta.falling(source, length) - Falling over N bars
Returns true if source(0) < source(length).
Source type requirement
Thea and b arguments to crossover/crossunder/cross must be source functions ((offset?) => number | null). A plain number is accepted for b only. Passing a scalar to a causes a TypeError.
Related pages
Moving averages
Common sources for crossover signals.
Oscillators
RSI crossovers (crossing 70/30) are a classic use case.
Series
Manual crossover detection with Series for full control.