• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

cm45t3r / candlestick / 29127823745 / 4
100%
main: 100%

Build:
DEFAULT BRANCH: main
Ran 10 Jul 2026 10:29PM UTC
Files 26
Run time 1s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

10 Jul 2026 10:28PM UTC coverage: 99.641% (+0.05%) from 99.592%
29127823745.4

push

github

web-flow
feat(kicker): configurable, pluggable volatility-based gap significance threshold (#98)

* feat(kicker): add configurable, pluggable volatility-based gap threshold

Kicker detection previously treated any nonzero gap between candle bodies
as significant, producing matches on economically meaningless gaps (e.g.
$0.30 on a $210 stock, reported with the same static 0.9 confidence as a
multi-dollar news gap).

Adds an opt-in `minGapVol` threshold to `bullishKicker`/`bearishKicker`/
`isBullishKicker`/`isBearishKicker`, measured against a configurable
volatility unit:

- `volMethod: "atr" | "stddev" | "percentile"` — built-in measures
  (src/volatility.js), all expressed as a fraction of price so they're
  comparable across price levels.
- `volMethod: "fixed-pct"` — flat percentage of previous close, no
  lookback/history required.
- `externalVolatility` / `volatilityFn` — escape hatches for callers who
  already have a more advanced volatility model (e.g. GARCH fit
  externally); this package does not implement GARCH itself.

Also extracts `src/seriesResolver.js`, a small internal helper that
resolves a per-candle series from (callback > precomputed array > named
built-in method), shared plumbing intended for reuse by the trend-context
proposal in #95.

Fully backward compatible: `minGapVol` defaults to `0`, preserving the
exact pre-existing behavior when omitted.

Closes #96. Implements the shared helper proposed in #97.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XRBitjqZyuWGbSXjYKivE2

* test(kicker): cover the atr/percentile array-level paths and bearishKicker's minGapVol branch

CI coverage on the previous commit showed kicker.js at 93.14% stmts /
88.88% funcs (below this repo's 99%+/100% targets), missing:
- the percentile builtin wrapper inside resolveVolatilitySeries
- bearishKicker's entire minGapVol > 0 branch (only bullishKicker's was
  exercised)
- any real volMethod: "atr"/"percenti... (continued)

690 of 697 branches covered (99.0%)

Branch coverage included in aggregate %.

2918 of 2924 relevant lines covered (99.79%)

4343.29 hits per line

Source Files on job run-windows-latest-22.x - 29127823745.4
  • Tree
  • List 26
  • Changed 3
  • Source Changed 1
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Build 29127823745
  • 952c4231 on github
  • Prev Job for on main (#29075581370.3)
  • Next Job for on main (#29552177465.2)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc