Read history orders by time range#
About#
Returns the history of completed orders for a specific time range
For more information see Async api documentation
Request#
In order to retrieve history of closed orders by time range, your application needs to emit request
event with the following payload.
Name | Type | Required | Description |
---|---|---|---|
type | string | Yes | request type, must be getHistoryOrdersByTimeRange if you want to retrieve history of closed orders by time range |
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 | |
startTime | string(datetime) | Yes | start of time range, inclusive (ISO format) |
endTime | string(datetime) | Yes | end of time range, exclusive (ISO format) |
offset | number | pagination offset, default: 0 , min: 0 |
|
limit | number | pagination limit, default: 1000 , min: 1 , max: 1000 |
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 |
historyOrders | array | Yes | History orders with requested time range for a specified MetaTrader account. Response schema: Array<MetatraderOrder> |
synchronizing | boolean | Yes | If this field is true, this means that the data synchronization with the terminal is not yet complete and the data may not be accurate |
Code example#
import ioClient from 'socket.io-client';
const socket = ioClient('https://mt-client-api-v1.new-york.agiliumtrade.ai', {
path: '/ws',
reconnection: false,
query: {
'auth-token': 'token'
}
});
const request = {
accountId: '23ccdd23-0b8a-400d-9aba-0129de365ba9',
type: 'getHistoryOrdersByTimeRange',
requestId: 'b4713806-4de2-46c5-b17d-d1e20c027056',
startTime: '2020-04-15T00:30:00Z',
endTime: '2020-04-15T01:00:00Z'
};
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": "b4713806-4de2-46c5-b17d-d1e20c027056",
"historyOrders": [
{
"clientId": "TE_AUDUSD_SF1IDj3D9g",
"currentPrice": 0.64255,
"currentVolume": 0,
"doneTime": "2020-04-15T00:30:04.552Z",
"doneTime": "2020-04-15 03:30:04.552",
"id": "46201068",
"magic": 1000,
"platform": "mt5",
"positionId": "46201068",
"state": "ORDER_STATE_FILLED",
"symbol": "AUDUSD",
"time": "2020-04-15T00:30:04.300Z",
"brokerTime": "2020-04-15 03:30:04.300",
"type": "ORDER_TYPE_BUY",
"volume": 0.07
}
],
"synchronizing": false,
"accountId": "23ccdd23-0b8a-400d-9aba-0129de365ba9"
}