A robust trading signal management and copy trading system built with Node.js and MongoDB.
This platform enables automated trading signal management, strategy configuration, and copy trading functionality across multiple trading accounts. It provides a comprehensive API for managing trading operations, user authentication, and real-time signal processing.
-
Authentication System
- JWT-based secure authentication
- User registration and login
- Token verification and role-based access control
-
Trading Signal Management
- External signal processing
- Trading signal generation and distribution
- Real-time signal copying between accounts
-
Strategy Configuration
- Master strategy management
- Slave settings configuration
- Portfolio strategy handling
- Risk management settings
-
Transaction Tracking
- Detailed transaction history
- Performance metrics
- Stop-out management
- Backend: Node.js/Express.js
- Database: MongoDB
- Authentication: JWT
- Trading Integration: MT4 API
- Security: Crypto module for randomization
- POST
/auth/register
- User registration - POST
/auth/login
- User login
- POST
/configuration/master-strategies
- Create master strategy - GET
/configuration/strategies
- Retrieve strategies - PUT
/configuration/strategies/:strategyId
- Update strategy - DELETE
/configuration/strategies/:strategyId
- Remove strategy
- Multiple endpoints for signal management and trade execution
- Portfolio management endpoints
- Transaction history endpoints
- Authentication Model: User credentials and access management
- Strategy Models: Master, Slave, and Portfolio configurations
- Trading Models: Signals, External signals, Stop-outs
- Transaction Model: Trading history and performance tracking
- JWT-based authentication
- Token expiration handling
- Role-based access control
- Secure password handling
npm install
npm start
Create a .env
file in the root directory with the following variables:
PORT=3000
MONGODB_URI=your_mongodb_uri
JWT_SECRET=your_jwt_secret
MT4_API_KEY=your_mt4_api_key
MT4_API_SECRET=your_mt4_api_secret
- Configure trading strategies
- Set up signal copying rules
- Monitor transactions and performance
- Manage portfolio strategies
- Track trading signals and execution
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a pull request
This project is licensed under the MIT License - see the LICENSE file for details.