Guest User

Untitled

a guest
Feb 17th, 2018
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.63 KB | None | 0 0
  1. const { BlinkTradeWS } = require('blinktrade')
  2.  
  3. let orderbook = []
  4.  
  5. function onExecutionReportNew(data) {
  6. console.log('Callback quando voce envia uma nova ordem')
  7. }
  8. function onExecutionReportPartial(data) {
  9. console.log('Callback quando sua ordem é parcialmente executada')
  10. }
  11. function onExecutionReportExecution(data) {
  12. console.log('Callback quando sua ordem é totalmente executada')
  13. }
  14. function onExecutionReportCanceled(data) {
  15. console.log('Callback quando sua ordem é cancelada')
  16. }
  17. function onExecutionReportRejected(data) {
  18. console.log('Callback quando sua ordem é rejeitada por algum erro')
  19. }
  20.  
  21. function onOrderBookNewOrder(data) {
  22. console.log('Callback quando recebe uma nova ordem')
  23. const index = data.index - 1
  24. const side = data.side === 'buy' ? 'bids' : 'asks'
  25. orderbook[data.symbol][side].splice(index, 0, [data.price, data.size, data.userId, data.orderId])
  26. }
  27. function onOrderBookUpdateOrder(data) {
  28. console.log('Callback quando uma ordem foi atualizada (parcialmente executada)')
  29. const index = data.index - 1
  30. const side = data.side === 'buy' ? 'bids' : 'asks'
  31. orderbook[data.symbol][side].splice(index, 1, [data.price, data.size, data.userId, data.orderId])
  32. }
  33. function onOrderBookDeleteOrder(data) {
  34. console.log('Callback quando uma ordem foi deletada')
  35. const index = data.index - 1
  36. const side = data.side === 'buy' ? 'bids' : 'asks'
  37. orderbook[data.symbol][side].splice(index, 1)
  38. }
  39. function onOrderBookDeleteThruOrder(data) {
  40. console.log('Callback quando uma ou mais ordens foram executadas')
  41. const index = data.index
  42. const side = data.side === 'buy' ? 'bids' : 'asks'
  43. orderbook[data.symbol][side].splice(index, 1)
  44. }
  45.  
  46. const blinktrade = new BlinkTradeWS({
  47. prod: false,
  48. brokerId: 5,
  49. })
  50.  
  51. blinktrade.connect().then(() => {
  52. console.log('Conectado no WebSocket!')
  53. return blinktrade.login({
  54. username: 'user2',
  55. password: 'abc12345',
  56. })
  57. }).then((data) => {
  58. // Notificações de orderbook das suas ordens
  59. blinktrade.executionReport()
  60. .on('EXECUTION_REPORT:NEW', onExecutionReportNew)
  61. .on('EXECUTION_REPORT:PARTIAL', onExecutionReportPartial)
  62. .on('EXECUTION_REPORT:EXECUTION', onExecutionReportExecution)
  63. .on('EXECUTION_REPORT:CANCELED', onExecutionReportCanceled)
  64. .on('EXECUTION_REPORT:REJECTED', onExecutionReportRejected);
  65.  
  66. return blinktrade.subscribeOrderbook(['BTCUSD'])
  67. // Notificações de orderbook de todas as ordens
  68. .on('OB:NEW_ORDER', onOrderBookNewOrder)
  69. .on('OB:UPDATE_ORDER', onOrderBookUpdateOrder)
  70. .on('OB:DELETE_ORDER', onOrderBookDeleteOrder)
  71. .on('OB:DELETE_ORDERS_THRU', onOrderBookDeleteThruOrder)
  72. }).then(data => {
  73. // Full OrderBook
  74. orderbook = data.MDFullGrp
  75. })
Add Comment
Please, Sign In to add comment