ctrader-adapter
TypeScript icon, indicating that this package has built-in type declarations

2.2.6 • Public • Published

cTrader Layer

Image Image

A Node.js communication layer for cTrader Open API.
This implementation is created and maintained by Reiryoku Technologies and its contributors.

Installation

npm install @reiryoku/ctrader-layer

Usage

For the cTrader Open API usage refer to the Open API Documentation.

How to establish a connection

const { CTraderConnection } = require("@reiryoku/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 authenticate a trading account

You can get the access token to use your account from Open API Applications. First, you have to authenticate the application, then you can authenticate your trading accounts as follows.

await connection.sendCommand("ProtoOAAccountAuthReq", {
    accessToken: "foo",
    ctidTraderAccountId: "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.

Readme

Keywords

none

Package Sidebar

Install

npm i ctrader-adapter

Weekly Downloads

1

Version

2.2.6

License

MIT

Unpacked Size

285 kB

Total Files

76

Last publish

Collaborators

  • desoss