Job finished
Execution time 12 days
Feedback from employee
great working with you
Feedback from customer
Great developer, he did a job as described! I am happy and will work with him in the future for sure! 10+
Specification
Develop a system where a MetaTrader 4 (MT4) Expert Advisor (EA) securely connects to our server, listens for trading commands, and executes them only if the account number in the command matches the MT4 account. The account number is retrieved from a MySQL database for security verification.
System Requirements:
MT4 EA Development:
- The EA should connect to our server and continuously listen for incoming messages.
- Upon receiving a message, the EA should verify if the account number in the message matches the MT4 account number.
- If the account numbers match, the EA executes the trading command; otherwise, it ignores the command.
- The EA must process all data dynamically, without hardcoded values.
Server-Side Setup:
- A Python script on our server will retrieve the AccountNumber from a MySQL database and send trading commands to multiple MT4 clients, including the account number.
- The server must maintain active connections with all MT4 clients.
- Ensure secure communication using SSL/TLS, preferably via a domain with Cloudflare or a secure IP connection.
Database Structure (MySQL):
- Table Name: forex
Table Structure:
| Column Name | Data Type | Description |
|---|---|---|
| ID | INT | Primary Key, auto-increment |
| Username | VARCHAR(50) | The username of the MT4 client |
| AccountNumber | VARCHAR(50) | The MT4 account number for the client |
| Platform | VARCHAR(10) | The trading platform, e.g., 'MT4' |
Security and Reliability:
- Use SSL/TLS for secure communication between the server and MT4 EAs.
- Implement error handling and automatic reconnection for reliability in case of disconnection.
- The account number from the database must match the MT4 account for the command to be executed, ensuring an additional layer of security.
Scalability:
- The system should support multiple MT4 clients on different networks or machines.
- Design the solution to be scalable for future expansion.
Example Command from Python Server:
ACCOUNT: 12345678 COMMAND: OPEN SYMBOL: EURUSD ORDER_TYPE: BUY LOTS: 0.1 PRICE: 1.1050 STOP_LOSS: 1.1000 TAKE_PROFIT: 1.1100
Technology Stack:
- MT4 EA: Developed in MQL4.
- Server-Side: Python
- Database: MySQL to retrieve the account number for command verification.
Responded
1
Rating
Projects
283
46%
Arbitration
27
59%
/
37%
Overdue
36
13%
Working
2
Rating
Projects
2
0%
Arbitration
1
0%
/
100%
Overdue
0
Free
3
Rating
Projects
2
0%
Arbitration
1
0%
/
0%
Overdue
0
Free
4
Rating
Projects
2
0%
Arbitration
1
0%
/
0%
Overdue
0
Free
5
Rating
Projects
416
30%
Arbitration
74
19%
/
72%
Overdue
52
13%
Working
Project information
Budget
99+ USD