명시
The EA should establish a Websocket connection with a Server and sends and receives commands.
Commands:
- send account information on EA Init:
"account=%d|name=%s|server=%s|broker=%s|balance=%.f2|equity=%.2f|pair=%s|owner=%s!"
It should send the account number, account name, server name, broker name, balance, equity, symbol on which the EA is active and owner is a email which needs to be changeable via the EA settings. Each command ends with an "!"
- send account information on every new bar in the following format:
"account=%d|balance=%.f2|equity=%.2f|ping=true!"
It should send the account number, balance, equity and ping=true on every new bar.
- receive Market Order informations in the following format:
"op=Buy|entry=2.0010001|sl=2.0010001|tp=2.0010001|lots=0.01|id=9|account=123123|idea=9!"
op can be Buy or Sell
Entry can be ignore, since we execute market orders
Sl is the price where the SL needs to be placed
TP is the price where the TP should be placed
Lots is the Lotsize of the order
id should be the comment, save it as a variable
account should be the account, make a check if the account == current account
idea is the ID to identify the trade on the server, save it as a variable
- send status of Market Order execution in the following format:
Once a Trade Execution is received and the trade is opened send a command to inform the server that the order has been executed
"account=123123|ticket=1122|status=success|idea=9|id=9!"
account is the current account
ticket is the ticket number of executed trade
status should be "success" if the order opened, if not please send the error code + message as status
idea is the ID (server side) which has been send in the order command (above)
id is the Order ID (server side) which has been send in the order command (above)
If the websocket connection is lost, establish a new connection