Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- bitmex3.addStream('XBTUSD', 'trade', data => {
- try {
- const start = now();
- for (let t = data.length - 1; t >= 0; t--) {
- //console.log("trade working");
- for (var i = 0; i < activeOrders.length; i++) {
- //!canceledOrders.includes(activeOrders[i].orderID))
- if (((data[t].size <= activeOrders[i].orderQty && data[t].size + tradeHedgeSensitivity >= activeOrders[i].orderQty)|| data[t].size >=20000)&& activeOrders[i].price == data[t].price && !filledOrders[activeOrders[i].orderID]) {
- if (activeOrders[i].side == 'Buy') //&& FTXbidPrice*1.00025 >= activeOrders[i].price
- {
- if (bmexBTCbid != 0) {
- let sendFTXQty = (activeOrders[i].orderQty / bmexBTCbid).toFixed(4);
- VolumeBitmex = VolumeBitmex + activeOrders[i].orderQty;
- sendOrderREST('sell', 'BTC-PERP', FTXbidPrice - 20, sendFTXQty, false, true, activeOrders[i].price, false);
- filledOrders[activeOrders[i].orderID] = {
- ts: new Date(activeOrders[i].timestamp).getTime()
- };
- cancelOrderIDs.push(activeOrders[i].orderID);
- const end = now();
- console.log(colors.magenta("Trades Hedge took"), end - start, 'ms');
- }
- } else if (activeOrders[i].side == 'Sell') // && FTXaskPrice/1.00025<=activeOrders[i].price
- {
- if (bmexBTCbid != 0) {
- let sendFTXQty = (activeOrders[i].orderQty / bmexBTCbid).toFixed(4);
- VolumeBitmex = VolumeBitmex + activeOrders[i].orderQty;
- sendOrderREST('buy', 'BTC-PERP', FTXaskPrice + 20, sendFTXQty, false, true, activeOrders[i].price, false);
- filledOrders[activeOrders[i].orderID] = {
- ts: new Date(activeOrders[i].timestamp).getTime()
- };
- cancelOrderIDs.push(activeOrders[i].orderID);
- const end = now();
- console.log(colors.magenta("Trades Hedge took"), end - start, 'ms');
- }
- }
- }
- }
- }
- } catch (e) {
- if (errorCount > 5) {
- exitProcess();
- } else {
- errorCount = errorCount + 1;
- }
- console.error('trade ' + e);
- }
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement