Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const { BlinkTradeWS } = require('blinktrade')
- let orderbook = []
- function onExecutionReportNew(data) {
- console.log('Callback quando voce envia uma nova ordem')
- }
- function onExecutionReportPartial(data) {
- console.log('Callback quando sua ordem é parcialmente executada')
- }
- function onExecutionReportExecution(data) {
- console.log('Callback quando sua ordem é totalmente executada')
- }
- function onExecutionReportCanceled(data) {
- console.log('Callback quando sua ordem é cancelada')
- }
- function onExecutionReportRejected(data) {
- console.log('Callback quando sua ordem é rejeitada por algum erro')
- }
- function onOrderBookNewOrder(data) {
- console.log('Callback quando recebe uma nova ordem')
- const index = data.index - 1
- const side = data.side === 'buy' ? 'bids' : 'asks'
- orderbook[data.symbol][side].splice(index, 0, [data.price, data.size, data.userId, data.orderId])
- }
- function onOrderBookUpdateOrder(data) {
- console.log('Callback quando uma ordem foi atualizada (parcialmente executada)')
- const index = data.index - 1
- const side = data.side === 'buy' ? 'bids' : 'asks'
- orderbook[data.symbol][side].splice(index, 1, [data.price, data.size, data.userId, data.orderId])
- }
- function onOrderBookDeleteOrder(data) {
- console.log('Callback quando uma ordem foi deletada')
- const index = data.index - 1
- const side = data.side === 'buy' ? 'bids' : 'asks'
- orderbook[data.symbol][side].splice(index, 1)
- }
- function onOrderBookDeleteThruOrder(data) {
- console.log('Callback quando uma ou mais ordens foram executadas')
- const index = data.index
- const side = data.side === 'buy' ? 'bids' : 'asks'
- orderbook[data.symbol][side].splice(index, 1)
- }
- const blinktrade = new BlinkTradeWS({
- prod: false,
- brokerId: 5,
- })
- blinktrade.connect().then(() => {
- console.log('Conectado no WebSocket!')
- return blinktrade.login({
- username: 'user2',
- password: 'abc12345',
- })
- }).then((data) => {
- // Notificações de orderbook das suas ordens
- blinktrade.executionReport()
- .on('EXECUTION_REPORT:NEW', onExecutionReportNew)
- .on('EXECUTION_REPORT:PARTIAL', onExecutionReportPartial)
- .on('EXECUTION_REPORT:EXECUTION', onExecutionReportExecution)
- .on('EXECUTION_REPORT:CANCELED', onExecutionReportCanceled)
- .on('EXECUTION_REPORT:REJECTED', onExecutionReportRejected);
- return blinktrade.subscribeOrderbook(['BTCUSD'])
- // Notificações de orderbook de todas as ordens
- .on('OB:NEW_ORDER', onOrderBookNewOrder)
- .on('OB:UPDATE_ORDER', onOrderBookUpdateOrder)
- .on('OB:DELETE_ORDER', onOrderBookDeleteOrder)
- .on('OB:DELETE_ORDERS_THRU', onOrderBookDeleteThruOrder)
- }).then(data => {
- // Full OrderBook
- orderbook = data.MDFullGrp
- })
Add Comment
Please, Sign In to add comment