Deals#
About#
Notifies consumer about changes in history deals.
For more information see AsyncApi documentation
Description#
This event is emitted by MetaApi upon initial terminal state synchronization
The message below can be received from the synchronization
event.
Name | Type | Required | Description |
---|---|---|---|
type | string | Yes | The value of this field will be deals |
synchronizationId | string | Yes | Id of the synchronization request |
deals | array | Yes | History deals. Payload schema: Array<MetatraderDeal> |
accountId | string | Yes | account id specified in the request |
sequenceNumber | number | Yes | an ordinal number of the packet. Increases by 1 with each new packet. Starts with 0 in every new session. Can be used to check for packet loss during synchronization. |
sequenceTimestamp | number | Yes | an ordinal number of packets, but this field is increased by a random number in each new packet. Always increases regardless of the session. |
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: '865d3a4d-3803-486d-bdf3-a85679d9fad2',
type: 'synchronize',
requestId: '57bfbc9f-108d-4131-a300-5f7d9e69c11b',
startingDealTime: '2019-01-13T10:29:26.000Z',
startingHistoryOrderTime: '2019-01-13T10:29:26.000Z'
};
socket.on('connect', () => {
socket.emit('request', request);
});
socket.on('synchronization', data => {
console.log(data);
if (data.type === 'authenticated') {
request.requestId = uuid.v4();
socket.emit('request', request);
}
});
socket.on('processingError', err => {
console.error(err);
});
An example of a synchronization payload:
{
"type": "deals",
"synchronizationId": "57bfbc9f-108d-4131-a300-5f7d9e69c11b",
"deals": [
{
"id": "27836211",
"type": "DEAL_TYPE_BUY",
"symbol": "AUDUSD",
"magic": 1000,
"time": "2020-02-27T09:53:12.042Z",
"brokerTime": "2020-02-27 12:53:12.042",
"entryType": "DEAL_ENTRY_IN",
"volume": 0.04,
"price": 0.65712,
"commission": -0.14,
"swap": 0,
"profit": 0,
"positionId": "38894739",
"orderId": "38894739",
"platform": "mt5",
"clientId": "SH_52150619_iODm2q5aiH"
}
],
"accountId": "865d3a4d-3803-486d-bdf3-a85679d9fad2"
}