@aalis/plugin-okx-trading 0.1.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.
Files changed (42) hide show
  1. package/README.md +21 -0
  2. package/dist/client.d.ts +194 -0
  3. package/dist/client.d.ts.map +1 -0
  4. package/dist/client.js +371 -0
  5. package/dist/client.js.map +1 -0
  6. package/dist/index.d.ts +22 -0
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/index.js +128 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/tools/_shared.d.ts +15 -0
  11. package/dist/tools/_shared.d.ts.map +1 -0
  12. package/dist/tools/_shared.js +17 -0
  13. package/dist/tools/_shared.js.map +1 -0
  14. package/dist/tools/account.d.ts +4 -0
  15. package/dist/tools/account.d.ts.map +1 -0
  16. package/dist/tools/account.js +364 -0
  17. package/dist/tools/account.js.map +1 -0
  18. package/dist/tools/algo.d.ts +4 -0
  19. package/dist/tools/algo.d.ts.map +1 -0
  20. package/dist/tools/algo.js +138 -0
  21. package/dist/tools/algo.js.map +1 -0
  22. package/dist/tools/market.d.ts +4 -0
  23. package/dist/tools/market.d.ts.map +1 -0
  24. package/dist/tools/market.js +422 -0
  25. package/dist/tools/market.js.map +1 -0
  26. package/dist/tools/orders.d.ts +4 -0
  27. package/dist/tools/orders.d.ts.map +1 -0
  28. package/dist/tools/orders.js +91 -0
  29. package/dist/tools/orders.js.map +1 -0
  30. package/dist/tools/rubik.d.ts +4 -0
  31. package/dist/tools/rubik.d.ts.map +1 -0
  32. package/dist/tools/rubik.js +86 -0
  33. package/dist/tools/rubik.js.map +1 -0
  34. package/dist/tools/trade.d.ts +4 -0
  35. package/dist/tools/trade.d.ts.map +1 -0
  36. package/dist/tools/trade.js +357 -0
  37. package/dist/tools/trade.js.map +1 -0
  38. package/dist/tools/transfer.d.ts +4 -0
  39. package/dist/tools/transfer.d.ts.map +1 -0
  40. package/dist/tools/transfer.js +160 -0
  41. package/dist/tools/transfer.js.map +1 -0
  42. package/package.json +36 -0
