hft-js 0.1.9 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.test.js CHANGED
@@ -49,22 +49,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
49
49
  var node_fs_1 = __importDefault(require("node:fs"));
50
50
  var node_process_1 = require("node:process");
51
51
  var hft = __importStar(require("."));
52
- var existsFile = function (filename) {
53
- try {
54
- node_fs_1.default.accessSync(filename);
55
- return true;
56
- }
57
- catch (_a) {
58
- return false;
59
- }
60
- };
61
52
  var config = JSON.parse(node_fs_1.default.readFileSync("test.conf.json", "utf8"));
62
- if (!existsFile(config.FlowTdPath)) {
63
- node_fs_1.default.mkdirSync(config.FlowTdPath, { recursive: true });
64
- }
65
- if (!existsFile(config.FlowMdPath)) {
66
- node_fs_1.default.mkdirSync(config.FlowMdPath, { recursive: true });
67
- }
68
53
  var Strategy = /** @class */ (function () {
69
54
  function Strategy(engine) {
70
55
  this.symbol = config.Test.Symbol;
@@ -190,15 +175,17 @@ var Strategy = /** @class */ (function () {
190
175
  };
191
176
  return Strategy;
192
177
  }());
193
- var trader = hft.createTrader(config.FlowTdPath, config.FrontTdAddrs, config.UserInfo);
194
178
  var market = hft.createMarket(config.FlowMdPath, config.FrontMdAddrs, {
195
- onSubscribed: function (symbol) {
196
- console.log("Market subscribed: ".concat(symbol));
197
- },
198
- onUnsubscribed: function (symbol) {
199
- console.log("Market unsubscribed: ".concat(symbol));
179
+ listener: {
180
+ onSubscribed: function (symbol) {
181
+ console.log("Market subscribed: ".concat(symbol));
182
+ },
183
+ onUnsubscribed: function (symbol) {
184
+ console.log("Market unsubscribed: ".concat(symbol));
185
+ },
200
186
  },
201
187
  });
188
+ var trader = hft.createTrader(config.FlowTdPath, config.FrontTdAddrs, config.UserInfo, { fastQueryLastTick: function (instrumentId) { return market.getLastTick(instrumentId); } });
202
189
  var recorder = market.getRecorder();
203
190
  var enableRecorder = false;
204
191
  if (enableRecorder && recorder) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,oDAAyB;AACzB,6CAAoC;AAEpC,qCAAyB;AAWzB,IAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CACvB,iBAAE,CAAC,YAAY,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAC7B,CAAC;AAEf;IAME,kBAAY,MAA0B;QAF7B,WAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;QAGnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,yBAAM,GAAN;QAAA,iBAiFC;QAhFC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;QAE9C,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;QAExD,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE;YACvC,YAAY,EAAE,UAAC,UAAU;gBACvB,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;oBAC9C,IAAA,mBAAI,EAAC,CAAC,CAAC,CAAC;gBACV,CAAC;gBAED,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YACxC,CAAC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE;YAC3C,gBAAgB,EAAE,UAAC,IAAI;gBACrB,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;YACvC,CAAC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE;YACvC,YAAY,EAAE,UAAC,IAAI;gBACjB,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;YACnC,CAAC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC;YAC/B,iBAAiB,EAAE,UAAC,QAAQ;gBAC1B,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;YAC5C,CAAC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;YACtB,QAAQ,EAAE,UAAC,MAAM;gBACf,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAChC,CAAC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC;YAC/B,iBAAiB,EAAE,UAAC,eAAe;gBACjC,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC;YACnD,CAAC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;YACzB,WAAW,EAAE,UAAC,SAAS;gBACrB,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;YACtC,CAAC;SACF,CAAC,CAAC;QAEH,UAAU,CAAC;YACT,IAAI,CAAC,KAAI,CAAC,QAAQ,EAAE,CAAC;gBACnB,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;gBAC1C,OAAO;YACT,CAAC;YAED,IAAI,KAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,OAAO,CAAC,CAAC;YAC5B,CAAC;YAED,GAAG,CAAC,OAAO,CACT,KAAI,CAAC,MAAM,EACX,KAAI,EACJ,KAAI,CAAC,MAAM,EACX,CAAC,EACD,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EACrC;gBACE,gBAAgB,EAAE,UAAC,SAAS;oBAC1B,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,SAAS,CAAC,CAAC;gBACxD,CAAC;gBAED,iBAAiB,EAAE,UAAC,MAAM;oBACxB,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC;gBAClD,CAAC;aACF,CACF,CAAC;QACJ,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IAChB,CAAC;IAED,4BAAS,GAAT;QACE,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAClC,CAAC;IAED,yBAAM,GAAN,UAAO,IAAkB,EAAE,MAAe;QACxC,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;IAED,4BAAS,GAAT,UAAU,KAAoB;QAC5B,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;IAED,0BAAO,GAAP,UAAQ,KAAoB,EAAE,KAAoB;QAAlD,iBAyCC;QAxCC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QAE7C,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC9B,UAAU,CAAC;gBACT,KAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAI,CAAC,MAAM,EAAE;oBACrC,UAAU,EAAE,UAAC,QAAQ;wBACnB,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAI,CAAC,QAAQ,EAAE,CAAC;4BAChC,OAAO;wBACT,CAAC;wBAED,IAAM,SAAS,GACb,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;wBAE5D,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;4BAClB,IAAI,KAAI,CAAC,OAAO,EAAE,CAAC;gCACjB,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,OAAO,CAAC,CAAC;4BAC5B,CAAC;4BAED,GAAG,CAAC,SAAS,CACX,KAAI,CAAC,MAAM,EACX,KAAI,EACJ,KAAI,CAAC,MAAM,EACX,SAAS,EACT,CAAC,EACD,IAAI,EACJ;gCACE,gBAAgB,EAAE,UAAC,SAAS;oCAC1B,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,SAAS,CAAC,CAAC;gCACzD,CAAC;gCAED,iBAAiB,EAAE,UAAC,MAAM;oCACxB,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,MAAM,CAAC,CAAC;gCACnD,CAAC;6BACF,CACF,CAAC;wBACJ,CAAC;oBACH,CAAC;iBACF,CAAC,CAAC;YACL,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IAED,2BAAQ,GAAR,UAAS,KAAoB;QAC3B,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,2BAAQ,GAAR,UAAS,KAAoB;QAC3B,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,yBAAM,GAAN,UAAO,IAAkB,EAAE,IAAkB;QAC3C,oBAAoB;QACpB,oBAAoB;QAEpB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,wBAAK,GAAL,UAAM,GAAgB;QACpB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEjB,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;IACrB,CAAC;IACH,eAAC;AAAD,CAAC,AA1KD,IA0KC;AAED,IAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE;IACtE,QAAQ,EAAE;QACR,YAAY,EAAE,UAAC,MAAM;YACnB,OAAO,CAAC,GAAG,CAAC,6BAAsB,MAAM,CAAE,CAAC,CAAC;QAC9C,CAAC;QAED,cAAc,EAAE,UAAC,MAAM;YACrB,OAAO,CAAC,GAAG,CAAC,+BAAwB,MAAM,CAAE,CAAC,CAAC;QAChD,CAAC;KACF;CACF,CAAC,CAAC;AAEH,IAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAC7B,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,QAAQ,EACf,EAAE,iBAAiB,EAAE,UAAC,YAAY,IAAK,OAAA,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,EAAhC,CAAgC,EAAE,CAC1E,CAAC;AAEF,IAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;AACtC,IAAM,cAAc,GAAG,KAAK,CAAC;AAE7B,IAAI,cAAc,IAAI,QAAQ,EAAE,CAAC;IAC/B,QAAQ,CAAC,WAAW,CAClB;QACE,YAAY,EAAE,UAAC,UAAoC;YACjD,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,YAAY,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;QAC7D,CAAC;KACF,EACD,UAAC,WAAW;QACV,OAAA,WAAW;aACR,MAAM,CAAC,UAAC,UAAU,IAAK,OAAA,UAAU,CAAC,WAAW,KAAK,SAAS,EAApC,CAAoC,CAAC;aAC5D,GAAG,CAAC,UAAC,UAAU,IAAK,OAAA,UAAU,CAAC,MAAM,EAAjB,CAAiB,CAAC;IAFzC,CAEyC,CAC5C,CAAC;AACJ,CAAC;AAED,IAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE;IAC9C,OAAO,YAAC,KAAK,EAAE,OAAO;QACpB,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAChC,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AAEzC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;IACpB,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACrC,IAAA,mBAAI,EAAC,CAAC,CAAC,CAAC;AACV,CAAC"}
package/lib/market.d.ts CHANGED
@@ -1,10 +1,13 @@
1
1
  import { CTPProvider } from "./provider.js";
2
- import { InstrumentData } from "./typedef.js";
2
+ import { InstrumentData, OrderBook } from "./typedef.js";
3
3
  import { ILifecycleListener, IMarketProvider, IMarketRecorderProvider, IMarketRecorderReceiver, IMarketRecorderSymbols, ITickReceiver } from "./interfaces.js";
4
4
  export interface IMarketListener {
5
5
  onSubscribed: (symbol: string) => void;
6
6
  onUnsubscribed: (symbol: string) => void;
7
7
  }
8
+ export type MarketOptions = {
9
+ listener?: IMarketListener;
10
+ };
8
11
  export declare class Market extends CTPProvider implements IMarketProvider, IMarketRecorderProvider {
9
12
  private marketApi?;
10
13
  private recorder?;
@@ -15,10 +18,28 @@ export declare class Market extends CTPProvider implements IMarketProvider, IMar
15
18
  private readonly symbols;
16
19
  private readonly lastTicks;
17
20
  private readonly subscribers;
18
- constructor(flowMdPath: string, frontMdAddrs: string | string[], listener?: IMarketListener);
21
+ constructor(flowMdPath: string, frontMdAddrs: string | string[], options?: MarketOptions);
19
22
  getRecorder(): this;
20
23
  isRecorderReady(): boolean;
21
24
  setRecorder(receiver: IMarketRecorderReceiver, symbols: IMarketRecorderSymbols): void;
25
+ getLastTick(instrumentId: string): Readonly<{
26
+ symbol: string;
27
+ date: number;
28
+ time: number;
29
+ tradingDay: number;
30
+ preOpenInterest: number;
31
+ preClose: number;
32
+ openInterest: number;
33
+ openPrice: number;
34
+ highPrice: number;
35
+ lowPrice: number;
36
+ lastPrice: number;
37
+ volume: number;
38
+ amount: number;
39
+ limits: import("./typedef.js").PriceRange;
40
+ bandings: import("./typedef.js").PriceRange;
41
+ orderBook: OrderBook;
42
+ }> | undefined;
22
43
  open(lifecycle: ILifecycleListener): boolean;
23
44
  close(lifecycle: ILifecycleListener): void;
24
45
  startRecorder(instrument: InstrumentData[]): void;
@@ -26,4 +47,4 @@ export declare class Market extends CTPProvider implements IMarketProvider, IMar
26
47
  subscribe(symbols: string[], receiver: ITickReceiver): void;
27
48
  unsubscribe(symbols: string[], receiver: ITickReceiver): void;
28
49
  }
29
- export declare const createMarket: (flowMdPath: string, frontMdAddrs: string | string[], listener?: IMarketListener) => Market;
50
+ export declare const createMarket: (flowMdPath: string, frontMdAddrs: string | string[], options?: MarketOptions) => Market;
package/lib/market.js CHANGED
@@ -44,14 +44,16 @@ var utils_js_1 = require("./utils.js");
44
44
  var tape_js_1 = require("./tape.js");
45
45
  var Market = /** @class */ (function (_super) {
46
46
  __extends(Market, _super);
47
- function Market(flowMdPath, frontMdAddrs, listener) {
47
+ function Market(flowMdPath, frontMdAddrs, options) {
48
48
  var _this = _super.call(this, flowMdPath, frontMdAddrs) || this;
49
- _this.listener = listener;
50
49
  _this.tradingDay = 0;
51
50
  _this.recordings = new Set();
52
51
  _this.symbols = new Map();
53
52
  _this.lastTicks = new Map();
54
53
  _this.subscribers = new Map();
54
+ if (options === null || options === void 0 ? void 0 : options.listener) {
55
+ _this.listener = options.listener;
56
+ }
55
57
  return _this;
56
58
  }
57
59
  Market.prototype.getRecorder = function () {
@@ -64,6 +66,9 @@ var Market = /** @class */ (function (_super) {
64
66
  this.recorder = receiver;
65
67
  this.recorderSymbols = symbols;
66
68
  };
69
+ Market.prototype.getLastTick = function (instrumentId) {
70
+ return this.lastTicks.get(instrumentId);
71
+ };
67
72
  Market.prototype.open = function (lifecycle) {
68
73
  var _this = this;
69
74
  if (this.marketApi) {
@@ -307,6 +312,6 @@ var Market = /** @class */ (function (_super) {
307
312
  return Market;
308
313
  }(provider_js_1.CTPProvider));
309
314
  exports.Market = Market;
310
- var createMarket = function (flowMdPath, frontMdAddrs, listener) { return new Market(flowMdPath, frontMdAddrs, listener); };
315
+ var createMarket = function (flowMdPath, frontMdAddrs, options) { return new Market(flowMdPath, frontMdAddrs, options); };
311
316
  exports.createMarket = createMarket;
312
317
  //# sourceMappingURL=market.js.map
package/lib/market.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"market.js","sourceRoot":"","sources":["../src/market.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,sDAA2B;AAC3B,6CAA4C;AAE5C,uCAAsE;AACtE,qCAAyC;AAezC;IACU,0BAAW;IAanB,gBACE,UAAkB,EAClB,YAA+B,EAC/B,QAA0B;QAE1B,YAAA,MAAK,YAAC,UAAU,EAAE,YAAY,CAAC,SAAC;QAChC,KAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,KAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,KAAI,CAAC,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;QAC5B,KAAI,CAAC,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;QACzB,KAAI,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;QAC3B,KAAI,CAAC,WAAW,GAAG,IAAI,GAAG,EAAE,CAAC;;IAC/B,CAAC;IAED,4BAAW,GAAX;QACE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gCAAe,GAAf;QACE,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,4BAAW,GAAX,UACE,QAAiC,EACjC,OAA+B;QAE/B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC;IACjC,CAAC;IAED,qBAAI,GAAJ,UAAK,SAA6B;QAAlC,iBAoNC;QAnNC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,kBAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAEtE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAG,CAAC,eAAe,CAAC,cAAc,EAAE;YACpD,KAAI,CAAC,UAAU,CAAC,cAAM,OAAA,KAAI,CAAC,SAAU,CAAC,YAAY,EAAE,EAA9B,CAA8B,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,IAAI,KAAK,GAAG,KAAK,CAAC;QAElB,IAAI,CAAC,SAAS,CAAC,EAAE,CACf,kBAAG,CAAC,eAAe,CAAC,YAAY,EAChC,UAAC,CAAC,EAAE,OAAO;YACT,IAAI,KAAI,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,CAAC;gBACzD,OAAO;YACT,CAAC;YAED,IAAM,UAAU,GAAG,QAAQ,CAAC,KAAI,CAAC,SAAU,CAAC,aAAa,EAAE,CAAC,CAAC;YAE7D,IAAI,KAAI,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;gBACnC,KAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;gBACvB,KAAI,CAAC,UAAU,GAAG,UAAU,CAAC;YAC/B,CAAC;YAED,IAAM,aAAa,GAAG,IAAI,GAAG,iCACxB,KAAK,CAAC,IAAI,CAAC,KAAI,CAAC,UAAU,CAAC,SAC3B,MAAM,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,QAChC,CAAC;YAEH,IAAI,aAAa,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBAC3B,KAAI,CAAC,UAAU,CAAC;oBACd,OAAA,KAAI,CAAC,SAAU,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAA9D,CAA8D,CAC/D,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,KAAK,GAAG,IAAI,CAAC;gBACb,SAAS,CAAC,MAAM,EAAE,CAAC;YACrB,CAAC;QACH,CAAC,CACF,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,EAAE,CACf,kBAAG,CAAC,eAAe,CAAC,gBAAgB,EACpC,UAAC,UAAU;YACT,IAAI,CAAC,KAAI,CAAC,QAAQ,EAAE,CAAC;gBACnB,OAAO;YACT,CAAC;YAED,IAAM,MAAM,GAAG,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YAEzD,KAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,UAAU,CAAC,YAAY,CAAC,CAAC;QAChE,CAAC,CACF,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,EAAE,CACf,kBAAG,CAAC,eAAe,CAAC,kBAAkB,EACtC,UAAC,UAAU;YACT,IAAI,CAAC,KAAI,CAAC,QAAQ,EAAE,CAAC;gBACnB,OAAO;YACT,CAAC;YAED,IAAM,MAAM,GAAG,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YAEzD,KAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,UAAU,CAAC,YAAY,CAAC,CAAC;QAClE,CAAC,CACF,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,EAAE,CACf,kBAAG,CAAC,eAAe,CAAC,kBAAkB,EACtC,UAAC,eAAe;YACd,IAAM,YAAY,GAAG,eAAe,CAAC,YAAY,CAAC;YAElD,IAAI,KAAI,CAAC,QAAQ,IAAI,KAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;gBACvD,KAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;YAC9C,CAAC;YAED,IAAM,MAAM,GAAG,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAE9C,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO;YACT,CAAC;YAED,IAAM,SAAS,GAAc;gBAC3B,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;gBAC/B,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;aAChC,CAAC;YAEF,IACE,IAAA,uBAAY,EAAC,eAAe,CAAC,SAAS,CAAC;gBACvC,IAAA,wBAAa,EAAC,eAAe,CAAC,UAAU,CAAC,EACzC,CAAC;gBACD,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;gBACrD,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;gBAEvD,IACE,IAAA,uBAAY,EAAC,eAAe,CAAC,SAAS,CAAC;oBACvC,IAAA,wBAAa,EAAC,eAAe,CAAC,UAAU,CAAC,EACzC,CAAC;oBACD,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;oBACrD,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;oBAEvD,IACE,IAAA,uBAAY,EAAC,eAAe,CAAC,SAAS,CAAC;wBACvC,IAAA,wBAAa,EAAC,eAAe,CAAC,UAAU,CAAC,EACzC,CAAC;wBACD,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;wBACrD,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;wBAEvD,IACE,IAAA,uBAAY,EAAC,eAAe,CAAC,SAAS,CAAC;4BACvC,IAAA,wBAAa,EAAC,eAAe,CAAC,UAAU,CAAC,EACzC,CAAC;4BACD,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;4BACrD,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;4BAEvD,IACE,IAAA,uBAAY,EAAC,eAAe,CAAC,SAAS,CAAC;gCACvC,IAAA,wBAAa,EAAC,eAAe,CAAC,UAAU,CAAC,EACzC,CAAC;gCACD,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;gCACrD,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;4BACzD,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IACE,IAAA,uBAAY,EAAC,eAAe,CAAC,SAAS,CAAC;gBACvC,IAAA,wBAAa,EAAC,eAAe,CAAC,UAAU,CAAC,EACzC,CAAC;gBACD,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;gBACrD,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;gBAEvD,IACE,IAAA,uBAAY,EAAC,eAAe,CAAC,SAAS,CAAC;oBACvC,IAAA,wBAAa,EAAC,eAAe,CAAC,UAAU,CAAC,EACzC,CAAC;oBACD,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;oBACrD,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;oBAEvD,IACE,IAAA,uBAAY,EAAC,eAAe,CAAC,SAAS,CAAC;wBACvC,IAAA,wBAAa,EAAC,eAAe,CAAC,UAAU,CAAC,EACzC,CAAC;wBACD,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;wBACrD,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;wBAEvD,IACE,IAAA,uBAAY,EAAC,eAAe,CAAC,SAAS,CAAC;4BACvC,IAAA,wBAAa,EAAC,eAAe,CAAC,UAAU,CAAC,EACzC,CAAC;4BACD,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;4BACrD,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;4BAEvD,IACE,IAAA,uBAAY,EAAC,eAAe,CAAC,SAAS,CAAC;gCACvC,IAAA,wBAAa,EAAC,eAAe,CAAC,UAAU,CAAC,EACzC,CAAC;gCACD,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;gCACrD,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;4BACzD,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAM,IAAI,GAAG,KAAI,CAAC,UAAU,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;YAEzD,IAAM,IAAI,GAAa,MAAM,CAAC,MAAM,CAAC;gBACnC,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC;gBACzC,IAAI,EAAE,IAAI,GAAG,eAAe,CAAC,cAAc,GAAG,IAAI;gBAClD,UAAU,EAAE,QAAQ,CAAC,eAAe,CAAC,UAAU,CAAC;gBAChD,eAAe,EAAE,eAAe,CAAC,eAAe;gBAChD,QAAQ,EAAE,eAAe,CAAC,aAAa;gBACvC,YAAY,EAAE,eAAe,CAAC,YAAY;gBAC1C,SAAS,EAAE,eAAe,CAAC,SAAS;gBACpC,SAAS,EAAE,eAAe,CAAC,YAAY;gBACvC,QAAQ,EAAE,eAAe,CAAC,WAAW;gBACrC,SAAS,EAAE,eAAe,CAAC,SAAS;gBACpC,MAAM,EAAE,eAAe,CAAC,MAAM;gBAC9B,MAAM,EAAE,eAAe,CAAC,QAAQ;gBAChC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;oBACpB,KAAK,EAAE,eAAe,CAAC,eAAe;oBACtC,KAAK,EAAE,eAAe,CAAC,eAAe;iBACvC,CAAC;gBACF,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC;oBACtB,KAAK,EAAE,eAAe,CAAC,iBAAiB;oBACxC,KAAK,EAAE,eAAe,CAAC,iBAAiB;iBACzC,CAAC;gBACF,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;aACpC,CAAC,CAAC;YAEH,IAAM,SAAS,GAAG,KAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAErD,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtC,IAAM,QAAQ,GAAG,KAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBAClD,IAAM,MAAI,GAAG,IAAA,sBAAY,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAE1C,SAAS,CAAC,OAAO,CAAC,UAAC,QAAQ,IAAK,OAAA,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAI,CAAC,EAA3B,CAA2B,CAAC,CAAC;YAC/D,CAAC;YAED,KAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QACzC,CAAC,CACF,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,sBAAK,GAAL,UAAM,SAA6B;QACjC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,SAAS,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC;IAED,8BAAa,GAAb,UAAc,UAA4B;QAA1C,iBA4BC;QA3BC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,IAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QACjD,IAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;QAExC,OAAO,CAAC,OAAO,CAAC,UAAC,MAAM;YACd,IAAA,YAAY,GAAI,IAAA,sBAAW,EAAC,MAAM,CAAC,GAAvB,CAAwB;YAE3C,IAAI,KAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;gBACtC,OAAO;YACT,CAAC;YAED,KAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAElC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;gBACxC,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;gBACvC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAClC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,aAAa,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,UAAU,CAAC,sBACd,OAAA,MAAA,KAAI,CAAC,SAAS,0CAAE,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAA,EAAA,CAC/D,CAAC;QACJ,CAAC;IACH,CAAC;IAED,6BAAY,GAAZ;QAAA,iBAqBC;QApBC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,IAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;QAExC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAC,YAAY;YACnC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;gBACxC,KAAI,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBAClC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAClC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAExB,IAAI,aAAa,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,UAAU,CAAC,sBACd,OAAA,MAAA,KAAI,CAAC,SAAS,0CAAE,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAA,EAAA,CACjE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,0BAAS,GAAT,UAAU,OAAiB,EAAE,QAAuB;QAApD,iBA0BC;QAzBC,IAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;QAExC,OAAO,CAAC,OAAO,CAAC,UAAC,MAAM;YACd,IAAA,YAAY,GAAI,IAAA,sBAAW,EAAC,MAAM,CAAC,GAAvB,CAAwB;YAC3C,IAAM,SAAS,GAAG,KAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAErD,IAAI,SAAS,EAAE,CAAC;gBACd,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAClC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,KAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAE/C,IAAI,CAAC,KAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;oBACvC,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;oBACvC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,aAAa,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,UAAU,CAAC,sBACd,OAAA,MAAA,KAAI,CAAC,SAAS,0CAAE,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAA,EAAA,CAC/D,CAAC;QACJ,CAAC;IACH,CAAC;IAED,4BAAW,GAAX,UAAY,OAAiB,EAAE,QAAuB;QAAtD,iBAoCC;QAnCC,IAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;QAExC,OAAO,CAAC,OAAO,CAAC,UAAC,MAAM;YACd,IAAA,YAAY,GAAI,IAAA,sBAAW,EAAC,MAAM,CAAC,GAAvB,CAAwB;YAC3C,IAAM,SAAS,GAAG,KAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAErD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,OAAO;YACT,CAAC;YAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,IAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAE1C,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;oBACd,OAAO;gBACT,CAAC;gBAED,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC7B,CAAC;YAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3B,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBAEtC,IAAI,CAAC,KAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;oBACvC,KAAI,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;oBAClC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,aAAa,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,UAAU,CAAC,sBACd,OAAA,MAAA,KAAI,CAAC,SAAS,0CAAE,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAA,EAAA,CACjE,CAAC;QACJ,CAAC;IACH,CAAC;IACH,aAAC;AAAD,CAAC,AAnYD,CACU,yBAAW,GAkYpB;AAnYY,wBAAM;AAqYZ,IAAM,YAAY,GAAG,UAC1B,UAAkB,EAClB,YAA+B,EAC/B,QAA0B,IACvB,OAAA,IAAI,MAAM,CAAC,UAAU,EAAE,YAAY,EAAE,QAAQ,CAAC,EAA9C,CAA8C,CAAC;AAJvC,QAAA,YAAY,gBAI2B"}
1
+ {"version":3,"file":"market.js","sourceRoot":"","sources":["../src/market.ts"],"names":[],"mappings":"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"}
package/lib/provider.js CHANGED
@@ -50,11 +50,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
50
50
  };
51
51
  Object.defineProperty(exports, "__esModule", { value: true });
52
52
  exports.CTPProvider = void 0;
53
+ var node_fs_1 = __importDefault(require("node:fs"));
53
54
  var napi_ctp_1 = __importDefault(require("napi-ctp"));
54
55
  var CTPProvider = /** @class */ (function () {
55
56
  function CTPProvider(flowPath, frontAddrs) {
56
57
  this.flowPath = flowPath;
57
58
  this.frontAddrs = frontAddrs;
59
+ try {
60
+ node_fs_1.default.accessSync(this.flowPath);
61
+ }
62
+ catch (_a) {
63
+ node_fs_1.default.mkdirSync(this.flowPath, { recursive: true });
64
+ }
58
65
  }
59
66
  CTPProvider.prototype._sleep = function (ms) {
60
67
  return new Promise(function (resolve) {
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,sDAA2B;AAG3B;IAIE,qBAAY,QAAgB,EAAE,UAA6B;QACzD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAEO,4BAAM,GAAd,UAAe,EAAU;QACvB,OAAO,IAAI,OAAO,CAAO,UAAC,OAAO;YAC/B,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAEe,gCAAU,GAA1B;4DAA2B,OAAiC,EAAE,EAAQ;;YAAR,mBAAA,EAAA,QAAQ;;;;wBAE5D,MAAM,GAAG,OAAO,EAAE,CAAC;wBAEzB,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;4BACjB,sBAAO,kBAAG,CAAC,gBAAgB,EAAE,EAAC;wBAChC,CAAC;6BAEG,CAAA,CAAC,CAAC,KAAK,MAAM,IAAI,CAAC,CAAC,KAAK,MAAM,CAAA,EAA9B,wBAA8B;wBAChC,qBAAM,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAA;;wBAArB,SAAqB,CAAC;wBACtB,wBAAS;4BAGX,sBAAO,MAAM,EAAC;;;;;;KAEjB;IAES,kCAAY,GAAtB,UACE,SAA6B,EAC7B,OAA4B,EAC5B,KAAgB;QAEhB,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACrB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,SAAS,CAAC,OAAO,CACf,KAAK,EACL,UAAG,OAAO,CAAC,OAAO,CAAC,OAAO,cAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAE,CACzD,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC;IAES,gCAAU,GAApB,UAAqB,IAAY;QACzB,IAAA,KAAyB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,QAAQ,CAAC,CAAC,CAAC,EAAX,CAAW,CAAC,EAA/D,IAAI,QAAA,EAAE,MAAM,QAAA,EAAE,MAAM,QAA2C,CAAC;QACvE,OAAO,IAAI,GAAG,KAAK,GAAG,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC;IAC9C,CAAC;IACH,kBAAC;AAAD,CAAC,AArDD,IAqDC;AArDY,kCAAW"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,oDAAyB;AACzB,sDAA2B;AAG3B;IAIE,qBAAY,QAAgB,EAAE,UAA6B;QACzD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,IAAI,CAAC;YACH,iBAAE,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;QAAC,WAAM,CAAC;YACP,iBAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAEO,4BAAM,GAAd,UAAe,EAAU;QACvB,OAAO,IAAI,OAAO,CAAO,UAAC,OAAO;YAC/B,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAEe,gCAAU,GAA1B;4DAA2B,OAAiC,EAAE,EAAQ;;YAAR,mBAAA,EAAA,QAAQ;;;;wBAE5D,MAAM,GAAG,OAAO,EAAE,CAAC;wBAEzB,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;4BACjB,sBAAO,kBAAG,CAAC,gBAAgB,EAAE,EAAC;wBAChC,CAAC;6BAEG,CAAA,CAAC,CAAC,KAAK,MAAM,IAAI,CAAC,CAAC,KAAK,MAAM,CAAA,EAA9B,wBAA8B;wBAChC,qBAAM,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAA;;wBAArB,SAAqB,CAAC;wBACtB,wBAAS;4BAGX,sBAAO,MAAM,EAAC;;;;;;KAEjB;IAES,kCAAY,GAAtB,UACE,SAA6B,EAC7B,OAA4B,EAC5B,KAAgB;QAEhB,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACrB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,SAAS,CAAC,OAAO,CACf,KAAK,EACL,UAAG,OAAO,CAAC,OAAO,CAAC,OAAO,cAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAE,CACzD,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC;IAES,gCAAU,GAApB,UAAqB,IAAY;QACzB,IAAA,KAAyB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,QAAQ,CAAC,CAAC,CAAC,EAAX,CAAW,CAAC,EAA/D,IAAI,QAAA,EAAE,MAAM,QAAA,EAAE,MAAM,QAA2C,CAAC;QACvE,OAAO,IAAI,GAAG,KAAK,GAAG,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC;IAC9C,CAAC;IACH,kBAAC;AAAD,CAAC,AA3DD,IA2DC;AA3DY,kCAAW"}
package/lib/trader.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { CTPProvider } from "./provider.js";
2
- import { OffsetType, OrderData, OrderFlag, ProductType, SideType } from "./typedef.js";
2
+ import { OffsetType, OrderData, OrderFlag, ProductType, SideType, TickData } from "./typedef.js";
3
3
  import { ICancelOrderResultReceiver, ICommissionRateReceiver, IInstrumentReceiver, IInstrumentsReceiver, ILifecycleListener, IMarginRateReceiver, IOrderReceiver, IOrdersReceiver, IPlaceOrderResultReceiver, IPositionDetailsReceiver, IPositionReceiver, IPositionsReceiver, ITraderProvider, ITradingAccountsReceiver } from "./interfaces.js";
4
4
  export type CTPUserInfo = {
5
5
  BrokerID: string;
@@ -10,6 +10,10 @@ export type CTPUserInfo = {
10
10
  AuthCode: string;
11
11
  AppID: string;
12
12
  };
13
+ export type FastQueryLastTickFunc = (instrumentId: string) => TickData | undefined;
14
+ export type TraderOptions = {
15
+ fastQueryLastTick?: FastQueryLastTickFunc;
16
+ };
13
17
  export declare class Trader extends CTPProvider implements ITraderProvider {
14
18
  private traderApi?;
15
19
  private tradingDay;
@@ -18,6 +22,7 @@ export declare class Trader extends CTPProvider implements ITraderProvider {
18
22
  private orderRef;
19
23
  private accountsQueryTime;
20
24
  private positionDetailsChanged;
25
+ private readonly fastQueryLastTick?;
21
26
  private readonly userInfo;
22
27
  private readonly receivers;
23
28
  private readonly accounts;
@@ -37,7 +42,7 @@ export declare class Trader extends CTPProvider implements ITraderProvider {
37
42
  private readonly commRatesQueue;
38
43
  private readonly accountsQueue;
39
44
  private readonly positionDetailsQueue;
40
- constructor(flowTdPath: string, frontTdAddrs: string | string[], userInfo: CTPUserInfo);
45
+ constructor(flowTdPath: string, frontTdAddrs: string | string[], userInfo: CTPUserInfo, options?: TraderOptions);
41
46
  open(lifecycle: ILifecycleListener): boolean;
42
47
  close(lifecycle: ILifecycleListener): void;
43
48
  addOrderReceiver(receiver: IOrderReceiver): void;
@@ -101,4 +106,4 @@ export declare class Trader extends CTPProvider implements ITraderProvider {
101
106
  private _processMarginRatesQueue;
102
107
  private _processCommissionRatesQueue;
103
108
  }
104
- export declare const createTrader: (flowTdPath: string, frontTdAddrs: string | string[], userInfo: CTPUserInfo) => Trader;
109
+ export declare const createTrader: (flowTdPath: string, frontTdAddrs: string | string[], userInfo: CTPUserInfo, options?: TraderOptions) => Trader;
package/lib/trader.js CHANGED
@@ -46,7 +46,7 @@ var provider_js_1 = require("./provider.js");
46
46
  var utils_js_1 = require("./utils.js");
47
47
  var Trader = /** @class */ (function (_super) {
48
48
  __extends(Trader, _super);
49
- function Trader(flowTdPath, frontTdAddrs, userInfo) {
49
+ function Trader(flowTdPath, frontTdAddrs, userInfo, options) {
50
50
  var _this = _super.call(this, flowTdPath, frontTdAddrs) || this;
51
51
  _this.tradingDay = 0;
52
52
  _this.frontId = 0;
@@ -73,6 +73,9 @@ var Trader = /** @class */ (function (_super) {
73
73
  _this.commRatesQueue = new denque_1.default();
74
74
  _this.accountsQueue = new denque_1.default();
75
75
  _this.positionDetailsQueue = new denque_1.default();
76
+ if (options === null || options === void 0 ? void 0 : options.fastQueryLastTick) {
77
+ _this.fastQueryLastTick = options.fastQueryLastTick;
78
+ }
76
79
  return _this;
77
80
  }
78
81
  Trader.prototype.open = function (lifecycle) {
@@ -430,23 +433,25 @@ var Trader = /** @class */ (function (_super) {
430
433
  if (!queue) {
431
434
  return;
432
435
  }
433
- var upperPrice = isLimitPrice
434
- ? depthMarketData.UpperLimitPrice
435
- : depthMarketData.BandingUpperPrice;
436
- var lowerPrice = isLimitPrice
437
- ? depthMarketData.LowerLimitPrice
438
- : depthMarketData.BandingLowerPrice;
439
- var orders = queue.toArray();
440
- orders.forEach(function (order) {
441
- switch (order.side) {
442
- case "long":
443
- _this._placeLimitOrder(order.symbol, order.offset, order.side, order.volume, upperPrice, order.receiver);
444
- break;
445
- case "short":
446
- _this._placeLimitOrder(order.symbol, order.offset, order.side, order.volume, lowerPrice, order.receiver);
447
- break;
448
- }
449
- });
436
+ if (!queue.isEmpty()) {
437
+ var upperPrice_1 = isLimitPrice
438
+ ? depthMarketData.UpperLimitPrice
439
+ : depthMarketData.BandingUpperPrice;
440
+ var lowerPrice_1 = isLimitPrice
441
+ ? depthMarketData.LowerLimitPrice
442
+ : depthMarketData.BandingLowerPrice;
443
+ var orders = queue.toArray();
444
+ orders.forEach(function (order) {
445
+ switch (order.side) {
446
+ case "long":
447
+ _this._placeLimitOrder(order.symbol, order.offset, order.side, order.volume, upperPrice_1, order.receiver);
448
+ break;
449
+ case "short":
450
+ _this._placeLimitOrder(order.symbol, order.offset, order.side, order.volume, lowerPrice_1, order.receiver);
451
+ break;
452
+ }
453
+ });
454
+ }
450
455
  _this.marketOrdersQueue.delete(depthMarketData.InstrumentID);
451
456
  });
452
457
  return true;
@@ -685,6 +690,31 @@ var Trader = /** @class */ (function (_super) {
685
690
  }
686
691
  return;
687
692
  }
693
+ if (this.fastQueryLastTick) {
694
+ var lastTick = this.fastQueryLastTick(instrumentId);
695
+ if (lastTick && lastTick.tradingDay === this.tradingDay) {
696
+ var isLimitPrice = !(0, utils_js_1.isValidPrice)(lastTick.bandings.upper) ||
697
+ !(0, utils_js_1.isValidPrice)(lastTick.bandings.lower);
698
+ if (isLimitPrice) {
699
+ this.priceLimit.set(instrumentId, __assign({}, lastTick.limits));
700
+ }
701
+ var upperPrice = isLimitPrice
702
+ ? lastTick.limits.upper
703
+ : lastTick.bandings.upper;
704
+ var lowerPrice = isLimitPrice
705
+ ? lastTick.limits.lower
706
+ : lastTick.bandings.lower;
707
+ switch (side) {
708
+ case "long":
709
+ this._placeLimitOrder(symbol, offset, side, volume, upperPrice, receiver);
710
+ break;
711
+ case "short":
712
+ this._placeLimitOrder(symbol, offset, side, volume, lowerPrice, receiver);
713
+ break;
714
+ }
715
+ return;
716
+ }
717
+ }
688
718
  var queue = this.marketOrdersQueue.get(instrumentId);
689
719
  if (queue) {
690
720
  queue.push({ symbol: symbol, offset: offset, side: side, volume: volume, receiver: receiver });
@@ -1263,6 +1293,6 @@ var Trader = /** @class */ (function (_super) {
1263
1293
  return Trader;
1264
1294
  }(provider_js_1.CTPProvider));
1265
1295
  exports.Trader = Trader;
1266
- var createTrader = function (flowTdPath, frontTdAddrs, userInfo) { return new Trader(flowTdPath, frontTdAddrs, userInfo); };
1296
+ var createTrader = function (flowTdPath, frontTdAddrs, userInfo, options) { return new Trader(flowTdPath, frontTdAddrs, userInfo, options); };
1267
1297
  exports.createTrader = createTrader;
1268
1298
  //# sourceMappingURL=trader.js.map
package/lib/trader.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"trader.js","sourceRoot":"","sources":["../src/trader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trader.js","sourceRoot":"","sources":["../src/trader.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hft-js",
3
- "version": "0.1.9",
3
+ "version": "0.2.0",
4
4
  "description": "High-Frequency Trading in Node.js",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./lib/index.d.ts",
package/src/index.test.ts CHANGED
@@ -23,27 +23,10 @@ export type Configure = {
23
23
  Test: { Symbol: string };
24
24
  };
25
25
 
26
- const existsFile = (filename: string) => {
27
- try {
28
- fs.accessSync(filename);
29
- return true;
30
- } catch {
31
- return false;
32
- }
33
- };
34
-
35
26
  const config = JSON.parse(
36
27
  fs.readFileSync("test.conf.json", "utf8"),
37
28
  ) as Configure;
38
29
 
39
- if (!existsFile(config.FlowTdPath)) {
40
- fs.mkdirSync(config.FlowTdPath, { recursive: true });
41
- }
42
-
43
- if (!existsFile(config.FlowMdPath)) {
44
- fs.mkdirSync(config.FlowMdPath, { recursive: true });
45
- }
46
-
47
30
  class Strategy implements hft.IStrategy, hft.ITickReceiver, hft.IBarReceiver {
48
31
  private lastTick?: hft.TickData;
49
32
  private lastBar?: hft.BarData;
@@ -216,22 +199,25 @@ class Strategy implements hft.IStrategy, hft.ITickReceiver, hft.IBarReceiver {
216
199
  }
217
200
  }
218
201
 
202
+ const market = hft.createMarket(config.FlowMdPath, config.FrontMdAddrs, {
203
+ listener: {
204
+ onSubscribed: (symbol) => {
205
+ console.log(`Market subscribed: ${symbol}`);
206
+ },
207
+
208
+ onUnsubscribed: (symbol) => {
209
+ console.log(`Market unsubscribed: ${symbol}`);
210
+ },
211
+ },
212
+ });
213
+
219
214
  const trader = hft.createTrader(
220
215
  config.FlowTdPath,
221
216
  config.FrontTdAddrs,
222
217
  config.UserInfo,
218
+ { fastQueryLastTick: (instrumentId) => market.getLastTick(instrumentId) },
223
219
  );
224
220
 
225
- const market = hft.createMarket(config.FlowMdPath, config.FrontMdAddrs, {
226
- onSubscribed: (symbol) => {
227
- console.log(`Market subscribed: ${symbol}`);
228
- },
229
-
230
- onUnsubscribed: (symbol) => {
231
- console.log(`Market unsubscribed: ${symbol}`);
232
- },
233
- });
234
-
235
221
  const recorder = market.getRecorder();
236
222
  const enableRecorder = false;
237
223
 
package/src/market.ts CHANGED
@@ -28,6 +28,10 @@ export interface IMarketListener {
28
28
  onUnsubscribed: (symbol: string) => void;
29
29
  }
30
30
 
31
+ export type MarketOptions = {
32
+ listener?: IMarketListener;
33
+ };
34
+
31
35
  export class Market
32
36
  extends CTPProvider
33
37
  implements IMarketProvider, IMarketRecorderProvider
@@ -45,15 +49,18 @@ export class Market
45
49
  constructor(
46
50
  flowMdPath: string,
47
51
  frontMdAddrs: string | string[],
48
- listener?: IMarketListener,
52
+ options?: MarketOptions,
49
53
  ) {
50
54
  super(flowMdPath, frontMdAddrs);
51
- this.listener = listener;
52
55
  this.tradingDay = 0;
53
56
  this.recordings = new Set();
54
57
  this.symbols = new Map();
55
58
  this.lastTicks = new Map();
56
59
  this.subscribers = new Map();
60
+
61
+ if (options?.listener) {
62
+ this.listener = options.listener;
63
+ }
57
64
  }
58
65
 
59
66
  getRecorder() {
@@ -72,6 +79,10 @@ export class Market
72
79
  this.recorderSymbols = symbols;
73
80
  }
74
81
 
82
+ getLastTick(instrumentId: string) {
83
+ return this.lastTicks.get(instrumentId);
84
+ }
85
+
75
86
  open(lifecycle: ILifecycleListener) {
76
87
  if (this.marketApi) {
77
88
  return true;
@@ -420,5 +431,5 @@ export class Market
420
431
  export const createMarket = (
421
432
  flowMdPath: string,
422
433
  frontMdAddrs: string | string[],
423
- listener?: IMarketListener,
424
- ) => new Market(flowMdPath, frontMdAddrs, listener);
434
+ options?: MarketOptions,
435
+ ) => new Market(flowMdPath, frontMdAddrs, options);
package/src/provider.ts CHANGED
@@ -9,6 +9,7 @@
9
9
  * https://github.com/shixiongfei/hft.js
10
10
  */
11
11
 
12
+ import fs from "node:fs";
12
13
  import ctp from "napi-ctp";
13
14
  import { ErrorType, ILifecycleListener } from "./interfaces.js";
14
15
 
@@ -19,6 +20,12 @@ export class CTPProvider {
19
20
  constructor(flowPath: string, frontAddrs: string | string[]) {
20
21
  this.flowPath = flowPath;
21
22
  this.frontAddrs = frontAddrs;
23
+
24
+ try {
25
+ fs.accessSync(this.flowPath);
26
+ } catch {
27
+ fs.mkdirSync(this.flowPath, { recursive: true });
28
+ }
22
29
  }
23
30
 
24
31
  private _sleep(ms: number) {
package/src/trader.ts CHANGED
@@ -27,6 +27,7 @@ import {
27
27
  PriceRange,
28
28
  ProductType,
29
29
  SideType,
30
+ TickData,
30
31
  TradeData,
31
32
  TradingAccount,
32
33
  Writeable,
@@ -48,15 +49,26 @@ import {
48
49
  ITradingAccountsReceiver,
49
50
  } from "./interfaces.js";
50
51
 
51
- type MarginRateQuery = { symbol: string; receiver: IMarginRateReceiver };
52
+ type PositionInfo = Writeable<PositionData>;
53
+ type OrderStat = Writeable<OrderStatistic>;
54
+
55
+ type MarginRateQuery = {
56
+ symbol: string;
57
+ receiver: IMarginRateReceiver;
58
+ };
52
59
 
53
60
  type CommissionRateQuery = {
54
61
  symbol: string;
55
62
  receiver: ICommissionRateReceiver;
56
63
  };
57
64
 
58
- type PositionInfo = Writeable<PositionData>;
59
- type OrderStat = Writeable<OrderStatistic>;
65
+ type MarketOrder = {
66
+ symbol: string;
67
+ offset: OffsetType;
68
+ side: SideType;
69
+ volume: number;
70
+ receiver: IPlaceOrderResultReceiver;
71
+ };
60
72
 
61
73
  export type CTPUserInfo = {
62
74
  BrokerID: string;
@@ -68,12 +80,12 @@ export type CTPUserInfo = {
68
80
  AppID: string;
69
81
  };
70
82
 
71
- type MarketOrder = {
72
- symbol: string;
73
- offset: OffsetType;
74
- side: SideType;
75
- volume: number;
76
- receiver: IPlaceOrderResultReceiver;
83
+ export type FastQueryLastTickFunc = (
84
+ instrumentId: string,
85
+ ) => TickData | undefined;
86
+
87
+ export type TraderOptions = {
88
+ fastQueryLastTick?: FastQueryLastTickFunc;
77
89
  };
78
90
 
79
91
  export class Trader extends CTPProvider implements ITraderProvider {
@@ -84,6 +96,7 @@ export class Trader extends CTPProvider implements ITraderProvider {
84
96
  private orderRef: number;
85
97
  private accountsQueryTime: number;
86
98
  private positionDetailsChanged: boolean;
99
+ private readonly fastQueryLastTick?: FastQueryLastTickFunc;
87
100
  private readonly userInfo: CTPUserInfo;
88
101
  private readonly receivers: IOrderReceiver[];
89
102
  private readonly accounts: ctp.TradingAccountField[];
@@ -108,6 +121,7 @@ export class Trader extends CTPProvider implements ITraderProvider {
108
121
  flowTdPath: string,
109
122
  frontTdAddrs: string | string[],
110
123
  userInfo: CTPUserInfo,
124
+ options?: TraderOptions,
111
125
  ) {
112
126
  super(flowTdPath, frontTdAddrs);
113
127
  this.tradingDay = 0;
@@ -135,6 +149,10 @@ export class Trader extends CTPProvider implements ITraderProvider {
135
149
  this.commRatesQueue = new Denque();
136
150
  this.accountsQueue = new Denque();
137
151
  this.positionDetailsQueue = new Denque();
152
+
153
+ if (options?.fastQueryLastTick) {
154
+ this.fastQueryLastTick = options.fastQueryLastTick;
155
+ }
138
156
  }
139
157
 
140
158
  open(lifecycle: ILifecycleListener) {
@@ -669,41 +687,43 @@ export class Trader extends CTPProvider implements ITraderProvider {
669
687
  return;
670
688
  }
671
689
 
672
- const upperPrice = isLimitPrice
673
- ? depthMarketData.UpperLimitPrice
674
- : depthMarketData.BandingUpperPrice;
675
-
676
- const lowerPrice = isLimitPrice
677
- ? depthMarketData.LowerLimitPrice
678
- : depthMarketData.BandingLowerPrice;
679
-
680
- const orders = queue.toArray();
690
+ if (!queue.isEmpty()) {
691
+ const upperPrice = isLimitPrice
692
+ ? depthMarketData.UpperLimitPrice
693
+ : depthMarketData.BandingUpperPrice;
694
+
695
+ const lowerPrice = isLimitPrice
696
+ ? depthMarketData.LowerLimitPrice
697
+ : depthMarketData.BandingLowerPrice;
698
+
699
+ const orders = queue.toArray();
700
+
701
+ orders.forEach((order) => {
702
+ switch (order.side) {
703
+ case "long":
704
+ this._placeLimitOrder(
705
+ order.symbol,
706
+ order.offset,
707
+ order.side,
708
+ order.volume,
709
+ upperPrice,
710
+ order.receiver,
711
+ );
712
+ break;
681
713
 
682
- orders.forEach((order) => {
683
- switch (order.side) {
684
- case "long":
685
- this._placeLimitOrder(
686
- order.symbol,
687
- order.offset,
688
- order.side,
689
- order.volume,
690
- upperPrice,
691
- order.receiver,
692
- );
693
- break;
694
-
695
- case "short":
696
- this._placeLimitOrder(
697
- order.symbol,
698
- order.offset,
699
- order.side,
700
- order.volume,
701
- lowerPrice,
702
- order.receiver,
703
- );
704
- break;
705
- }
706
- });
714
+ case "short":
715
+ this._placeLimitOrder(
716
+ order.symbol,
717
+ order.offset,
718
+ order.side,
719
+ order.volume,
720
+ lowerPrice,
721
+ order.receiver,
722
+ );
723
+ break;
724
+ }
725
+ });
726
+ }
707
727
 
708
728
  this.marketOrdersQueue.delete(depthMarketData.InstrumentID);
709
729
  },
@@ -1070,6 +1090,54 @@ export class Trader extends CTPProvider implements ITraderProvider {
1070
1090
  return;
1071
1091
  }
1072
1092
 
1093
+ if (this.fastQueryLastTick) {
1094
+ const lastTick = this.fastQueryLastTick(instrumentId);
1095
+
1096
+ if (lastTick && lastTick.tradingDay === this.tradingDay) {
1097
+ const isLimitPrice =
1098
+ !isValidPrice(lastTick.bandings.upper) ||
1099
+ !isValidPrice(lastTick.bandings.lower);
1100
+
1101
+ if (isLimitPrice) {
1102
+ this.priceLimit.set(instrumentId, { ...lastTick.limits });
1103
+ }
1104
+
1105
+ const upperPrice = isLimitPrice
1106
+ ? lastTick.limits.upper
1107
+ : lastTick.bandings.upper;
1108
+
1109
+ const lowerPrice = isLimitPrice
1110
+ ? lastTick.limits.lower
1111
+ : lastTick.bandings.lower;
1112
+
1113
+ switch (side) {
1114
+ case "long":
1115
+ this._placeLimitOrder(
1116
+ symbol,
1117
+ offset,
1118
+ side,
1119
+ volume,
1120
+ upperPrice,
1121
+ receiver,
1122
+ );
1123
+ break;
1124
+
1125
+ case "short":
1126
+ this._placeLimitOrder(
1127
+ symbol,
1128
+ offset,
1129
+ side,
1130
+ volume,
1131
+ lowerPrice,
1132
+ receiver,
1133
+ );
1134
+ break;
1135
+ }
1136
+
1137
+ return;
1138
+ }
1139
+ }
1140
+
1073
1141
  let queue = this.marketOrdersQueue.get(instrumentId);
1074
1142
 
1075
1143
  if (queue) {
@@ -1795,4 +1863,5 @@ export const createTrader = (
1795
1863
  flowTdPath: string,
1796
1864
  frontTdAddrs: string | string[],
1797
1865
  userInfo: CTPUserInfo,
1798
- ) => new Trader(flowTdPath, frontTdAddrs, userInfo);
1866
+ options?: TraderOptions,
1867
+ ) => new Trader(flowTdPath, frontTdAddrs, userInfo, options);