https://drive.google.com/file/d/1VEZIMYgDX3RalEK3iySwAn7Rg99RjZQU/view?usp=sharing
- Place, modify, and cancel orders seamlessly.
- Retrieve real-time order book and positions.
- View open orders and trade history.
- Authenticate and connect to Deribit’s WebSocket server.
- Monitor CPU and memory usage.
- Programming Language: C++
- Build System: CMake
- simdjson: For efficient JSON parsing.
- libcurl: For REST API interactions.
- C++ Standard Libraries: Used for threading, file I/O, and data structures.
-
Clone this repository:
git clone <repository-url> cd <repository-directory>
-
Build the application:
mkdir build cd build/ cmake .. make
-
Run the application:
./deribit_order_management
-
For the server:
cd server/ g++ websocket_server.cpp utils.cpp threadpool.cpp -lcurl ./a.out
The app follows a modular code structure for maintainability and scalability:
.
├── include/ # Header files
├── src/ # Source files
├── server/ # WebSocket server code
├── build/ # Build directory
├── CMakeLists.txt # Build configuration
└── README.md # Documentation
- Modular Components: Separate files for order management, WebSocket client, and utility functions.
- Real-time Data: Simple and responsive UI.
- Error Handling: Robust exception handling for JSON parsing and network communication.
- JSON Parsing Errors: Resolved issues with handling malformed responses using simdjson.
- WebSocket Threading: Addressed threading conflicts during real-time data updates.
- Limited testing on non-Linux platforms.
- Requires manual server setup for WebSocket functionality.
- Requires good internet speed