Signals Realtime
Enriched live signals filtered by verified 30d performance.
Combines: - _signal_scanner.scan() for the current 1H bar's active signals (same data /signals/live serves; 5-min cache shared via the scanner's single-flight lock) - 30d top50 ranking entries from RANKING_DIR/ranking_<date>.json for the PF / win_rate / n_trades trust metrics
A signal is returned only when: 1. The scanner reports it on the last completed 1H candle, AND 2. The same (strategy, direction, timeframe) appears in the 30d ranking with profit_factor >= min_pf.
Note on timeframe coupling: the scanner runs on 1H candles regardless of the strategy's preferred timeframe (a known limitation of the current scanner). We join the ranking by timeframe == "1H" first, then fall back to the most profitable timeframe variant if no 1H entry exists for that strategy. This intentionally returns fewer signals on cycles where strategies only have higher-timeframe entries in the ranking — better to emit nothing than emit a signal whose backtest PF doesn't match the timeframe the scanner actually fired on.
Response: list of enriched signal dicts (max max_results items). Empty list when no qualifying signals exist OR scanner not yet warm.
Caching: 5 minutes (scanner + ranking index both 5-min cached). Response size: capped at ~50KB by max_results clamp.
Request
- Base URL: https://api.pruviq.com (the document declares no server; this is the origin it was published from)
- URL: https://api.pruviq.com/signals/realtime
- Auth: none declared
Query parameters
Response
Successful Response
Changes
No recorded changes to this operation across all 2 revisions of this API.