Skip to content
noxstock
Guides

Technical timing check

Use technicals and price action to answer trend, extension, and range questions.

Short answer: call /v2/technicals, then /v2/price-action. Use /v2/history only when the user asks for actual time-series rows.

Use this when

Use this for prompts like:

  • “Is AAPL extended technically?”
  • “Is this stock trending or overbought?”
  • “How far is it from the 52-week high?”
  • “What does recent price action look like?”

Do not use this for

  • Trade execution, order timing, or real-time signals.
  • Price alerts or exchange-grade market state.
  • Fundamental, valuation, SEC, or insider analysis.
  • Chart rows unless the user needs the actual series. Then call /v2/history.

Route plan

REST sequence:

# If the user gave a company name:
GET /v2/search?query=<company-name>

# Confirm support when needed:
GET /v2/coverage?symbol=<symbol>

# Technical/timing check:
GET /v2/technicals?symbol=<symbol>
GET /v2/price-action?symbol=<symbol>

# Optional actual series for a chart or model:
GET /v2/history?symbol=<symbol>&series=close,rsi_14&range=1y&cadence=daily

Do not call history just to answer “extended?” The technicals and price-action routes already include indicator, range, volume, streak, and drawdown context.

MCP sequence

# Optional name lookup and coverage:
noxstock_search({ "query": "Apple" })
noxstock_coverage({ "symbol": "AAPL" })

# Technical/timing check:
noxstock_technicals({ "symbol": "AAPL" })
noxstock_price_action({ "symbol": "AAPL" })

# Optional time series:
noxstock_history({ "symbol": "AAPL", "series": ["close", "rsi_14"], "period": "1y", "cadence": "daily" })

What to preserve in the answer

From /v2/technicals:

  • freshness, as_of, market_status.
  • moving_averages.sma_50, sma_200, vs_sma_50_pct, vs_sma_200_pct, golden_cross_active, and distance_from_52w_high_pct.
  • momentum.rsi_14, rsi_zone, weekly RSI fields, stochastic, and MACD when present.
  • trend_strength.adx_14, trending, weekly trend fields, obv, and obv_trend_30d.
  • volatility.realized_vol_30d_annualized_pct, atr_14, and beta_1y.
  • relative_strength.*_pct when present.

From /v2/price-action:

  • volume.latest, avg_30d, ratio_to_avg, and ratio_to_sector_avg.
  • Recent highs/lows with dates.
  • trend_context, gaps, streaks, and drawdowns.
  • Negative signs on drawdowns and down-day percentages.

Answer pattern:

Answer: <extended / neutral / weak / not enough technical context>

Technical setup
- <RSI / moving-average distance / trend strength>
- <52-week distance / drawdown / volume context>

Caveats
- <degraded/new listing/null long-window fields/market_status caveat>

Freshness
- Technicals: <freshness>, as_of <timestamp>, market_status <status>
- Price action: <freshness>, as_of <timestamp>, market_status <status>

Calls used
- GET /v2/technicals
- GET /v2/price-action

Common mistakes

  • Implying execution readiness from market_status. It is a session hint, not an exchange operations feed.
  • Calling /v2/history when the user did not ask for rows or a chart.
  • Treating rsi_zone as a trading instruction.
  • Dropping _pct signs on drawdowns and distance fields.
  • Ignoring freshness: "degraded" on newer symbols with short history.

Next