Read candle (OHLCV)#
About#
Retrieves current candle for a symbol and timeframe
For more information see Async api documentation
Request#
In order to retrieve a latest candle, your application needs to emit request
event with the following payload.
Name | Type | Required | Description |
---|---|---|---|
type | string | Yes | request type, must be getCandle if you want to retrieve a current candle |
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 | |
symbol | string | Yes | symbol (e.g. currency pair or an index) |
timeframe | string | Yes | defines the timeframe according to which the candle must be generated. Allowed values for MT5 are 1m, 2m, 3m, 4m, 5m, 6m, 10m, 12m, 15m, 20m, 30m, 1h, 2h, 3h, 4h, 6h, 8h, 12h, 1d, 1w, 1mn. Allowed values for MT4 are 1m, 5m, 15m 30m, 1h, 4h, 1d, 1w, 1mn |
keepSubscription | boolean | if set to true, the account will get a long-term subscription to symbol market data. Long-term subscription means that on subsequent calls you will get updated value faster. If set to false or not set, the subscription will be set to expire in 12 minutes. |
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 |
candle | object | Yes | candle (ohlcv). Candle schema: MetatraderCandle |
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: '865d3a4d-3803-486d-bdf3-a85679d9fad2',
type: 'getCandle',
requestId: '60440b68-f098-4f9e-b9d0-ec7149979ec9',
symbol: 'AUDNZD',
timeframe: '15m'
};
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": "60440b68-f098-4f9e-b9d0-ec7149979ec9",
"accountId": "865d3a4d-3803-486d-bdf3-a85679d9fad2",
"candle": {
"symbol": "AUDNZD",
"timeframe": "15m",
"time": "2020-04-07T03:45:00.000Z",
"brokerTime": "2020-04-07 06:45:00.000",
"open": 1.03297,
"high": 1.06309,
"low": 1.02705,
"close": 1.043,
"tickVolume": 1435,
"spread": 17,
"volume": 345
}
}