Read positions#
About#
Returns positions for a specified MetaTrader account
For more information see Async api documentation
Request#
In order to retrieve positions, your application needs to emit request
event with the following payload.
Name | Type | Required | Description |
---|---|---|---|
type | string | Yes | request type, must be getPositions if you want to retrieve positions |
accountId | string | Yes | MetaTrader account id. You can retrieve account id from Web application after you add your MetaTrader account to our platform. The account id can also be obtained via Provisioning API |
requestId | string | Yes | request id which your application must supply. Request id must be unique during an API connection |
application | string | MetaApi application id. Default is RPC |
Response#
After executing your request the API server will emit response
event with the following payload.
Name | Type | Required | Description |
---|---|---|---|
type | string | Yes | The value of this field will be response in the response to the above request |
requestId | string | Yes | request id the response relates to |
accountId | string | Yes | account id specified in the request |
positions | object | Yes | Positions for a specified MetaTrader account. Response schema: Array<MetatraderPosition> |
Code example#
import ioClient from 'socket.io-client';
const socket = ioClient('https://mt-client-api-v1.agiliumtrade.agiliumtrade.ai', {
path: '/ws',
reconnection: false,
query: {
'auth-token': 'token'
}
});
const request = {
accountId: '23ccdd23-0b8a-400d-9aba-0129de365ba9',
type: 'getPositions',
requestId: '4aaafb45-8d96-4405-a026-5f35aca5d60d'
};
socket.on('connect', () => {
socket.emit('request', request);
});
socket.on('response', response => {
console.log(response);
});
socket.on('processingError', err => {
console.error(err);
});
Response example#
{
"type": "response",
"requestId": "4aaafb45-8d96-4405-a026-5f35aca5d60d",
"positions": [
{
"id": "46214692",
"type": "POSITION_TYPE_BUY",
"symbol": "GBPUSD",
"magic": 1000,
"time": "2020-04-15T02:45:06.521Z",
"brokerTime": "2020-04-15 05:45:06.521",
"openPrice": 1.26101,
"currentPrice": 1.24883,
"currentTickValue": 1,
"volume": 0.07,
"swap": 0,
"profit": -85.25999999999966,
"updateTime": "2020-04-15T02:45:06.521Z",
"commission": -0.25,
"clientId": "TE_GBPUSD_7hyINWqAlE",
"stopLoss": 1.17721,
"unrealizedProfit": -85.25999999999901,
"realizedProfit": -6.536993168992922e-13
}
],
"accountId": "23ccdd23-0b8a-400d-9aba-0129de365ba9"
}