streak
Count consecutive bars where condition is true
streak(condition, period)
Parameters
| Name | Type | Description |
|---|---|---|
condition |
bool | The condition to test (e.g., close > open) |
period |
int | Maximum lookback window to check for consecutive occurrences |
Formula
streak = largest N <= period such that condition held for each of the last N consecutive bars
Examples
// how many consecutive up days (close > open)?
streak(close > open, 5);
// consecutive days above 50-day MA
streak(close > sma(close, 50), 10);
// consecutive days with volume > average
streak(volume > sma(volume, 20), 7);
// find stocks with 3+ consecutive up days
streak(close > open, 5) >= 3;
// consecutive days where RSI > 50
streak(rsi(close, 14) > 50, 10);
// consecutive narrow range days (true_range < average)
streak(true_range() < sma(true_range(), 20), 5);
Returns
int
Range
period must be 2-400
Notes
Returns 0 if the current bar's condition is false; counts backwards from the current bar until the condition breaks, capped at period