Trading bot control system for MOEX and crypto exchanges
The bots trade on their own around the clock, while a person sees them all in one window: state, orders on the chart, trade history.
ProjectsTrading bot control system for MOEX and crypto exchanges
How it works
The system has four parts: a trading core with the bots, a web interface, an engine that tests strategies on historical data, and a message bus between them. Each part runs in its own container and commands travel through a queue, so a bot can be restarted without losing its instructions.
It covers two markets: Moscow Exchange futures and perpetual contracts on a crypto exchange. Market data comes through a purpose-built client for the Moscow Exchange ISS API, and trading goes through the QUIK terminal over shared memory.
The system runs on a production server in containers; the control panel is behind a login, and only the web interface is exposed.
What it does
- Starting and stopping bots from the browser — the command goes into a queue and the bot picks it up itself.
- A candlestick chart with the bot’s own orders drawn on top: you can see where it entered and exited.
- Testing a strategy on history before going live: grid step derived from volatility, indicator filters, a summary per instrument.
- Pair trading: what is traded is not a coin but the ratio between two coins, so a general rise or fall of the market barely affects the result.
- A purpose-built exchange API client: instruments, candles, trades and order books, with paging and retries on failure.
- Telegram alerts about trades and failures.
Technology
- .NET 9
- C#
- F#
- ASP.NET Core
- EF Core
- PostgreSQL
- RabbitMQ
- MassTransit
- React
- TypeScript
- Tailwind
- Lightweight Charts
- Docker
- MOEX ISS
- QUIK
- Bybit API
Have an idea or a task?
Tell me about it — let’s figure out the best way to make it happen.
Contact me