How mohdhamzakhan/csbot works
CsBot is a CoinSwitch PRO spot/futures trading workbench: users configure a market and strategy in the UI, inspect history and live prices, backtest or optimize, then run a paper or guarded live trader. The backend also exposes a CLI for fetching candles and comparing strategies. The graph includes the documented scripting, rules, options, wallet, and portfolio capabilities; several of these implementation details are not sampled, so their links are omitted where evidence is insufficient.
Main entry points: Api.cs HTTP API · App.tsx Workbench · Trader.cs Paper/live trader · Backtester.cs Backtester
Components 29
Workbench UI
- Workbench
CsBotUi/src/App.tsx - API client
CsBotUi/src/api.ts - Chart panel
CsBotUi/src/ChartPanel.tsx - Strategy editors
CsBotUi/src/ScriptEditor.tsx - Trader controls
CsBotUi/src/TraderPanel.tsx - Research panels
CsBotUi/src/OptimizePanel.tsx - Options lab
CsBotUi/src/OptionsLab.tsx
Market Data
- Candle history
CsBot/CandleStore.cs - Live prices
CsBot/LiveFeed.cs - CoinSwitch client
CsBot/CoinSwitchClient.cs - CLI tools
CsBot/Cli.cs
Strategy Research
- Strategy registry
CsBot/StrategyRegistry.cs - Built-in strategies
CsBot/TrendFollowingStrategy.cs - Custom rules
CsBot/RuleStrategy.cs - Script strategy
CsBot/Scripting/ScriptStrategy.cs - Script parser
CsBot/Scripting/Parser.cs - Script lexer
CsBot/Scripting/Lexer.cs - Script templates
CsBot/Scripting/Templates.cs - Backtester
CsBot/Backtester.cs - Optimizer
CsBot/Optimizer.cs
Trading Execution
- Cost model
CsBot/CostConfig.cs - Simulation portfolio
CsBot/SimPortfolio.cs - Trader factory
CsBot/TraderFactory.cs - Paper/live trader
CsBot/Trader.cs
API and Persistence
- HTTP API
CsBot/Api.cs - Session state
CsBot/SessionStore.cs - Key store
CsBot/KeyStore.cs
Other components
- Trader
- CoinSwitch PRO
Connections 37
- Trader → Workbench: configures
- Workbench → API client: requests
CsBotUi/src/App.tsx - Workbench → Chart panel: renders
CsBotUi/src/App.tsx - Workbench → Strategy editors: renders
CsBotUi/src/App.tsx - Workbench → Trader controls: renders
CsBotUi/src/App.tsx - Workbench → Research panels: renders
CsBotUi/src/App.tsx - Workbench → Options lab: renders
CsBotUi/src/App.tsx - API client → HTTP API: calls
CsBotUi/src/api.ts - HTTP API → Candle history: loads candles
CsBot/Api.cs - HTTP API → Live prices: serves live data
CsBot/Api.cs - Candle history → CoinSwitch client: fetches history
CsBot/CandleStore.cs - Live prices → CoinSwitch client: fetches prices
CsBot/LiveFeed.cs - CLI tools → Candle history: fetches history
CsBot/Cli.cs - CLI tools → Backtester: runs comparisons
CsBot/Cli.cs - CLI tools → CoinSwitch client: requests market data
CsBot/Cli.cs - HTTP API → Strategy registry: selects strategy
CsBot/Api.cs - Strategy registry → Built-in strategies: creates strategy
CsBot/StrategyRegistry.cs - Strategy registry → Custom rules: creates strategy
CsBot/StrategyRegistry.cs - Strategy registry → Script strategy: creates strategy
CsBot/StrategyRegistry.cs - Script strategy → Script parser: compiles script
CsBot/Scripting/ScriptStrategy.cs - Script parser → Script lexer: tokenizes with
CsBot/Scripting/Parser.cs - HTTP API → Script templates: serves templates
CsBot/Api.cs - HTTP API → Backtester: runs backtests
CsBot/Api.cs - HTTP API → Optimizer: runs optimization
CsBot/Api.cs - Optimizer → Backtester: evaluates candidates
CsBot/Optimizer.cs - Backtester → Cost model: applies costs
CsBot/Backtester.cs - Backtester → Simulation portfolio: simulates portfolio
CsBot/Backtester.cs - HTTP API → Trader factory: builds trader
CsBot/Api.cs - Trader factory → Paper/live trader: constructs trader
CsBot/TraderFactory.cs - Paper/live trader → CoinSwitch client: places orders
CsBot/Trader.cs - Paper/live trader → Live prices: reads prices
CsBot/Trader.cs - Paper/live trader → Cost model: uses cost model
CsBot/Trader.cs - Paper/live trader → Simulation portfolio: tracks portfolio
CsBot/Trader.cs - Paper/live trader → Session state: persists state
CsBot/Trader.cs - Key store → CoinSwitch PRO: validates keys
CsBot/KeyStore.cs - CoinSwitch client → CoinSwitch PRO: requests market and orders
- HTTP API → Key store: manages credentials
CsBot/Api.cs