75 lines
3.3 KiB
Markdown
75 lines
3.3 KiB
Markdown
# Current recommendations
|
|
|
|
Last reviewed: 2026-08-11 04:13 CDT.
|
|
|
|
This file is the short list of work worth considering next. Verified history,
|
|
measurements and completed work remain in `docs/IMPLEMENTATION_PLAN.md`.
|
|
|
|
## Fix next
|
|
|
|
### Deepen freshness telemetry
|
|
|
|
The status bar now reports when the browser received its latest snapshot or bar.
|
|
A later server-side implementation can distinguish market closure, source delay
|
|
and transport failure by carrying exact trade time, the last settled minute,
|
|
source receipt time and an application heartbeat over the existing WebSocket.
|
|
Any stale threshold must account for Yahoo's declared delay.
|
|
|
|
## Mobile authoring
|
|
|
|
The detailed plan is in `docs/mobile_enhance.md`. Recommended first tranche:
|
|
|
|
1. Add touch-sized invisible hit regions without enlarging the visual marks.
|
|
2. Keep the first tap's trendline anchor visible with price/time, Cancel and
|
|
Undo anchor.
|
|
3. Add a compact sticky mobile tool rail next to the chart.
|
|
4. Add a selected-drawing action bar so End here and Delete do not require
|
|
right-click or a hardware keyboard.
|
|
|
|
Prefer tap-tap trendlines on touch devices. Reserve one-finger vertical movement
|
|
for page scrolling, retain horizontal chart panning and pinch zoom, and offer a
|
|
chart-focused landscape/fullscreen mode.
|
|
|
|
## Market-data alternatives
|
|
|
|
No durable unauthenticated source of free real-time CME `/ES` data has been
|
|
identified. CME real-time access is normally broker-subsidized and tied to an
|
|
authenticated exchange entitlement, not a public free API.
|
|
|
|
Practical ranking:
|
|
|
|
1. Keep Schwab for verified entitled real-time streaming and Yahoo for delayed
|
|
development/history seeding.
|
|
2. Pilot Tastytrade/dxLink on a live futures-approved account. Confirm actual
|
|
delay, candle retention, continuous/root symbol behavior and server-side-use
|
|
terms before integrating it.
|
|
3. Consider IBKR as the strongest low-cost fallback if literal zero cost is not
|
|
required; resolve and roll the active contract explicitly for live data.
|
|
4. Consider TradeStation only if its account-funding/API-access requirements are
|
|
already acceptable.
|
|
5. Evaluate Nasdaq Data Link CHRIS only for continuous daily seeding after
|
|
confirming current freshness and free-key availability.
|
|
|
|
Do not build a backend around scraped TradingView, CME, Barchart, Investing.com,
|
|
MarketWatch or Stooq pages. Public display access is not a supported market-data
|
|
API or a CME redistribution license.
|
|
|
|
References:
|
|
|
|
- Tastytrade streaming: https://developer.tastytrade.com/streaming-market-data/
|
|
- IBKR market data: https://www.interactivebrokers.com/en/pricing/research-news-marketdata.php
|
|
- TradeStation API: https://www.tradestation.com/platforms-and-tools/trading-api/
|
|
- Nasdaq Data Link API: https://docs.data.nasdaq.com/
|
|
|
|
## Deferred test tied to production work
|
|
|
|
When startup seeding is changed to bulk-load bars, add an integration test that
|
|
asserts expensive level rebuilding happens once and that final stores/levels
|
|
match incremental ingestion. Do not assert a wall-clock duration and do not add
|
|
a test that merely codifies today's slow startup.
|
|
|
|
## Test and deployment commands
|
|
|
|
README is authoritative for local pytest, local Playwright E2E, pre-deploy and
|
|
production smoke-test commands. Browser E2E creates and deletes drawings, so it
|
|
must remain pointed at the local stack rather than production.
|