Open secwang opened 4 years ago
` okexWebSocketClient(c) {
console.log("okex start")
var socket
const socketMessageListener = (event) => {
if (okexEnabled) {
// let trade = JSON.parse(event)
// console.log(event)
// console.log(event.data)
var json
var data = event.data
try {
if (data instanceof String) {
json = JSON.parse(data);
cosole.log("json",json);
} else { json = JSON.parse(pako.inflateRaw(data, { to: 'string' }));
// console.log("json",json);
}
} catch (error) {
console.log(error)
}
// var msg = pako.inflate(event.data)
//
// console.log("msg: " + msg)
// debugger;;
// console.log("okex trade " + JSON.stringify(event))
var tradeRaw = json.data[0]
let trade = Start.okexTrade(tradeRaw)
// console.log(trade[0],okexMinMarket)
console.log(trade[0])
if(trade[0].size >= okexMinMarket){
trades = trade.concat(trades)
}
}
}
const socketOpenListener = (event) => {
console.log('okex open')
socket.send("{\"op\": \"subscribe\", \"args\": [\"futures\/trade:BTC-USD-190816\"]}")
}
const socketCloseListener = (event) => {
if (socket) {
console.error('okex close')
}
socket = new WebSocket('wss://okexcomreal.bafang.com:8443/ws/v3?compress=true')
socket.binaryType = 'arraybuffer'
socket.addEventListener('open', socketOpenListener)
socket.addEventListener('message', socketMessageListener)
socket.addEventListener('close', socketCloseListener)
}
socketCloseListener()
}
static okexTrade(tradeRaw) {
let trade = []
trade.push({
symbol: "BTCUSD",
price: tradeRaw['price'],
size: Math.abs(parseInt(tradeRaw['qty'] * 10)),
timestamp: tradeRaw['timestamp'],
side: tradeRaw['side'] == 'buy',
exchangeName: "okex",
startTime: Date.now(),
btcAmt: Math.abs(parseInt(tradeRaw['qty'] * 10)) / tradeRaw['price'],
firstPrice: tradeRaw['price'],
lastPrice: tradeRaw['price']
})
return trade
}
`
Okex future support please. Thanks for you hard work for this handy tool.