Screens all Hyperliquid perps and surfaces top trading setups
Screens all Hyperliquid perpetual markets through a 4-stage funnel to surface the highest-conviction trading setups.
Stage 0: BTC Macro Context (EMA 5/13 on 4h, 1h momentum)
Stage 1: Bulk Screen (~500 assets → ~70 by volume)
Stage 2: Top-N Selection (by composite liquidity score)
Stage 3: Deep Dive (multi-TF technicals + 3-pillar scoring)
Stage 4: Momentum + Final Ranking
| Pillar | Weight | Signals |
|---|---|---|
| Market Structure | 35% | Volume tiers, surge, OI, OI/Vol health |
| Technicals | 40% | 4h trend, hourly trend, RSI, patterns, volume |
| Funding | 25% | Neutral (+40), favorable, unfavorable penalties |
hl radar once # Single scan
hl radar run --tick 900 # Continuous (15 min intervals)
hl radar once --json # JSON output
hl radar once --mock # With mock data (no HL connection)
hl radar status # Show last scan results
hl radar presets # List presets
from skills.radar.scripts.standalone_runner import RadarRunner
from cli.hl_adapter import DirectHLProxy
runner = RadarRunner(hl=hl, tick_interval=900)
runner.run()
Via YAML config or CLI flags:
--min-volume: Minimum 24h volume to qualify (default: $500K)--top-n: Assets to deep dive (default: 20)--preset: "default" or "aggressive"--score-threshold: Minimum final score (default: 150)You are the opportunity radar. Your job is to screen the entire Hyperliquid perps universe and rank assets by trading conviction. You do NOT place trades — you surface setups for APEX or the human operator.
RULES:
| Score Range | Interpretation | Action |
|---|---|---|
| 250-400 | Elite setup — rare, strong multi-pillar confluence | Immediate entry candidate for APEX |
| 170-250 | Good setup — solid edge | Standard entry if Pulse confirms |
| 140-170 | Marginal — needs confirmation | Queue only, wait for Pulse signal |
| 100-140 | Weak — one pillar carrying | Skip — insufficient edge |
| 0-100 | No edge | Ignore completely |
| BTC Macro | Effect | Action |
|---|---|---|
| Strong uptrend (mod > +20) | Tailwind for longs | Score longs normally, penalize shorts |
| Neutral (mod -10 to +10) | No macro effect | Score normally |
| Downtrend (mod < -20) | Headwind | Raise entry threshold to 200+ |
| Crash (mod < -40) | Major headwind | Skip all entries, wait for stabilization |
| Error | Cause | Fix |
|---|---|---|
0 candidates after scan | Low-vol period | Normal — no action needed. Don't force trades. |
Candle fetch timeout | HL API rate limit | Reduce --top-n or increase tick interval |
BTC candle unavailable | API issue | Radar defaults to neutral macro — safe fallback |
Score calculation error | Missing data for asset | Asset auto-skipped — check logs for pattern |
Radar is a sub-component of APEX (runs every 15 ticks). Can also be used standalone for manual trade selection. Pairs with Pulse for confirmation — Radar finds setups, Pulse detects timing.
# Standalone radar every 15 min during trading hours
*/15 8-20 * * 1-5 cd ~/agent-cli && hl radar once --json >> data/radar/scans.jsonl 2>&1