@@ -0,0 +1,91 @@
1
+ import { errJson, pickLimit, truncate } from './_shared.js';
2
+ export function registerOrderQueryTools(reg, client, pageLimit) {
3
+ reg({
4
+ definition: {
5
+ type: 'function',
6
+ function: {
7
+ name: 'okx_get_pending_orders',
8
+ description: '查询当前未成交的挂单',
9
+ parameters: {
10
+ type: 'object',
11
+ properties: {
12
+ instType: { type: 'string', description: '产品类型' },
13
+ instId: { type: 'string', description: '产品 ID' },
14
+ },
15
+ additionalProperties: false,
16
+ },
17
+ },
18
+ },
19
+ handler: async (args) => {
20
+ try {
21
+ const r = await client.getPendingOrders(args.instType, args.instId);
22
+ return JSON.stringify(truncate(r.data));
23
+ }
24
+ catch (e) {
25
+ return errJson(e);
26
+ }
27
+ },
28
+ });
29
+ reg({
30
+ definition: {
31
+ type: 'function',
32
+ function: {
33
+ name: 'okx_get_order_history',
34
+ description: '查询近 7 天历史订单。instType 必填',
35
+ parameters: {
36
+ type: 'object',
37
+ properties: {
38
+ instType: { type: 'string', description: '产品类型: SPOT / SWAP / FUTURES / OPTION' },
39
+ instId: { type: 'string', description: '可选,特定产品' },
40
+ limit: {
41
+ type: 'number',
42
+ description: `返回条数,默认 ${pageLimit.defaultLimit},最多 ${pageLimit.maxLimit}`,
43
+ },
44
+ },
45
+ required: ['instType'],
46
+ additionalProperties: false,
47
+ },
48
+ },
49
+ },
50
+ handler: async (args) => {
51
+ try {
52
+ const r = await client.getOrderHistory(args.instType, args.instId, pickLimit(args, pageLimit));
53
+ return JSON.stringify(truncate(r.data));
54
+ }
55
+ catch (e) {
56
+ return errJson(e);
57
+ }
58
+ },
59
+ });
60
+ reg({
61
+ definition: {
62
+ type: 'function',
63
+ function: {
64
+ name: 'okx_get_fills',
65
+ description: '查询近 3 天成交明细',
66
+ parameters: {
67
+ type: 'object',
68
+ properties: {
69
+ instType: { type: 'string', description: '产品类型' },
70
+ instId: { type: 'string', description: '产品 ID' },
71
+ limit: {
72
+ type: 'number',
73
+ description: `返回条数,默认 ${pageLimit.defaultLimit},最多 ${pageLimit.maxLimit}`,
74
+ },
75
+ },
76
+ additionalProperties: false,
77
+ },
78
+ },
79
+ },
80
+ handler: async (args) => {
81
+ try {
82
+ const r = await client.getFills(args.instType, args.instId, pickLimit(args, pageLimit));
83
+ return JSON.stringify(truncate(r.data));
84
+ }
85
+ catch (e) {
86
+ return errJson(e);
87
+ }
88
+ },
89
+ });
90
+ }
91
+ //# sourceMappingURL=orders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orders.js","sourceRoot":"","sources":["../../src/tools/orders.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { OkxClient } from '../client.js';
2
+ import { type RegFn } from './_shared.js';
3
+ export declare function registerRubikTools(reg: RegFn, client: OkxClient): void;
4
+ //# sourceMappingURL=rubik.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rubik.d.ts","sourceRoot":"","sources":["../../src/tools/rubik.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAW,KAAK,KAAK,EAAY,MAAM,cAAc,CAAC;AAE7D,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,CAsFtE"}
@@ -0,0 +1,86 @@
1
+ import { errJson, truncate } from './_shared.js';
2
+ export function registerRubikTools(reg, client) {
3
+ reg({
4
+ definition: {
5
+ type: 'function',
6
+ function: {
7
+ name: 'okx_get_long_short_ratio',
8
+ description: '获取多空持仓人数比,判断市场情绪方向。period: 5m/1H/1D',
9
+ parameters: {
10
+ type: 'object',
11
+ properties: {
12
+ ccy: { type: 'string', description: '币种,如 BTC' },
13
+ period: { type: 'string', description: '时间周期: 5m / 1H / 1D' },
14
+ },
15
+ required: ['ccy'],
16
+ additionalProperties: false,
17
+ },
18
+ },
19
+ },
20
+ handler: async (args) => {
21
+ try {
22
+ const r = await client.getLongShortRatio(args.ccy, args.period || '1D');
23
+ return JSON.stringify(truncate(r.data, 30));
24
+ }
25
+ catch (e) {
26
+ return errJson(e);
27
+ }
28
+ },
29
+ });
30
+ reg({
31
+ definition: {
32
+ type: 'function',
33
+ function: {
34
+ name: 'okx_get_contract_oi_volume',
35
+ description: '获取合约持仓量及交易量历史数据,分析资金流入流出',
36
+ parameters: {
37
+ type: 'object',
38
+ properties: {
39
+ ccy: { type: 'string', description: '币种' },
40
+ period: { type: 'string', description: '时间周期: 5m / 1H / 1D' },
41
+ },
42
+ required: ['ccy'],
43
+ additionalProperties: false,
44
+ },
45
+ },
46
+ },
47
+ handler: async (args) => {
48
+ try {
49
+ const r = await client.getContractOpenInterestVolume(args.ccy, args.period || '1D');
50
+ return JSON.stringify(truncate(r.data, 30));
51
+ }
52
+ catch (e) {
53
+ return errJson(e);
54
+ }
55
+ },
56
+ });
57
+ reg({
58
+ definition: {
59
+ type: 'function',
60
+ function: {
61
+ name: 'okx_get_taker_volume',
62
+ description: '获取 Taker 主动买入/卖出量,判断买方卖方力量对比。instType: SPOT(现货) / FUTURES(合约)',
63
+ parameters: {
64
+ type: 'object',
65
+ properties: {
66
+ ccy: { type: 'string', description: '币种' },
67
+ instType: { type: 'string', description: '产品类型: SPOT / FUTURES' },
68
+ period: { type: 'string', description: '时间周期: 5m / 1H / 1D' },
69
+ },
70
+ required: ['ccy', 'instType'],
71
+ additionalProperties: false,
72
+ },
73
+ },
74
+ },
75
+ handler: async (args) => {
76
+ try {
77
+ const r = await client.getTakerVolume(args.ccy, args.instType, args.period || '1D');
78
+ return JSON.stringify(truncate(r.data, 30));
79
+ }
80
+ catch (e) {
81
+ return errJson(e);
82
+ }
83
+ },
84
+ });
85
+ }
86
+ //# sourceMappingURL=rubik.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rubik.js","sourceRoot":"","sources":["../../src/tools/rubik.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { OkxClient } from '../client.js';
2
+ import { type RegFn } from './_shared.js';
3
+ export declare function registerTradeTools(reg: RegFn, client: OkxClient, modeLabel: string): void;
4
+ //# sourceMappingURL=trade.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trade.d.ts","sourceRoot":"","sources":["../../src/tools/trade.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAW,KAAK,KAAK,EAAY,MAAM,cAAc,CAAC;AAE7D,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAuYzF"}
@@ -0,0 +1,357 @@
1
+ import { errJson, truncate } from './_shared.js';
2
+ export function registerTradeTools(reg, client, modeLabel) {
3
+ reg({
4
+ definition: {
5
+ type: 'function',
6
+ function: {
7
+ name: 'okx_place_order',
8
+ description: `下单交易 (${modeLabel})。现货用 tdMode=cash,合约用 cross/isolated。市价单不需要 px,限价单必须指定 px。sz 为交易数量。`,
9
+ parameters: {
10
+ type: 'object',
11
+ properties: {
12
+ instId: { type: 'string', description: '产品 ID,如 BTC-USDT' },
13
+ tdMode: { type: 'string', description: '交易模式: cash(现货) / cross(全仓) / isolated(逐仓)' },
14
+ side: { type: 'string', description: '方向: buy / sell' },
15
+ ordType: { type: 'string', description: '订单类型: market(市价) / limit(限价) / post_only / fok / ioc' },
16
+ sz: { type: 'string', description: '数量' },
17
+ px: { type: 'string', description: '价格(限价单必填)' },
18
+ posSide: { type: 'string', description: '持仓方向: long / short / net(双向持仓时需指定)' },
19
+ tgtCcy: { type: 'string', description: '市价单的计量单位: base_ccy(交易货币) / quote_ccy(计价货币)' },
20
+ },
21
+ required: ['instId', 'tdMode', 'side', 'ordType', 'sz'],
22
+ additionalProperties: false,
23
+ },
24
+ },
25
+ },
26
+ handler: async (args) => {
27
+ try {
28
+ const r = await client.placeOrder({
29
+ instId: args.instId,
30
+ tdMode: args.tdMode,
31
+ side: args.side,
32
+ ordType: args.ordType,
33
+ sz: args.sz,
34
+ px: args.px,
35
+ posSide: args.posSide,
36
+ tgtCcy: args.tgtCcy,
37
+ });
38
+ return JSON.stringify(r.data);
39
+ }
40
+ catch (e) {
41
+ return errJson(e);
42
+ }
43
+ },
44
+ });
45
+ reg({
46
+ definition: {
47
+ type: 'function',
48
+ function: {
49
+ name: 'okx_cancel_order',
50
+ description: '撤销一笔订单。需提供 instId + ordId 或 clOrdId',
51
+ parameters: {
52
+ type: 'object',
53
+ properties: {
54
+ instId: { type: 'string', description: '产品 ID' },
55
+ ordId: { type: 'string', description: '订单 ID' },
56
+ clOrdId: { type: 'string', description: '客户自定义订单 ID' },
57
+ },
58
+ required: ['instId'],
59
+ additionalProperties: false,
60
+ },
61
+ },
62
+ },
63
+ handler: async (args) => {
64
+ try {
65
+ const r = await client.cancelOrder(args.instId, args.ordId, args.clOrdId);
66
+ return JSON.stringify(r.data);
67
+ }
68
+ catch (e) {
69
+ return errJson(e);
70
+ }
71
+ },
72
+ });
73
+ reg({
74
+ definition: {
75
+ type: 'function',
76
+ function: {
77
+ name: 'okx_amend_order',
78
+ description: '修改未成交订单的价格或数量',
79
+ parameters: {
80
+ type: 'object',
81
+ properties: {
82
+ instId: { type: 'string', description: '产品 ID' },
83
+ ordId: { type: 'string', description: '订单 ID' },
84
+ clOrdId: { type: 'string', description: '客户自定义订单 ID' },
85
+ newSz: { type: 'string', description: '新数量' },
86
+ newPx: { type: 'string', description: '新价格' },
87
+ },
88
+ required: ['instId'],
89
+ additionalProperties: false,
90
+ },
91
+ },
92
+ },
93
+ handler: async (args) => {
94
+ try {
95
+ const r = await client.amendOrder({
96
+ instId: args.instId,
97
+ ordId: args.ordId,
98
+ clOrdId: args.clOrdId,
99
+ newSz: args.newSz,
100
+ newPx: args.newPx,
101
+ });
102
+ return JSON.stringify(r.data);
103
+ }
104
+ catch (e) {
105
+ return errJson(e);
106
+ }
107
+ },
108
+ });
109
+ reg({
110
+ definition: {
111
+ type: 'function',
112
+ function: {
113
+ name: 'okx_set_leverage',
114
+ description: '设置合约杠杆倍数',
115
+ parameters: {
116
+ type: 'object',
117
+ properties: {
118
+ instId: { type: 'string', description: '产品 ID' },
119
+ lever: { type: 'string', description: '杠杆倍数' },
120
+ mgnMode: { type: 'string', description: '保证金模式: cross / isolated' },
121
+ posSide: { type: 'string', description: '持仓方向 (双向持仓时需要): long / short' },
122
+ },
123
+ required: ['instId', 'lever', 'mgnMode'],
124
+ additionalProperties: false,
125
+ },
126
+ },
127
+ },
128
+ handler: async (args) => {
129
+ try {
130
+ const r = await client.setLeverage(args.instId, args.lever, args.mgnMode, args.posSide);
131
+ return JSON.stringify(r.data);
132
+ }
133
+ catch (e) {
134
+ return errJson(e);
135
+ }
136
+ },
137
+ });
138
+ reg({
139
+ definition: {
140
+ type: 'function',
141
+ function: {
142
+ name: 'okx_set_position_mode',
143
+ description: `设置持仓模式 (${modeLabel})。long_short_mode=双向持仓, net_mode=单向持仓`,
144
+ parameters: {
145
+ type: 'object',
146
+ properties: { posMode: { type: 'string', description: '持仓模式: long_short_mode / net_mode' } },
147
+ required: ['posMode'],
148
+ additionalProperties: false,
149
+ },
150
+ },
151
+ },
152
+ handler: async (args) => {
153
+ try {
154
+ const r = await client.setPositionMode(args.posMode);
155
+ return JSON.stringify(r.data);
156
+ }
157
+ catch (e) {
158
+ return errJson(e);
159
+ }
160
+ },
161
+ });
162
+ reg({
163
+ definition: {
164
+ type: 'function',
165
+ function: {
166
+ name: 'okx_adjust_margin',
167
+ description: `调整逐仓保证金 (${modeLabel})。可以增加或减少某个仓位的保证金`,
168
+ parameters: {
169
+ type: 'object',
170
+ properties: {
171
+ instId: { type: 'string', description: '产品 ID' },
172
+ posSide: { type: 'string', description: '持仓方向: long / short / net' },
173
+ type: { type: 'string', description: '调整类型: add(增加) / reduce(减少)' },
174
+ amt: { type: 'string', description: '调整数量' },
175
+ },
176
+ required: ['instId', 'posSide', 'type', 'amt'],
177
+ additionalProperties: false,
178
+ },
179
+ },
180
+ },
181
+ handler: async (args) => {
182
+ try {
183
+ const r = await client.adjustMarginBalance(args.instId, args.posSide, args.type, args.amt);
184
+ return JSON.stringify(r.data);
185
+ }
186
+ catch (e) {
187
+ return errJson(e);
188
+ }
189
+ },
190
+ });
191
+ reg({
192
+ definition: {
193
+ type: 'function',
194
+ function: {
195
+ name: 'okx_batch_place_orders',
196
+ description: `批量下单 (${modeLabel}),一次最多 20 笔。传入订单数组,每个元素同单笔下单参数`,
197
+ parameters: {
198
+ type: 'object',
199
+ properties: {
200
+ orders: {
201
+ type: 'array',
202
+ description: '订单数组',
203
+ items: {
204
+ type: 'object',
205
+ properties: {
206
+ instId: { type: 'string' },
207
+ tdMode: { type: 'string' },
208
+ side: { type: 'string' },
209
+ ordType: { type: 'string' },
210
+ sz: { type: 'string' },
211
+ px: { type: 'string' },
212
+ posSide: { type: 'string' },
213
+ },
214
+ required: ['instId', 'tdMode', 'side', 'ordType', 'sz'],
215
+ },
216
+ },
217
+ },
218
+ required: ['orders'],
219
+ additionalProperties: false,
220
+ },
221
+ },
222
+ },
223
+ handler: async (args) => {
224
+ try {
225
+ const orders = args.orders;
226
+ const r = await client.batchPlaceOrders(orders);
227
+ return JSON.stringify(r.data);
228
+ }
229
+ catch (e) {
230
+ return errJson(e);
231
+ }
232
+ },
233
+ });
234
+ reg({
235
+ definition: {
236
+ type: 'function',
237
+ function: {
238
+ name: 'okx_batch_cancel_orders',
239
+ description: `批量撤单 (${modeLabel}),一次最多 20 笔`,
240
+ parameters: {
241
+ type: 'object',
242
+ properties: {
243
+ orders: {
244
+ type: 'array',
245
+ description: '撤单数组',
246
+ items: {
247
+ type: 'object',
248
+ properties: {
249
+ instId: { type: 'string' },
250
+ ordId: { type: 'string' },
251
+ clOrdId: { type: 'string' },
252
+ },
253
+ required: ['instId'],
254
+ },
255
+ },
256
+ },
257
+ required: ['orders'],
258
+ additionalProperties: false,
259
+ },
260
+ },
261
+ },
262
+ handler: async (args) => {
263
+ try {
264
+ const r = await client.batchCancelOrders(args.orders);
265
+ return JSON.stringify(r.data);
266
+ }
267
+ catch (e) {
268
+ return errJson(e);
269
+ }
270
+ },
271
+ });
272
+ reg({
273
+ definition: {
274
+ type: 'function',
275
+ function: {
276
+ name: 'okx_close_position',
277
+ description: `市价全部平仓 (${modeLabel})。快速清仓指定产品的全部仓位`,
278
+ parameters: {
279
+ type: 'object',
280
+ properties: {
281
+ instId: { type: 'string', description: '产品 ID' },
282
+ mgnMode: { type: 'string', description: '保证金模式: cross / isolated' },
283
+ posSide: { type: 'string', description: '持仓方向(双向持仓时必填): long / short' },
284
+ },
285
+ required: ['instId', 'mgnMode'],
286
+ additionalProperties: false,
287
+ },
288
+ },
289
+ },
290
+ handler: async (args) => {
291
+ try {
292
+ const r = await client.closePosition(args.instId, args.mgnMode, args.posSide);
293
+ return JSON.stringify(r.data);
294
+ }
295
+ catch (e) {
296
+ return errJson(e);
297
+ }
298
+ },
299
+ });
300
+ reg({
301
+ definition: {
302
+ type: 'function',
303
+ function: {
304
+ name: 'okx_get_order_detail',
305
+ description: '查询单笔订单详情(状态、成交均价、手续费等)',
306
+ parameters: {
307
+ type: 'object',
308
+ properties: {
309
+ instId: { type: 'string', description: '产品 ID' },
310
+ ordId: { type: 'string', description: '订单 ID(ordId 与 clOrdId 至少填一个)' },
311
+ clOrdId: { type: 'string', description: '客户自定义订单 ID' },
312
+ },
313
+ required: ['instId'],
314
+ additionalProperties: false,
315
+ },
316
+ },
317
+ },
318
+ handler: async (args) => {
319
+ try {
320
+ const r = await client.getOrderDetail(args.instId, args.ordId, args.clOrdId);
321
+ return JSON.stringify(r.data);
322
+ }
323
+ catch (e) {
324
+ return errJson(e);
325
+ }
326
+ },
327
+ });
328
+ reg({
329
+ definition: {
330
+ type: 'function',
331
+ function: {
332
+ name: 'okx_get_fills_archive',
333
+ description: '查询近 3 个月成交明细(更长周期的交易复盘)',
334
+ parameters: {
335
+ type: 'object',
336
+ properties: {
337
+ instType: { type: 'string', description: '产品类型: SPOT / SWAP / FUTURES / OPTION' },
338
+ instId: { type: 'string', description: '产品 ID' },
339
+ limit: { type: 'number', description: '条数' },
340
+ },
341
+ required: ['instType'],
342
+ additionalProperties: false,
343
+ },
344
+ },
345
+ },
346
+ handler: async (args) => {
347
+ try {
348
+ const r = await client.getFillsArchive(args.instType, args.instId, args.limit || 20);
349
+ return JSON.stringify(truncate(r.data));
350
+ }
351
+ catch (e) {
352
+ return errJson(e);
353
+ }
354
+ },
355
+ });
356
+ }
357
+ //# sourceMappingURL=trade.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trade.js","sourceRoot":"","sources":["../../src/tools/trade.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { OkxClient } from '../client.js';
2
+ import { type RegFn } from './_shared.js';
3
+ export declare function registerTransferTools(reg: RegFn, client: OkxClient): void;
4
+ //# sourceMappingURL=transfer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transfer.d.ts","sourceRoot":"","sources":["../../src/tools/transfer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAW,KAAK,KAAK,EAAY,MAAM,cAAc,CAAC;AAE7D,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,CAgKzE"}