You have chosen to sponsor your bid up to a maximum amount of .
- Reverse engineering of the TCP/IP based protocol between Metatrader 4 Client (terminal.exe) and Server
- Creation of an API/DLL (incl. full source code) written in C# usable in .NET / C# to communicate with the Metatrader 4 server to emulate a fiew functions without using the Metatrader client (terminal.exe)
What is Metatrader:
Metatrader is a Windows-software in the financial market usually used by private traders. Mostly used to trade currencies (Forex). To trade, the user logs into the server at a brokerage-company from home by starting the client (terminal.exe). The server sends ongoing price updates to the client, and the client sends commands to the server when the user want to place an order.
The API has to do the following
1) Connect to the server using ip/port.
2) Login to the server, authenticating corectly the client using the username/password provided by the other side.
3) Logout correctly.
4) Maintain connection open by sending automatical heartbeats or whatever needed to not be disconnected by the server.
5) Send a simple market order which contains the following parameters:
Symbol traded,Quantity,Side (Buy,Sell).
6) Understand correctly the response messages sent by the server for the functions above.
The winner of the project has to have great experience in encryption/decryiption algorithms, IDA-Pro (most probably), wireshark, .net programming. Please remember that this is 80% about understanding the protocol used and being able to decrypt it than coding the actual demonstrative API.
I can provide the client application for disection and instruct the winner of the project how to connect to the server in order to listen to the packets and analyse the structure.
You can download it from:
Please register with a demo account in order to be able to download the setup file. The program after installed is a .exe and will be located in the c:/Program Files/Metatrader ... folder.
The API should work on a live account also but i think the protocol will be the same (hopefuly).
If there are any questions, please contact me!