Actionable Signals
get_actionable_signals[START HERE — 'find me a trade'] Signals the production trade-gate itself marked actionable (action_hint=trade_signal — the engine's per-(type,direction) proven verdict), age ≤ max_age_min. Skips anti-predictive cells. Also returns swing_outlooks: labeled days-scale reads from cells proven at 7-30d horizons, each with its proven horizon and a suggested hold — NOT intraday trades. Pass min_score / min_confidence only if you want additional numeric bars on top of the engine verdict. When the result is empty, the context block points to rank_trades / get_trade_plan — a signal-gate miss does not mean no setup exists (positioning/levels setups aren't signal-driven). ALWAYS check has_trade_signal (true only when a real intraday trade cleared the gate) and render reads — a single array that is NEVER empty when any read exists: it holds the gate-passed trade signals, or, when none cleared, the strongest context read + swing outlooks, each tagged kind and actionable. signals stays strictly gate-passed; items in reads with actionable=false are NOT trades. Next: grade any candidate with check_trade; rank_trades when nothing cleared the gate.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| asset | No | ||
| min_score | No | ||
| max_age_min | No | ||
| signal_type | No | ||
| min_confidence | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| count | Yes | ||
| signals | Yes | ||
| next_cursor | No | ||
| market_opens | No | ||
| server_timestamp | No |