@ex-master/core
Advanced tools
Comparing version 0.1.32 to 0.1.33
@@ -37,2 +37,3 @@ import { Decimal } from 'decimal.js'; | ||
private activeOrderMap; | ||
private canceledOrderIdSet; | ||
private groupToLockObjectMap; | ||
@@ -39,0 +40,0 @@ private stockMoneyToMarketDataMap; |
@@ -17,2 +17,3 @@ "use strict"; | ||
this.activeOrderMap = new Map(); | ||
this.canceledOrderIdSet = new Set(); | ||
this.groupToLockObjectMap = new Map(); | ||
@@ -315,7 +316,15 @@ this.stockMoneyToMarketDataMap = new multikey_map_1.MultikeyMap(); | ||
async cancelOrder(order) { | ||
let { group, label } = order; | ||
let { group, id, label } = order; | ||
if (this.canceledOrderIdSet.has(id)) { | ||
return; | ||
} | ||
this.dashboard.info(`cancel order [${group}] "${label}"`); | ||
await this.client.cancelOrder(order); | ||
this.canceledOrderIdSet.add(id); | ||
} | ||
async cancelOrders(orders) { | ||
orders = orders.filter(order => !this.canceledOrderIdSet.has(order.id)); | ||
if (!orders.length) { | ||
return; | ||
} | ||
let ordersStr = orders | ||
@@ -326,3 +335,5 @@ .map(({ group, label }) => `[${group}] "${label}"`) | ||
await this.client.cancelOrders(orders); | ||
await this.tick(); | ||
for (let { id } of orders) { | ||
this.canceledOrderIdSet.add(id); | ||
} | ||
} | ||
@@ -329,0 +340,0 @@ removeInactiveOrder(order) { |
{ | ||
"name": "@ex-master/core", | ||
"version": "0.1.32", | ||
"version": "0.1.33", | ||
"main": "bld/index.js", | ||
@@ -5,0 +5,0 @@ "types": "bld/index.d.ts", |
60247
1703