@himalaya-quant/ctrader-layer
v2.3.0
Published
A Node.js communication layer for the cTrader Open API.
Downloads
215
Readme
HimalayaQuant cTrader Layer
A Node.js communication layer for the cTrader Open API. This implementation is created by Reiryoku Technologies and maintained by HimalayaQuant, Caius Citiriga and contributors.
Installation
npm install @himalaya-quant/ctrader-layerUsage
For the cTrader Open API usage refer to the Open API Documentation.
How to establish a connection
const { CTraderConnection } = require('@himalaya-quant/ctrader-layer');
const connection = new CTraderConnection({
host: 'demo.ctraderapi.com',
port: 5035,
});
await connection.open();How to send commands
You can use the sendCommand method to send a command with payload to the server.
The method returns a Promise resolved only when a response from the server is received.
If the response to the command contains an error code then the returned Promise is rejected.
await connection.sendCommand('PayloadName', {
foo: 'bar',
});How to authenticate an application
await connection.sendCommand('ProtoOAApplicationAuthReq', {
clientId: 'foo',
clientSecret: 'bar',
});How to keep connection alive
You can send a heartbeat message every 25 seconds to keep the connection alive.
setInterval(() => connection.sendHeartbeat(), 25000);How to listen events from server
connection.on('EventName', (event) => {
console.log(event);
});How to get the access token profile information
Through HTTP request.
console.log(await CTraderConnection.getAccessTokenProfile('access-token'));How to get the access token accounts
Through HTTP request.
console.log(await CTraderConnection.getAccessTokenAccounts('access-token'));Contribution
You can create a PR or open an issue for bug reports or ideas.
