How pattty847/sentinel works
Sentinel is a GPU-accelerated trading terminal with a desktop client and a separate data server. The principal workflow streams market data into server-side market and trading services, sends it over the Sentinel stream protocol, then displays it in interactive charts and order-book views. The repository also includes paper trading, simulation and backtesting, recording/capture, stock and SEC overlays, and screener workflows. The README documents the high-level client/server and product capabilities; sampled source supports selected internal calls, so unsampled subsystem links are omitted where their ownership is unclear.
Main entry points: SentinelServerApp.cpp Server Runtime · SentinelStreamClient.cpp Stream Client · main.cpp GUI Startup · MarketDataCoreEngine.cpp Market Feed Engine
Components 27
Applications
- GUI Startup
apps/sentinel_gui/main.cpp - Server Startup
apps/sentinel-server/main.cpp - Server Runtime
apps/sentinel-server/SentinelServerApp.cpp - Capture Tool
libs/core/capture/CaptureApp.cpp
Market Data
- Runtime Config
libs/core/config/ConfigTypes.hpp - Market Feed Engine
libs/core/marketdata/MarketDataCoreEngine.cpp - Trades & Order Book
libs/core/marketdata/model/TradeData.h - Message Dispatch
libs/core/marketdata/dispatch/MessageDispatcher.hpp - Logging
libs/core/SentinelLogging.hpp
Server Services
- Stream Server
libs/core/protocol/SentinelStreamServer.cpp - Stream Client
libs/core/protocol/SentinelStreamClient.cpp - Server Data Model
libs/core/servermodel/ServerDataModel.cpp - Recording Storage
libs/core/servermodel/RecordingChunks.cpp - Heatmap Services
libs/core/servermodel/ChunkService.cpp - Volume Profile Wire Types
libs/core/protocol/VolumeProfileSlice.hpp
Trading & Simulation
- Trading Engine
libs/core/trading/TradingEngine.cpp - Algo Engine
libs/core/trading/AlgoEngine.cpp - Replay Backtest
libs/core/trading/ReplayEngine.cpp
Desktop Client
- Main Window
libs/gui/MainWindowGpu.cpp - Unified Grid Renderer
libs/gui/UnifiedGridRenderer.cpp - Heatmap Rendering
libs/gui/render/heatmap/HeatmapRenderNode.cpp - Heatmap Stream State
libs/gui/render/HeatmapStreamState.cpp - Stock Chart & SEC
libs/gui/widgets/StockChartDock.cpp - Screener
libs/gui/widgets/ScreenerDock.cpp - Order Book & DOM
libs/gui/widgets/OrderBookDock.cpp - Paper Trading UI
libs/gui/widgets/PaperTradingDock.cpp
Other components
- Trader
Connections 27
- Trader → GUI Startup: starts
README.md - GUI Startup → Runtime Config: loads config
apps/sentinel_gui/main.cpp - GUI Startup → Main Window: opens window
apps/sentinel_gui/main.cpp - Server Startup → Runtime Config: loads config
apps/sentinel-server/main.cpp - Server Startup → Server Runtime: initializes
apps/sentinel-server/main.cpp - Server Runtime → Market Feed Engine: configures
- Market Feed Engine → Message Dispatch: dispatches messages
libs/core/marketdata/MarketDataCoreEngine.cpp - Market Feed Engine → Trades & Order Book: processes trades
libs/core/marketdata/MarketDataCoreEngine.cpp - Server Runtime → Server Data Model: configures
- Server Runtime → Stream Server: configures
- Server Runtime → Runtime Config: uses settings
- Server Data Model → Recording Storage: records data
- Server Data Model → Heatmap Services: serves heatmap
- Main Window → Stream Client: connects to server
README.md - Stream Client → Stream Server: exchanges stream data
README.md - Stream Client → Volume Profile Wire Types: uses wire types
libs/core/protocol/SentinelStreamClient.cpp - Main Window → Unified Grid Renderer: uses renderer
- Unified Grid Renderer → Heatmap Stream State: uses stream state
- Unified Grid Renderer → Heatmap Rendering: renders heatmap
- Trader → Stock Chart & SEC: views stock signals
README.md - Trader → Screener: finds symbols
README.md - Trader → Order Book & DOM: views order book
README.md - Trader → Paper Trading UI: places paper trades
README.md - Paper Trading UI → Stream Client: uses server connection
- Trading Engine → Algo Engine: supports algorithms
- Trader → Replay Backtest: runs replay
- Trader → Capture Tool: captures feed