feat(): add copy trading ws topic example
This commit is contained in:
61
examples/ws-private-copytrading-v3.ts
Normal file
61
examples/ws-private-copytrading-v3.ts
Normal file
@@ -0,0 +1,61 @@
|
||||
/* eslint-disable no-unused-vars */
|
||||
/* eslint-disable @typescript-eslint/no-unused-vars */
|
||||
/* eslint-disable @typescript-eslint/no-empty-function */
|
||||
import { DefaultLogger, WS_KEY_MAP, WebsocketClient } from '../src';
|
||||
|
||||
// or
|
||||
// import { DefaultLogger, WS_KEY_MAP, WebsocketClient } from 'bybit-api';
|
||||
|
||||
const logger = {
|
||||
...DefaultLogger,
|
||||
silly: (...params) => {
|
||||
// console.log(params);
|
||||
},
|
||||
};
|
||||
|
||||
const key = process.env.API_KEY;
|
||||
const secret = process.env.API_SECRET;
|
||||
|
||||
/**
|
||||
* Copy trading api docs say that private topics should connect to: wss://stream.bybit.com/realtime_private
|
||||
*
|
||||
* Within this SDK, only the market `linear` uses this endpoint for private topics:
|
||||
*/
|
||||
const market = 'linear';
|
||||
|
||||
const wsClient = new WebsocketClient(
|
||||
{
|
||||
key: key,
|
||||
secret: secret,
|
||||
market: market,
|
||||
},
|
||||
logger,
|
||||
);
|
||||
|
||||
wsClient.on('update', (data) => {
|
||||
console.log('raw message received ', JSON.stringify(data, null, 2));
|
||||
});
|
||||
|
||||
wsClient.on('open', (data) => {
|
||||
console.log('connection opened open:', data.wsKey);
|
||||
});
|
||||
wsClient.on('response', (data) => {
|
||||
console.log('ws response: ', JSON.stringify(data, null, 2));
|
||||
});
|
||||
wsClient.on('reconnect', ({ wsKey }) => {
|
||||
console.log('ws automatically reconnecting.... ', wsKey);
|
||||
});
|
||||
wsClient.on('reconnected', (data) => {
|
||||
console.log('ws has reconnected ', data?.wsKey);
|
||||
});
|
||||
wsClient.on('error', (data) => {
|
||||
console.error('ws exception: ', data);
|
||||
});
|
||||
|
||||
// copy trading topics from api docs: https://bybit-exchange.github.io/docs/copy-trade/ws-private/position
|
||||
wsClient.subscribe([
|
||||
'copyTradePosition',
|
||||
'copyTradeOrder',
|
||||
'copyTradeExecution',
|
||||
'copyTradeWallet',
|
||||
]);
|
||||
Reference in New Issue
Block a user