jcc_hyper_tool 0.1.5 → 0.1.7
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/README.md +160 -17
- package/dist/advisor/actionRunner.d.ts +6 -0
- package/dist/advisor/actionRunner.d.ts.map +1 -1
- package/dist/advisor/actionRunner.js +38 -7
- package/dist/advisor/actionRunner.js.map +1 -1
- package/dist/advisor/actionSchema.d.ts +1209 -75
- package/dist/advisor/actionSchema.d.ts.map +1 -1
- package/dist/advisor/actionSchema.js +117 -5
- package/dist/advisor/actionSchema.js.map +1 -1
- package/dist/advisor/adviseDisplay.d.ts +26 -0
- package/dist/advisor/adviseDisplay.d.ts.map +1 -0
- package/dist/advisor/adviseDisplay.js +174 -0
- package/dist/advisor/adviseDisplay.js.map +1 -0
- package/dist/advisor/adviseEngine.d.ts +12 -2
- package/dist/advisor/adviseEngine.d.ts.map +1 -1
- package/dist/advisor/adviseEngine.js +88 -7
- package/dist/advisor/adviseEngine.js.map +1 -1
- package/dist/advisor/ambushPolicy.d.ts +47 -0
- package/dist/advisor/ambushPolicy.d.ts.map +1 -0
- package/dist/advisor/ambushPolicy.js +161 -0
- package/dist/advisor/ambushPolicy.js.map +1 -0
- package/dist/advisor/contextBuilder.d.ts +17 -0
- package/dist/advisor/contextBuilder.d.ts.map +1 -1
- package/dist/advisor/contextBuilder.js +25 -6
- package/dist/advisor/contextBuilder.js.map +1 -1
- package/dist/advisor/executionPolicy.d.ts +92 -0
- package/dist/advisor/executionPolicy.d.ts.map +1 -0
- package/dist/advisor/executionPolicy.js +273 -0
- package/dist/advisor/executionPolicy.js.map +1 -0
- package/dist/advisor/guards.d.ts +14 -0
- package/dist/advisor/guards.d.ts.map +1 -1
- package/dist/advisor/guards.js +143 -16
- package/dist/advisor/guards.js.map +1 -1
- package/dist/advisor/indicatorCompute.d.ts +45 -0
- package/dist/advisor/indicatorCompute.d.ts.map +1 -0
- package/dist/advisor/indicatorCompute.js +259 -0
- package/dist/advisor/indicatorCompute.js.map +1 -0
- package/dist/advisor/positionPlan.d.ts +33 -0
- package/dist/advisor/positionPlan.d.ts.map +1 -0
- package/dist/advisor/positionPlan.js +118 -0
- package/dist/advisor/positionPlan.js.map +1 -0
- package/dist/advisor/promptTemplate.d.ts +8 -2
- package/dist/advisor/promptTemplate.d.ts.map +1 -1
- package/dist/advisor/promptTemplate.js +175 -23
- package/dist/advisor/promptTemplate.js.map +1 -1
- package/dist/advisor/touchProbability.d.ts +54 -0
- package/dist/advisor/touchProbability.d.ts.map +1 -0
- package/dist/advisor/touchProbability.js +215 -0
- package/dist/advisor/touchProbability.js.map +1 -0
- package/dist/advisor/tpslPolicy.d.ts +22 -0
- package/dist/advisor/tpslPolicy.d.ts.map +1 -0
- package/dist/advisor/tpslPolicy.js +120 -0
- package/dist/advisor/tpslPolicy.js.map +1 -0
- package/dist/cli/advisorCli.d.ts.map +1 -1
- package/dist/cli/advisorCli.js +478 -126
- package/dist/cli/advisorCli.js.map +1 -1
- package/dist/cli/index.js +2 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/riskCli.d.ts +3 -0
- package/dist/cli/riskCli.d.ts.map +1 -0
- package/dist/cli/riskCli.js +120 -0
- package/dist/cli/riskCli.js.map +1 -0
- package/dist/cli/strategyCli.d.ts.map +1 -1
- package/dist/cli/strategyCli.js +3 -1
- package/dist/cli/strategyCli.js.map +1 -1
- package/dist/cli/tradingCli.d.ts.map +1 -1
- package/dist/cli/tradingCli.js +31 -1
- package/dist/cli/tradingCli.js.map +1 -1
- package/dist/core/hyperliquid/asset.d.ts +2 -0
- package/dist/core/hyperliquid/asset.d.ts.map +1 -1
- package/dist/core/hyperliquid/asset.js +25 -0
- package/dist/core/hyperliquid/asset.js.map +1 -1
- package/dist/core/hyperliquid/orders.d.ts +5 -0
- package/dist/core/hyperliquid/orders.d.ts.map +1 -1
- package/dist/core/hyperliquid/orders.js +15 -5
- package/dist/core/hyperliquid/orders.js.map +1 -1
- package/dist/core/hyperliquid/rounding.d.ts +23 -0
- package/dist/core/hyperliquid/rounding.d.ts.map +1 -0
- package/dist/core/hyperliquid/rounding.js +53 -0
- package/dist/core/hyperliquid/rounding.js.map +1 -0
- package/dist/core/risk/isolatedTopUp.d.ts +112 -0
- package/dist/core/risk/isolatedTopUp.d.ts.map +1 -0
- package/dist/core/risk/isolatedTopUp.js +209 -0
- package/dist/core/risk/isolatedTopUp.js.map +1 -0
- package/dist/core/risk/isolatedTopUpHistory.d.ts +7 -0
- package/dist/core/risk/isolatedTopUpHistory.d.ts.map +1 -0
- package/dist/core/risk/isolatedTopUpHistory.js +26 -0
- package/dist/core/risk/isolatedTopUpHistory.js.map +1 -0
- package/dist/core/risk/isolatedTopUpParse.d.ts +16 -0
- package/dist/core/risk/isolatedTopUpParse.d.ts.map +1 -0
- package/dist/core/risk/isolatedTopUpParse.js +78 -0
- package/dist/core/risk/isolatedTopUpParse.js.map +1 -0
- package/dist/core/risk/runIsolatedTopUpReconcile.d.ts +28 -0
- package/dist/core/risk/runIsolatedTopUpReconcile.d.ts.map +1 -0
- package/dist/core/risk/runIsolatedTopUpReconcile.js +184 -0
- package/dist/core/risk/runIsolatedTopUpReconcile.js.map +1 -0
- package/dist/core/state/bracketReconcile.d.ts.map +1 -1
- package/dist/core/state/bracketReconcile.js +6 -2
- package/dist/core/state/bracketReconcile.js.map +1 -1
- package/dist/core/state/gridReconcile.d.ts +2 -0
- package/dist/core/state/gridReconcile.d.ts.map +1 -1
- package/dist/core/state/gridReconcile.js +42 -2
- package/dist/core/state/gridReconcile.js.map +1 -1
- package/dist/core/state/intentFactory.d.ts +1 -0
- package/dist/core/state/intentFactory.d.ts.map +1 -1
- package/dist/core/state/intentFactory.js +1 -0
- package/dist/core/state/intentFactory.js.map +1 -1
- package/dist/core/state/profileStore.d.ts.map +1 -1
- package/dist/core/state/profileStore.js +12 -16
- package/dist/core/state/profileStore.js.map +1 -1
- package/dist/core/state/runReconcile.d.ts.map +1 -1
- package/dist/core/state/runReconcile.js +53 -18
- package/dist/core/state/runReconcile.js.map +1 -1
- package/dist/core/state/schema.d.ts +439 -68
- package/dist/core/state/schema.d.ts.map +1 -1
- package/dist/core/state/schema.js +51 -0
- package/dist/core/state/schema.js.map +1 -1
- package/dist/core/state/snapshot.d.ts +13 -0
- package/dist/core/state/snapshot.d.ts.map +1 -1
- package/dist/core/state/snapshot.js +36 -0
- package/dist/core/state/snapshot.js.map +1 -1
- package/dist/core/state/store.d.ts +21 -3
- package/dist/core/state/store.d.ts.map +1 -1
- package/dist/core/state/store.js +122 -13
- package/dist/core/state/store.js.map +1 -1
- package/dist/core/state/types.d.ts +13 -0
- package/dist/core/state/types.d.ts.map +1 -1
- package/dist/daemon/index.js +47 -2
- package/dist/daemon/index.js.map +1 -1
- package/dist/daemon/validateChild.d.ts +13 -0
- package/dist/daemon/validateChild.d.ts.map +1 -0
- package/dist/daemon/validateChild.js +77 -0
- package/dist/daemon/validateChild.js.map +1 -0
- package/dist/strategies/grid.d.ts +1 -0
- package/dist/strategies/grid.d.ts.map +1 -1
- package/dist/strategies/grid.js +1 -0
- package/dist/strategies/grid.js.map +1 -1
- package/package.json +3 -1
|
@@ -11,6 +11,8 @@ declare const BracketIntentSchema: z.ZodObject<{
|
|
|
11
11
|
entryLimitPx: z.ZodNumber;
|
|
12
12
|
entrySz: z.ZodNumber;
|
|
13
13
|
tif: z.ZodEnum<["Gtc", "Ioc", "Alo"]>;
|
|
14
|
+
/** Trading strategy: ambush (limit entry, wider SL/TP) or scalp (market entry, tight SL/TP). */
|
|
15
|
+
strategy: z.ZodOptional<z.ZodEnum<["scalp", "ambush"]>>;
|
|
14
16
|
entryReduceOnly: z.ZodOptional<z.ZodBoolean>;
|
|
15
17
|
tpTriggerPx: z.ZodNumber;
|
|
16
18
|
slTriggerPx: z.ZodNumber;
|
|
@@ -43,7 +45,7 @@ declare const BracketIntentSchema: z.ZodObject<{
|
|
|
43
45
|
entrySide: "buy" | "sell";
|
|
44
46
|
entryLimitPx: number;
|
|
45
47
|
entrySz: number;
|
|
46
|
-
tif: "
|
|
48
|
+
tif: "Gtc" | "Ioc" | "Alo";
|
|
47
49
|
tpTriggerPx: number;
|
|
48
50
|
slTriggerPx: number;
|
|
49
51
|
tpslIsMarket: boolean;
|
|
@@ -51,6 +53,7 @@ declare const BracketIntentSchema: z.ZodObject<{
|
|
|
51
53
|
phase: "planned" | "entry_pending" | "entry_partial" | "entry_filled" | "protection_active" | "tp_filled" | "sl_filled" | "closed" | "cancelled" | "expired" | "error";
|
|
52
54
|
dex?: string | undefined;
|
|
53
55
|
network?: string | undefined;
|
|
56
|
+
strategy?: "scalp" | "ambush" | undefined;
|
|
54
57
|
entryReduceOnly?: boolean | undefined;
|
|
55
58
|
tpslLimitPx?: number | undefined;
|
|
56
59
|
entryOid?: number | undefined;
|
|
@@ -72,13 +75,14 @@ declare const BracketIntentSchema: z.ZodObject<{
|
|
|
72
75
|
entrySide: "buy" | "sell";
|
|
73
76
|
entryLimitPx: number;
|
|
74
77
|
entrySz: number;
|
|
75
|
-
tif: "
|
|
78
|
+
tif: "Gtc" | "Ioc" | "Alo";
|
|
76
79
|
tpTriggerPx: number;
|
|
77
80
|
slTriggerPx: number;
|
|
78
81
|
tpslIsMarket: boolean;
|
|
79
82
|
phase: "planned" | "entry_pending" | "entry_partial" | "entry_filled" | "protection_active" | "tp_filled" | "sl_filled" | "closed" | "cancelled" | "expired" | "error";
|
|
80
83
|
dex?: string | undefined;
|
|
81
84
|
network?: string | undefined;
|
|
85
|
+
strategy?: "scalp" | "ambush" | undefined;
|
|
82
86
|
entryReduceOnly?: boolean | undefined;
|
|
83
87
|
tpslLimitPx?: number | undefined;
|
|
84
88
|
protectionReduceOnly?: boolean | undefined;
|
|
@@ -117,6 +121,8 @@ declare const GridIntentSchema: z.ZodObject<{
|
|
|
117
121
|
replenishGapPx: z.ZodOptional<z.ZodNumber>;
|
|
118
122
|
/** Idempotency for grid replenishment (plan:/done: prefixes, see mergeGridReplenishDedupe). */
|
|
119
123
|
replenishDedupeKeys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
124
|
+
/** User set this to true to regenerate legs from current lower/upper/grids/bias on next reconcile. */
|
|
125
|
+
regenerateGrid: z.ZodOptional<z.ZodBoolean>;
|
|
120
126
|
legs: z.ZodArray<z.ZodObject<{
|
|
121
127
|
index: z.ZodNumber;
|
|
122
128
|
px: z.ZodNumber;
|
|
@@ -138,10 +144,10 @@ declare const GridIntentSchema: z.ZodObject<{
|
|
|
138
144
|
fillPx: number;
|
|
139
145
|
}>>;
|
|
140
146
|
}, "strip", z.ZodTypeAny, {
|
|
147
|
+
isBuy: boolean;
|
|
141
148
|
index: number;
|
|
142
149
|
px: number;
|
|
143
|
-
|
|
144
|
-
legPhase: "cancelled" | "pending" | "open" | "partial" | "filled";
|
|
150
|
+
legPhase: "partial" | "cancelled" | "pending" | "open" | "filled";
|
|
145
151
|
oid?: number | undefined;
|
|
146
152
|
lastSz?: number | undefined;
|
|
147
153
|
lastOrigSz?: number | undefined;
|
|
@@ -150,10 +156,10 @@ declare const GridIntentSchema: z.ZodObject<{
|
|
|
150
156
|
fillPx: number;
|
|
151
157
|
} | undefined;
|
|
152
158
|
}, {
|
|
159
|
+
isBuy: boolean;
|
|
153
160
|
index: number;
|
|
154
161
|
px: number;
|
|
155
|
-
|
|
156
|
-
legPhase: "cancelled" | "pending" | "open" | "partial" | "filled";
|
|
162
|
+
legPhase: "partial" | "cancelled" | "pending" | "open" | "filled";
|
|
157
163
|
oid?: number | undefined;
|
|
158
164
|
lastSz?: number | undefined;
|
|
159
165
|
lastOrigSz?: number | undefined;
|
|
@@ -168,7 +174,7 @@ declare const GridIntentSchema: z.ZodObject<{
|
|
|
168
174
|
id: string;
|
|
169
175
|
createdAtMs: number;
|
|
170
176
|
updatedAtMs: number;
|
|
171
|
-
tif: "
|
|
177
|
+
tif: "Gtc" | "Ioc" | "Alo";
|
|
172
178
|
lower: number;
|
|
173
179
|
upper: number;
|
|
174
180
|
grids: number;
|
|
@@ -176,10 +182,10 @@ declare const GridIntentSchema: z.ZodObject<{
|
|
|
176
182
|
bias: "symmetric" | "long" | "short";
|
|
177
183
|
reduceOnly: boolean;
|
|
178
184
|
legs: {
|
|
185
|
+
isBuy: boolean;
|
|
179
186
|
index: number;
|
|
180
187
|
px: number;
|
|
181
|
-
|
|
182
|
-
legPhase: "cancelled" | "pending" | "open" | "partial" | "filled";
|
|
188
|
+
legPhase: "partial" | "cancelled" | "pending" | "open" | "filled";
|
|
183
189
|
oid?: number | undefined;
|
|
184
190
|
lastSz?: number | undefined;
|
|
185
191
|
lastOrigSz?: number | undefined;
|
|
@@ -193,13 +199,14 @@ declare const GridIntentSchema: z.ZodObject<{
|
|
|
193
199
|
maxOrders?: number | undefined;
|
|
194
200
|
replenishGapPx?: number | undefined;
|
|
195
201
|
replenishDedupeKeys?: string[] | undefined;
|
|
202
|
+
regenerateGrid?: boolean | undefined;
|
|
196
203
|
}, {
|
|
197
204
|
coin: string;
|
|
198
205
|
kind: "grid";
|
|
199
206
|
id: string;
|
|
200
207
|
createdAtMs: number;
|
|
201
208
|
updatedAtMs: number;
|
|
202
|
-
tif: "
|
|
209
|
+
tif: "Gtc" | "Ioc" | "Alo";
|
|
203
210
|
lower: number;
|
|
204
211
|
upper: number;
|
|
205
212
|
grids: number;
|
|
@@ -207,10 +214,10 @@ declare const GridIntentSchema: z.ZodObject<{
|
|
|
207
214
|
bias: "symmetric" | "long" | "short";
|
|
208
215
|
reduceOnly: boolean;
|
|
209
216
|
legs: {
|
|
217
|
+
isBuy: boolean;
|
|
210
218
|
index: number;
|
|
211
219
|
px: number;
|
|
212
|
-
|
|
213
|
-
legPhase: "cancelled" | "pending" | "open" | "partial" | "filled";
|
|
220
|
+
legPhase: "partial" | "cancelled" | "pending" | "open" | "filled";
|
|
214
221
|
oid?: number | undefined;
|
|
215
222
|
lastSz?: number | undefined;
|
|
216
223
|
lastOrigSz?: number | undefined;
|
|
@@ -224,6 +231,7 @@ declare const GridIntentSchema: z.ZodObject<{
|
|
|
224
231
|
maxOrders?: number | undefined;
|
|
225
232
|
replenishGapPx?: number | undefined;
|
|
226
233
|
replenishDedupeKeys?: string[] | undefined;
|
|
234
|
+
regenerateGrid?: boolean | undefined;
|
|
227
235
|
}>;
|
|
228
236
|
declare const SingleLimitIntentSchema: z.ZodObject<{
|
|
229
237
|
kind: z.ZodLiteral<"single_limit">;
|
|
@@ -246,11 +254,11 @@ declare const SingleLimitIntentSchema: z.ZodObject<{
|
|
|
246
254
|
createdAtMs: number;
|
|
247
255
|
updatedAtMs: number;
|
|
248
256
|
entrySide: "buy" | "sell";
|
|
249
|
-
tif: "
|
|
257
|
+
tif: "Gtc" | "Ioc" | "Alo";
|
|
250
258
|
reduceOnly: boolean;
|
|
251
259
|
limitPx: number;
|
|
252
|
-
dex?: string | undefined;
|
|
253
260
|
oid?: number | undefined;
|
|
261
|
+
dex?: string | undefined;
|
|
254
262
|
}, {
|
|
255
263
|
sz: number;
|
|
256
264
|
coin: string;
|
|
@@ -259,11 +267,11 @@ declare const SingleLimitIntentSchema: z.ZodObject<{
|
|
|
259
267
|
createdAtMs: number;
|
|
260
268
|
updatedAtMs: number;
|
|
261
269
|
entrySide: "buy" | "sell";
|
|
262
|
-
tif: "
|
|
270
|
+
tif: "Gtc" | "Ioc" | "Alo";
|
|
263
271
|
reduceOnly: boolean;
|
|
264
272
|
limitPx: number;
|
|
265
|
-
dex?: string | undefined;
|
|
266
273
|
oid?: number | undefined;
|
|
274
|
+
dex?: string | undefined;
|
|
267
275
|
}>;
|
|
268
276
|
declare const StandaloneTpslIntentSchema: z.ZodObject<{
|
|
269
277
|
kind: z.ZodLiteral<"standalone_tpsl">;
|
|
@@ -292,8 +300,8 @@ declare const StandaloneTpslIntentSchema: z.ZodObject<{
|
|
|
292
300
|
triggerPx: number;
|
|
293
301
|
tpsl: "tp" | "sl";
|
|
294
302
|
isMarket: boolean;
|
|
295
|
-
dex?: string | undefined;
|
|
296
303
|
oid?: number | undefined;
|
|
304
|
+
dex?: string | undefined;
|
|
297
305
|
limitPx?: number | undefined;
|
|
298
306
|
}, {
|
|
299
307
|
side: "buy" | "sell";
|
|
@@ -307,8 +315,8 @@ declare const StandaloneTpslIntentSchema: z.ZodObject<{
|
|
|
307
315
|
triggerPx: number;
|
|
308
316
|
tpsl: "tp" | "sl";
|
|
309
317
|
isMarket: boolean;
|
|
310
|
-
dex?: string | undefined;
|
|
311
318
|
oid?: number | undefined;
|
|
319
|
+
dex?: string | undefined;
|
|
312
320
|
limitPx?: number | undefined;
|
|
313
321
|
}>;
|
|
314
322
|
export declare const IntentRecordSchema: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
|
|
@@ -323,6 +331,8 @@ export declare const IntentRecordSchema: z.ZodDiscriminatedUnion<"kind", [z.ZodO
|
|
|
323
331
|
entryLimitPx: z.ZodNumber;
|
|
324
332
|
entrySz: z.ZodNumber;
|
|
325
333
|
tif: z.ZodEnum<["Gtc", "Ioc", "Alo"]>;
|
|
334
|
+
/** Trading strategy: ambush (limit entry, wider SL/TP) or scalp (market entry, tight SL/TP). */
|
|
335
|
+
strategy: z.ZodOptional<z.ZodEnum<["scalp", "ambush"]>>;
|
|
326
336
|
entryReduceOnly: z.ZodOptional<z.ZodBoolean>;
|
|
327
337
|
tpTriggerPx: z.ZodNumber;
|
|
328
338
|
slTriggerPx: z.ZodNumber;
|
|
@@ -355,7 +365,7 @@ export declare const IntentRecordSchema: z.ZodDiscriminatedUnion<"kind", [z.ZodO
|
|
|
355
365
|
entrySide: "buy" | "sell";
|
|
356
366
|
entryLimitPx: number;
|
|
357
367
|
entrySz: number;
|
|
358
|
-
tif: "
|
|
368
|
+
tif: "Gtc" | "Ioc" | "Alo";
|
|
359
369
|
tpTriggerPx: number;
|
|
360
370
|
slTriggerPx: number;
|
|
361
371
|
tpslIsMarket: boolean;
|
|
@@ -363,6 +373,7 @@ export declare const IntentRecordSchema: z.ZodDiscriminatedUnion<"kind", [z.ZodO
|
|
|
363
373
|
phase: "planned" | "entry_pending" | "entry_partial" | "entry_filled" | "protection_active" | "tp_filled" | "sl_filled" | "closed" | "cancelled" | "expired" | "error";
|
|
364
374
|
dex?: string | undefined;
|
|
365
375
|
network?: string | undefined;
|
|
376
|
+
strategy?: "scalp" | "ambush" | undefined;
|
|
366
377
|
entryReduceOnly?: boolean | undefined;
|
|
367
378
|
tpslLimitPx?: number | undefined;
|
|
368
379
|
entryOid?: number | undefined;
|
|
@@ -384,13 +395,14 @@ export declare const IntentRecordSchema: z.ZodDiscriminatedUnion<"kind", [z.ZodO
|
|
|
384
395
|
entrySide: "buy" | "sell";
|
|
385
396
|
entryLimitPx: number;
|
|
386
397
|
entrySz: number;
|
|
387
|
-
tif: "
|
|
398
|
+
tif: "Gtc" | "Ioc" | "Alo";
|
|
388
399
|
tpTriggerPx: number;
|
|
389
400
|
slTriggerPx: number;
|
|
390
401
|
tpslIsMarket: boolean;
|
|
391
402
|
phase: "planned" | "entry_pending" | "entry_partial" | "entry_filled" | "protection_active" | "tp_filled" | "sl_filled" | "closed" | "cancelled" | "expired" | "error";
|
|
392
403
|
dex?: string | undefined;
|
|
393
404
|
network?: string | undefined;
|
|
405
|
+
strategy?: "scalp" | "ambush" | undefined;
|
|
394
406
|
entryReduceOnly?: boolean | undefined;
|
|
395
407
|
tpslLimitPx?: number | undefined;
|
|
396
408
|
protectionReduceOnly?: boolean | undefined;
|
|
@@ -428,6 +440,8 @@ export declare const IntentRecordSchema: z.ZodDiscriminatedUnion<"kind", [z.ZodO
|
|
|
428
440
|
replenishGapPx: z.ZodOptional<z.ZodNumber>;
|
|
429
441
|
/** Idempotency for grid replenishment (plan:/done: prefixes, see mergeGridReplenishDedupe). */
|
|
430
442
|
replenishDedupeKeys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
443
|
+
/** User set this to true to regenerate legs from current lower/upper/grids/bias on next reconcile. */
|
|
444
|
+
regenerateGrid: z.ZodOptional<z.ZodBoolean>;
|
|
431
445
|
legs: z.ZodArray<z.ZodObject<{
|
|
432
446
|
index: z.ZodNumber;
|
|
433
447
|
px: z.ZodNumber;
|
|
@@ -449,10 +463,10 @@ export declare const IntentRecordSchema: z.ZodDiscriminatedUnion<"kind", [z.ZodO
|
|
|
449
463
|
fillPx: number;
|
|
450
464
|
}>>;
|
|
451
465
|
}, "strip", z.ZodTypeAny, {
|
|
466
|
+
isBuy: boolean;
|
|
452
467
|
index: number;
|
|
453
468
|
px: number;
|
|
454
|
-
|
|
455
|
-
legPhase: "cancelled" | "pending" | "open" | "partial" | "filled";
|
|
469
|
+
legPhase: "partial" | "cancelled" | "pending" | "open" | "filled";
|
|
456
470
|
oid?: number | undefined;
|
|
457
471
|
lastSz?: number | undefined;
|
|
458
472
|
lastOrigSz?: number | undefined;
|
|
@@ -461,10 +475,10 @@ export declare const IntentRecordSchema: z.ZodDiscriminatedUnion<"kind", [z.ZodO
|
|
|
461
475
|
fillPx: number;
|
|
462
476
|
} | undefined;
|
|
463
477
|
}, {
|
|
478
|
+
isBuy: boolean;
|
|
464
479
|
index: number;
|
|
465
480
|
px: number;
|
|
466
|
-
|
|
467
|
-
legPhase: "cancelled" | "pending" | "open" | "partial" | "filled";
|
|
481
|
+
legPhase: "partial" | "cancelled" | "pending" | "open" | "filled";
|
|
468
482
|
oid?: number | undefined;
|
|
469
483
|
lastSz?: number | undefined;
|
|
470
484
|
lastOrigSz?: number | undefined;
|
|
@@ -479,7 +493,7 @@ export declare const IntentRecordSchema: z.ZodDiscriminatedUnion<"kind", [z.ZodO
|
|
|
479
493
|
id: string;
|
|
480
494
|
createdAtMs: number;
|
|
481
495
|
updatedAtMs: number;
|
|
482
|
-
tif: "
|
|
496
|
+
tif: "Gtc" | "Ioc" | "Alo";
|
|
483
497
|
lower: number;
|
|
484
498
|
upper: number;
|
|
485
499
|
grids: number;
|
|
@@ -487,10 +501,10 @@ export declare const IntentRecordSchema: z.ZodDiscriminatedUnion<"kind", [z.ZodO
|
|
|
487
501
|
bias: "symmetric" | "long" | "short";
|
|
488
502
|
reduceOnly: boolean;
|
|
489
503
|
legs: {
|
|
504
|
+
isBuy: boolean;
|
|
490
505
|
index: number;
|
|
491
506
|
px: number;
|
|
492
|
-
|
|
493
|
-
legPhase: "cancelled" | "pending" | "open" | "partial" | "filled";
|
|
507
|
+
legPhase: "partial" | "cancelled" | "pending" | "open" | "filled";
|
|
494
508
|
oid?: number | undefined;
|
|
495
509
|
lastSz?: number | undefined;
|
|
496
510
|
lastOrigSz?: number | undefined;
|
|
@@ -504,13 +518,14 @@ export declare const IntentRecordSchema: z.ZodDiscriminatedUnion<"kind", [z.ZodO
|
|
|
504
518
|
maxOrders?: number | undefined;
|
|
505
519
|
replenishGapPx?: number | undefined;
|
|
506
520
|
replenishDedupeKeys?: string[] | undefined;
|
|
521
|
+
regenerateGrid?: boolean | undefined;
|
|
507
522
|
}, {
|
|
508
523
|
coin: string;
|
|
509
524
|
kind: "grid";
|
|
510
525
|
id: string;
|
|
511
526
|
createdAtMs: number;
|
|
512
527
|
updatedAtMs: number;
|
|
513
|
-
tif: "
|
|
528
|
+
tif: "Gtc" | "Ioc" | "Alo";
|
|
514
529
|
lower: number;
|
|
515
530
|
upper: number;
|
|
516
531
|
grids: number;
|
|
@@ -518,10 +533,10 @@ export declare const IntentRecordSchema: z.ZodDiscriminatedUnion<"kind", [z.ZodO
|
|
|
518
533
|
bias: "symmetric" | "long" | "short";
|
|
519
534
|
reduceOnly: boolean;
|
|
520
535
|
legs: {
|
|
536
|
+
isBuy: boolean;
|
|
521
537
|
index: number;
|
|
522
538
|
px: number;
|
|
523
|
-
|
|
524
|
-
legPhase: "cancelled" | "pending" | "open" | "partial" | "filled";
|
|
539
|
+
legPhase: "partial" | "cancelled" | "pending" | "open" | "filled";
|
|
525
540
|
oid?: number | undefined;
|
|
526
541
|
lastSz?: number | undefined;
|
|
527
542
|
lastOrigSz?: number | undefined;
|
|
@@ -535,6 +550,7 @@ export declare const IntentRecordSchema: z.ZodDiscriminatedUnion<"kind", [z.ZodO
|
|
|
535
550
|
maxOrders?: number | undefined;
|
|
536
551
|
replenishGapPx?: number | undefined;
|
|
537
552
|
replenishDedupeKeys?: string[] | undefined;
|
|
553
|
+
regenerateGrid?: boolean | undefined;
|
|
538
554
|
}>, z.ZodObject<{
|
|
539
555
|
kind: z.ZodLiteral<"single_limit">;
|
|
540
556
|
id: z.ZodString;
|
|
@@ -556,11 +572,11 @@ export declare const IntentRecordSchema: z.ZodDiscriminatedUnion<"kind", [z.ZodO
|
|
|
556
572
|
createdAtMs: number;
|
|
557
573
|
updatedAtMs: number;
|
|
558
574
|
entrySide: "buy" | "sell";
|
|
559
|
-
tif: "
|
|
575
|
+
tif: "Gtc" | "Ioc" | "Alo";
|
|
560
576
|
reduceOnly: boolean;
|
|
561
577
|
limitPx: number;
|
|
562
|
-
dex?: string | undefined;
|
|
563
578
|
oid?: number | undefined;
|
|
579
|
+
dex?: string | undefined;
|
|
564
580
|
}, {
|
|
565
581
|
sz: number;
|
|
566
582
|
coin: string;
|
|
@@ -569,11 +585,11 @@ export declare const IntentRecordSchema: z.ZodDiscriminatedUnion<"kind", [z.ZodO
|
|
|
569
585
|
createdAtMs: number;
|
|
570
586
|
updatedAtMs: number;
|
|
571
587
|
entrySide: "buy" | "sell";
|
|
572
|
-
tif: "
|
|
588
|
+
tif: "Gtc" | "Ioc" | "Alo";
|
|
573
589
|
reduceOnly: boolean;
|
|
574
590
|
limitPx: number;
|
|
575
|
-
dex?: string | undefined;
|
|
576
591
|
oid?: number | undefined;
|
|
592
|
+
dex?: string | undefined;
|
|
577
593
|
}>, z.ZodObject<{
|
|
578
594
|
kind: z.ZodLiteral<"standalone_tpsl">;
|
|
579
595
|
id: z.ZodString;
|
|
@@ -601,8 +617,8 @@ export declare const IntentRecordSchema: z.ZodDiscriminatedUnion<"kind", [z.ZodO
|
|
|
601
617
|
triggerPx: number;
|
|
602
618
|
tpsl: "tp" | "sl";
|
|
603
619
|
isMarket: boolean;
|
|
604
|
-
dex?: string | undefined;
|
|
605
620
|
oid?: number | undefined;
|
|
621
|
+
dex?: string | undefined;
|
|
606
622
|
limitPx?: number | undefined;
|
|
607
623
|
}, {
|
|
608
624
|
side: "buy" | "sell";
|
|
@@ -616,8 +632,8 @@ export declare const IntentRecordSchema: z.ZodDiscriminatedUnion<"kind", [z.ZodO
|
|
|
616
632
|
triggerPx: number;
|
|
617
633
|
tpsl: "tp" | "sl";
|
|
618
634
|
isMarket: boolean;
|
|
619
|
-
dex?: string | undefined;
|
|
620
635
|
oid?: number | undefined;
|
|
636
|
+
dex?: string | undefined;
|
|
621
637
|
limitPx?: number | undefined;
|
|
622
638
|
}>]>;
|
|
623
639
|
export type IntentRecord = z.infer<typeof IntentRecordSchema>;
|
|
@@ -630,28 +646,166 @@ export declare const UserProfileSchema: z.ZodObject<{
|
|
|
630
646
|
risk: z.ZodDefault<z.ZodEnum<["conservative", "balanced", "aggressive"]>>;
|
|
631
647
|
defaultMaxSz: z.ZodOptional<z.ZodNumber>;
|
|
632
648
|
maxSzByCoin: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
|
|
649
|
+
/** Advisor / bracket minimum sz floor (profile guard; HL $10 notional still applies). */
|
|
650
|
+
defaultMinSz: z.ZodOptional<z.ZodNumber>;
|
|
651
|
+
minSzByCoin: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
|
|
633
652
|
requireTpsl: z.ZodDefault<z.ZodBoolean>;
|
|
634
653
|
priceDeviationPctMax: z.ZodDefault<z.ZodNumber>;
|
|
635
654
|
tradingStyleNotes: z.ZodOptional<z.ZodString>;
|
|
636
655
|
updatedAtMs: z.ZodOptional<z.ZodNumber>;
|
|
656
|
+
/** Optional isolated-margin auto top-up during `state reconcile` (default disabled). */
|
|
657
|
+
isolatedTopUp: z.ZodOptional<z.ZodObject<{
|
|
658
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
659
|
+
safeDistancePct: z.ZodDefault<z.ZodNumber>;
|
|
660
|
+
safetyFactor: z.ZodDefault<z.ZodNumber>;
|
|
661
|
+
reserveUsd: z.ZodDefault<z.ZodNumber>;
|
|
662
|
+
minTopUpUsd: z.ZodDefault<z.ZodNumber>;
|
|
663
|
+
minPartialUsd: z.ZodDefault<z.ZodNumber>;
|
|
664
|
+
maxSingleTopUpUsd: z.ZodDefault<z.ZodNumber>;
|
|
665
|
+
maxDailyTopUpUsd: z.ZodDefault<z.ZodNumber>;
|
|
666
|
+
cooldownSec: z.ZodDefault<z.ZodNumber>;
|
|
667
|
+
}, "strip", z.ZodTypeAny, {
|
|
668
|
+
enabled: boolean;
|
|
669
|
+
safeDistancePct: number;
|
|
670
|
+
safetyFactor: number;
|
|
671
|
+
reserveUsd: number;
|
|
672
|
+
minTopUpUsd: number;
|
|
673
|
+
minPartialUsd: number;
|
|
674
|
+
maxSingleTopUpUsd: number;
|
|
675
|
+
maxDailyTopUpUsd: number;
|
|
676
|
+
cooldownSec: number;
|
|
677
|
+
}, {
|
|
678
|
+
enabled?: boolean | undefined;
|
|
679
|
+
safeDistancePct?: number | undefined;
|
|
680
|
+
safetyFactor?: number | undefined;
|
|
681
|
+
reserveUsd?: number | undefined;
|
|
682
|
+
minTopUpUsd?: number | undefined;
|
|
683
|
+
minPartialUsd?: number | undefined;
|
|
684
|
+
maxSingleTopUpUsd?: number | undefined;
|
|
685
|
+
maxDailyTopUpUsd?: number | undefined;
|
|
686
|
+
cooldownSec?: number | undefined;
|
|
687
|
+
}>>;
|
|
688
|
+
/** Min model confidence (0–1) required before `advise` execute / `--auto`. 0 = disabled. */
|
|
689
|
+
minConfidenceToExecute: z.ZodOptional<z.ZodNumber>;
|
|
690
|
+
/** Random limit-price offset fraction (e.g. 0.002 = up to ±0.2%). 0 = disabled. */
|
|
691
|
+
limitPriceJitterPct: z.ZodOptional<z.ZodNumber>;
|
|
692
|
+
/** Min seconds between same coin+action executions (open_with_bracket also keyed by side). 0 = disabled. */
|
|
693
|
+
executeCooldownSec: z.ZodOptional<z.ZodNumber>;
|
|
694
|
+
/**
|
|
695
|
+
* Bracket entry shift toward model SL (0=off, 1=entry at SL, TP/SL translated equally).
|
|
696
|
+
* Limit-only: unfilled = no position.
|
|
697
|
+
*/
|
|
698
|
+
bracketSlEntryShift: z.ZodOptional<z.ZodNumber>;
|
|
699
|
+
/** Relative limit deviation above which advise replaces a pending TTL ambush (default: priceDeviationPctMax). */
|
|
700
|
+
ambushReplaceDeviationPct: z.ZodOptional<z.ZodNumber>;
|
|
701
|
+
/** Min seconds after open before advise may close without TP/SL hit (0 = disabled). Applies to all bracket-linked positions. */
|
|
702
|
+
antiRushCloseMinSec: z.ZodOptional<z.ZodNumber>;
|
|
703
|
+
/** After entry fill, wait this long for reconcile to place TP/SL before allow close (default 360s ≈ one advise round). */
|
|
704
|
+
protectionGraceSec: z.ZodOptional<z.ZodNumber>;
|
|
705
|
+
/** Block close when |unrealized PnL| below this fraction of entry (e.g. 0.01 = 1%) unless tp_unreachable. */
|
|
706
|
+
minClosePnlPct: z.ZodOptional<z.ZodNumber>;
|
|
707
|
+
/** Min TP distance / SL distance from bracket entry (default by risk: conservative 2.5, balanced 2, aggressive 1.5). */
|
|
708
|
+
minRewardRiskRatio: z.ZodOptional<z.ZodNumber>;
|
|
709
|
+
/** Max SL distance from entry as fraction of entry px (default by risk: conservative 1.2%, balanced 2%, aggressive 3%). */
|
|
710
|
+
maxSlPctFromEntry: z.ZodOptional<z.ZodNumber>;
|
|
711
|
+
/** Block bracket when computed SL touch prob exceeds this (ATR barrier model). */
|
|
712
|
+
maxSlTouchProb: z.ZodOptional<z.ZodNumber>;
|
|
713
|
+
/** Block when SL touch prob × slSweepLiquidityMultiplier exceeds this (stop-hunt adjusted). */
|
|
714
|
+
maxSlSweepProb: z.ZodOptional<z.ZodNumber>;
|
|
715
|
+
/** Move SL away from structure by this × ATR₁h before execute (buy: down, sell: up). 0 = off. */
|
|
716
|
+
slAntiSweepAtrFactor: z.ZodOptional<z.ZodNumber>;
|
|
717
|
+
/** Multiplier on SL touch prob to approximate stop-hunt / AI sweep risk (default 2). */
|
|
718
|
+
slSweepLiquidityMultiplier: z.ZodOptional<z.ZodNumber>;
|
|
719
|
+
/** Default ambush TTL minutes when model omits expires_in_min (15–30 typical). */
|
|
720
|
+
defaultAmbushExpiresMin: z.ZodOptional<z.ZodNumber>;
|
|
721
|
+
/** Block cancel_all while unexpired TTL ambush entry is still pending (default true). */
|
|
722
|
+
forbidCancelAllWithActiveAmbush: z.ZodDefault<z.ZodBoolean>;
|
|
637
723
|
}, "strip", z.ZodTypeAny, {
|
|
638
724
|
risk: "conservative" | "balanced" | "aggressive";
|
|
639
725
|
requireTpsl: boolean;
|
|
640
726
|
priceDeviationPctMax: number;
|
|
727
|
+
forbidCancelAllWithActiveAmbush: boolean;
|
|
641
728
|
updatedAtMs?: number | undefined;
|
|
642
729
|
defaultMaxSz?: number | undefined;
|
|
643
730
|
maxSzByCoin?: Record<string, number> | undefined;
|
|
731
|
+
defaultMinSz?: number | undefined;
|
|
732
|
+
minSzByCoin?: Record<string, number> | undefined;
|
|
644
733
|
tradingStyleNotes?: string | undefined;
|
|
734
|
+
isolatedTopUp?: {
|
|
735
|
+
enabled: boolean;
|
|
736
|
+
safeDistancePct: number;
|
|
737
|
+
safetyFactor: number;
|
|
738
|
+
reserveUsd: number;
|
|
739
|
+
minTopUpUsd: number;
|
|
740
|
+
minPartialUsd: number;
|
|
741
|
+
maxSingleTopUpUsd: number;
|
|
742
|
+
maxDailyTopUpUsd: number;
|
|
743
|
+
cooldownSec: number;
|
|
744
|
+
} | undefined;
|
|
745
|
+
minConfidenceToExecute?: number | undefined;
|
|
746
|
+
limitPriceJitterPct?: number | undefined;
|
|
747
|
+
executeCooldownSec?: number | undefined;
|
|
748
|
+
bracketSlEntryShift?: number | undefined;
|
|
749
|
+
ambushReplaceDeviationPct?: number | undefined;
|
|
750
|
+
antiRushCloseMinSec?: number | undefined;
|
|
751
|
+
protectionGraceSec?: number | undefined;
|
|
752
|
+
minClosePnlPct?: number | undefined;
|
|
753
|
+
minRewardRiskRatio?: number | undefined;
|
|
754
|
+
maxSlPctFromEntry?: number | undefined;
|
|
755
|
+
maxSlTouchProb?: number | undefined;
|
|
756
|
+
maxSlSweepProb?: number | undefined;
|
|
757
|
+
slAntiSweepAtrFactor?: number | undefined;
|
|
758
|
+
slSweepLiquidityMultiplier?: number | undefined;
|
|
759
|
+
defaultAmbushExpiresMin?: number | undefined;
|
|
645
760
|
}, {
|
|
646
761
|
updatedAtMs?: number | undefined;
|
|
647
762
|
risk?: "conservative" | "balanced" | "aggressive" | undefined;
|
|
648
763
|
defaultMaxSz?: number | undefined;
|
|
649
764
|
maxSzByCoin?: Record<string, number> | undefined;
|
|
765
|
+
defaultMinSz?: number | undefined;
|
|
766
|
+
minSzByCoin?: Record<string, number> | undefined;
|
|
650
767
|
requireTpsl?: boolean | undefined;
|
|
651
768
|
priceDeviationPctMax?: number | undefined;
|
|
652
769
|
tradingStyleNotes?: string | undefined;
|
|
770
|
+
isolatedTopUp?: {
|
|
771
|
+
enabled?: boolean | undefined;
|
|
772
|
+
safeDistancePct?: number | undefined;
|
|
773
|
+
safetyFactor?: number | undefined;
|
|
774
|
+
reserveUsd?: number | undefined;
|
|
775
|
+
minTopUpUsd?: number | undefined;
|
|
776
|
+
minPartialUsd?: number | undefined;
|
|
777
|
+
maxSingleTopUpUsd?: number | undefined;
|
|
778
|
+
maxDailyTopUpUsd?: number | undefined;
|
|
779
|
+
cooldownSec?: number | undefined;
|
|
780
|
+
} | undefined;
|
|
781
|
+
minConfidenceToExecute?: number | undefined;
|
|
782
|
+
limitPriceJitterPct?: number | undefined;
|
|
783
|
+
executeCooldownSec?: number | undefined;
|
|
784
|
+
bracketSlEntryShift?: number | undefined;
|
|
785
|
+
ambushReplaceDeviationPct?: number | undefined;
|
|
786
|
+
antiRushCloseMinSec?: number | undefined;
|
|
787
|
+
protectionGraceSec?: number | undefined;
|
|
788
|
+
minClosePnlPct?: number | undefined;
|
|
789
|
+
minRewardRiskRatio?: number | undefined;
|
|
790
|
+
maxSlPctFromEntry?: number | undefined;
|
|
791
|
+
maxSlTouchProb?: number | undefined;
|
|
792
|
+
maxSlSweepProb?: number | undefined;
|
|
793
|
+
slAntiSweepAtrFactor?: number | undefined;
|
|
794
|
+
slSweepLiquidityMultiplier?: number | undefined;
|
|
795
|
+
defaultAmbushExpiresMin?: number | undefined;
|
|
796
|
+
forbidCancelAllWithActiveAmbush?: boolean | undefined;
|
|
653
797
|
}>;
|
|
654
798
|
export type UserProfile = z.infer<typeof UserProfileSchema>;
|
|
799
|
+
export declare const AdviseExecuteRecordSchema: z.ZodObject<{
|
|
800
|
+
action: z.ZodString;
|
|
801
|
+
atMs: z.ZodNumber;
|
|
802
|
+
}, "strip", z.ZodTypeAny, {
|
|
803
|
+
action: string;
|
|
804
|
+
atMs: number;
|
|
805
|
+
}, {
|
|
806
|
+
action: string;
|
|
807
|
+
atMs: number;
|
|
808
|
+
}>;
|
|
655
809
|
export declare const TradeStateFileSchema: z.ZodObject<{
|
|
656
810
|
version: z.ZodLiteral<1>;
|
|
657
811
|
updatedAtMs: z.ZodNumber;
|
|
@@ -667,6 +821,8 @@ export declare const TradeStateFileSchema: z.ZodObject<{
|
|
|
667
821
|
entryLimitPx: z.ZodNumber;
|
|
668
822
|
entrySz: z.ZodNumber;
|
|
669
823
|
tif: z.ZodEnum<["Gtc", "Ioc", "Alo"]>;
|
|
824
|
+
/** Trading strategy: ambush (limit entry, wider SL/TP) or scalp (market entry, tight SL/TP). */
|
|
825
|
+
strategy: z.ZodOptional<z.ZodEnum<["scalp", "ambush"]>>;
|
|
670
826
|
entryReduceOnly: z.ZodOptional<z.ZodBoolean>;
|
|
671
827
|
tpTriggerPx: z.ZodNumber;
|
|
672
828
|
slTriggerPx: z.ZodNumber;
|
|
@@ -699,7 +855,7 @@ export declare const TradeStateFileSchema: z.ZodObject<{
|
|
|
699
855
|
entrySide: "buy" | "sell";
|
|
700
856
|
entryLimitPx: number;
|
|
701
857
|
entrySz: number;
|
|
702
|
-
tif: "
|
|
858
|
+
tif: "Gtc" | "Ioc" | "Alo";
|
|
703
859
|
tpTriggerPx: number;
|
|
704
860
|
slTriggerPx: number;
|
|
705
861
|
tpslIsMarket: boolean;
|
|
@@ -707,6 +863,7 @@ export declare const TradeStateFileSchema: z.ZodObject<{
|
|
|
707
863
|
phase: "planned" | "entry_pending" | "entry_partial" | "entry_filled" | "protection_active" | "tp_filled" | "sl_filled" | "closed" | "cancelled" | "expired" | "error";
|
|
708
864
|
dex?: string | undefined;
|
|
709
865
|
network?: string | undefined;
|
|
866
|
+
strategy?: "scalp" | "ambush" | undefined;
|
|
710
867
|
entryReduceOnly?: boolean | undefined;
|
|
711
868
|
tpslLimitPx?: number | undefined;
|
|
712
869
|
entryOid?: number | undefined;
|
|
@@ -728,13 +885,14 @@ export declare const TradeStateFileSchema: z.ZodObject<{
|
|
|
728
885
|
entrySide: "buy" | "sell";
|
|
729
886
|
entryLimitPx: number;
|
|
730
887
|
entrySz: number;
|
|
731
|
-
tif: "
|
|
888
|
+
tif: "Gtc" | "Ioc" | "Alo";
|
|
732
889
|
tpTriggerPx: number;
|
|
733
890
|
slTriggerPx: number;
|
|
734
891
|
tpslIsMarket: boolean;
|
|
735
892
|
phase: "planned" | "entry_pending" | "entry_partial" | "entry_filled" | "protection_active" | "tp_filled" | "sl_filled" | "closed" | "cancelled" | "expired" | "error";
|
|
736
893
|
dex?: string | undefined;
|
|
737
894
|
network?: string | undefined;
|
|
895
|
+
strategy?: "scalp" | "ambush" | undefined;
|
|
738
896
|
entryReduceOnly?: boolean | undefined;
|
|
739
897
|
tpslLimitPx?: number | undefined;
|
|
740
898
|
protectionReduceOnly?: boolean | undefined;
|
|
@@ -772,6 +930,8 @@ export declare const TradeStateFileSchema: z.ZodObject<{
|
|
|
772
930
|
replenishGapPx: z.ZodOptional<z.ZodNumber>;
|
|
773
931
|
/** Idempotency for grid replenishment (plan:/done: prefixes, see mergeGridReplenishDedupe). */
|
|
774
932
|
replenishDedupeKeys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
933
|
+
/** User set this to true to regenerate legs from current lower/upper/grids/bias on next reconcile. */
|
|
934
|
+
regenerateGrid: z.ZodOptional<z.ZodBoolean>;
|
|
775
935
|
legs: z.ZodArray<z.ZodObject<{
|
|
776
936
|
index: z.ZodNumber;
|
|
777
937
|
px: z.ZodNumber;
|
|
@@ -793,10 +953,10 @@ export declare const TradeStateFileSchema: z.ZodObject<{
|
|
|
793
953
|
fillPx: number;
|
|
794
954
|
}>>;
|
|
795
955
|
}, "strip", z.ZodTypeAny, {
|
|
956
|
+
isBuy: boolean;
|
|
796
957
|
index: number;
|
|
797
958
|
px: number;
|
|
798
|
-
|
|
799
|
-
legPhase: "cancelled" | "pending" | "open" | "partial" | "filled";
|
|
959
|
+
legPhase: "partial" | "cancelled" | "pending" | "open" | "filled";
|
|
800
960
|
oid?: number | undefined;
|
|
801
961
|
lastSz?: number | undefined;
|
|
802
962
|
lastOrigSz?: number | undefined;
|
|
@@ -805,10 +965,10 @@ export declare const TradeStateFileSchema: z.ZodObject<{
|
|
|
805
965
|
fillPx: number;
|
|
806
966
|
} | undefined;
|
|
807
967
|
}, {
|
|
968
|
+
isBuy: boolean;
|
|
808
969
|
index: number;
|
|
809
970
|
px: number;
|
|
810
|
-
|
|
811
|
-
legPhase: "cancelled" | "pending" | "open" | "partial" | "filled";
|
|
971
|
+
legPhase: "partial" | "cancelled" | "pending" | "open" | "filled";
|
|
812
972
|
oid?: number | undefined;
|
|
813
973
|
lastSz?: number | undefined;
|
|
814
974
|
lastOrigSz?: number | undefined;
|
|
@@ -823,7 +983,7 @@ export declare const TradeStateFileSchema: z.ZodObject<{
|
|
|
823
983
|
id: string;
|
|
824
984
|
createdAtMs: number;
|
|
825
985
|
updatedAtMs: number;
|
|
826
|
-
tif: "
|
|
986
|
+
tif: "Gtc" | "Ioc" | "Alo";
|
|
827
987
|
lower: number;
|
|
828
988
|
upper: number;
|
|
829
989
|
grids: number;
|
|
@@ -831,10 +991,10 @@ export declare const TradeStateFileSchema: z.ZodObject<{
|
|
|
831
991
|
bias: "symmetric" | "long" | "short";
|
|
832
992
|
reduceOnly: boolean;
|
|
833
993
|
legs: {
|
|
994
|
+
isBuy: boolean;
|
|
834
995
|
index: number;
|
|
835
996
|
px: number;
|
|
836
|
-
|
|
837
|
-
legPhase: "cancelled" | "pending" | "open" | "partial" | "filled";
|
|
997
|
+
legPhase: "partial" | "cancelled" | "pending" | "open" | "filled";
|
|
838
998
|
oid?: number | undefined;
|
|
839
999
|
lastSz?: number | undefined;
|
|
840
1000
|
lastOrigSz?: number | undefined;
|
|
@@ -848,13 +1008,14 @@ export declare const TradeStateFileSchema: z.ZodObject<{
|
|
|
848
1008
|
maxOrders?: number | undefined;
|
|
849
1009
|
replenishGapPx?: number | undefined;
|
|
850
1010
|
replenishDedupeKeys?: string[] | undefined;
|
|
1011
|
+
regenerateGrid?: boolean | undefined;
|
|
851
1012
|
}, {
|
|
852
1013
|
coin: string;
|
|
853
1014
|
kind: "grid";
|
|
854
1015
|
id: string;
|
|
855
1016
|
createdAtMs: number;
|
|
856
1017
|
updatedAtMs: number;
|
|
857
|
-
tif: "
|
|
1018
|
+
tif: "Gtc" | "Ioc" | "Alo";
|
|
858
1019
|
lower: number;
|
|
859
1020
|
upper: number;
|
|
860
1021
|
grids: number;
|
|
@@ -862,10 +1023,10 @@ export declare const TradeStateFileSchema: z.ZodObject<{
|
|
|
862
1023
|
bias: "symmetric" | "long" | "short";
|
|
863
1024
|
reduceOnly: boolean;
|
|
864
1025
|
legs: {
|
|
1026
|
+
isBuy: boolean;
|
|
865
1027
|
index: number;
|
|
866
1028
|
px: number;
|
|
867
|
-
|
|
868
|
-
legPhase: "cancelled" | "pending" | "open" | "partial" | "filled";
|
|
1029
|
+
legPhase: "partial" | "cancelled" | "pending" | "open" | "filled";
|
|
869
1030
|
oid?: number | undefined;
|
|
870
1031
|
lastSz?: number | undefined;
|
|
871
1032
|
lastOrigSz?: number | undefined;
|
|
@@ -879,6 +1040,7 @@ export declare const TradeStateFileSchema: z.ZodObject<{
|
|
|
879
1040
|
maxOrders?: number | undefined;
|
|
880
1041
|
replenishGapPx?: number | undefined;
|
|
881
1042
|
replenishDedupeKeys?: string[] | undefined;
|
|
1043
|
+
regenerateGrid?: boolean | undefined;
|
|
882
1044
|
}>, z.ZodObject<{
|
|
883
1045
|
kind: z.ZodLiteral<"single_limit">;
|
|
884
1046
|
id: z.ZodString;
|
|
@@ -900,11 +1062,11 @@ export declare const TradeStateFileSchema: z.ZodObject<{
|
|
|
900
1062
|
createdAtMs: number;
|
|
901
1063
|
updatedAtMs: number;
|
|
902
1064
|
entrySide: "buy" | "sell";
|
|
903
|
-
tif: "
|
|
1065
|
+
tif: "Gtc" | "Ioc" | "Alo";
|
|
904
1066
|
reduceOnly: boolean;
|
|
905
1067
|
limitPx: number;
|
|
906
|
-
dex?: string | undefined;
|
|
907
1068
|
oid?: number | undefined;
|
|
1069
|
+
dex?: string | undefined;
|
|
908
1070
|
}, {
|
|
909
1071
|
sz: number;
|
|
910
1072
|
coin: string;
|
|
@@ -913,11 +1075,11 @@ export declare const TradeStateFileSchema: z.ZodObject<{
|
|
|
913
1075
|
createdAtMs: number;
|
|
914
1076
|
updatedAtMs: number;
|
|
915
1077
|
entrySide: "buy" | "sell";
|
|
916
|
-
tif: "
|
|
1078
|
+
tif: "Gtc" | "Ioc" | "Alo";
|
|
917
1079
|
reduceOnly: boolean;
|
|
918
1080
|
limitPx: number;
|
|
919
|
-
dex?: string | undefined;
|
|
920
1081
|
oid?: number | undefined;
|
|
1082
|
+
dex?: string | undefined;
|
|
921
1083
|
}>, z.ZodObject<{
|
|
922
1084
|
kind: z.ZodLiteral<"standalone_tpsl">;
|
|
923
1085
|
id: z.ZodString;
|
|
@@ -945,8 +1107,8 @@ export declare const TradeStateFileSchema: z.ZodObject<{
|
|
|
945
1107
|
triggerPx: number;
|
|
946
1108
|
tpsl: "tp" | "sl";
|
|
947
1109
|
isMarket: boolean;
|
|
948
|
-
dex?: string | undefined;
|
|
949
1110
|
oid?: number | undefined;
|
|
1111
|
+
dex?: string | undefined;
|
|
950
1112
|
limitPx?: number | undefined;
|
|
951
1113
|
}, {
|
|
952
1114
|
side: "buy" | "sell";
|
|
@@ -960,8 +1122,8 @@ export declare const TradeStateFileSchema: z.ZodObject<{
|
|
|
960
1122
|
triggerPx: number;
|
|
961
1123
|
tpsl: "tp" | "sl";
|
|
962
1124
|
isMarket: boolean;
|
|
963
|
-
dex?: string | undefined;
|
|
964
1125
|
oid?: number | undefined;
|
|
1126
|
+
dex?: string | undefined;
|
|
965
1127
|
limitPx?: number | undefined;
|
|
966
1128
|
}>]>>;
|
|
967
1129
|
events: z.ZodArray<z.ZodObject<{
|
|
@@ -987,27 +1149,166 @@ export declare const TradeStateFileSchema: z.ZodObject<{
|
|
|
987
1149
|
risk: z.ZodDefault<z.ZodEnum<["conservative", "balanced", "aggressive"]>>;
|
|
988
1150
|
defaultMaxSz: z.ZodOptional<z.ZodNumber>;
|
|
989
1151
|
maxSzByCoin: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
|
|
1152
|
+
/** Advisor / bracket minimum sz floor (profile guard; HL $10 notional still applies). */
|
|
1153
|
+
defaultMinSz: z.ZodOptional<z.ZodNumber>;
|
|
1154
|
+
minSzByCoin: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
|
|
990
1155
|
requireTpsl: z.ZodDefault<z.ZodBoolean>;
|
|
991
1156
|
priceDeviationPctMax: z.ZodDefault<z.ZodNumber>;
|
|
992
1157
|
tradingStyleNotes: z.ZodOptional<z.ZodString>;
|
|
993
1158
|
updatedAtMs: z.ZodOptional<z.ZodNumber>;
|
|
1159
|
+
/** Optional isolated-margin auto top-up during `state reconcile` (default disabled). */
|
|
1160
|
+
isolatedTopUp: z.ZodOptional<z.ZodObject<{
|
|
1161
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
1162
|
+
safeDistancePct: z.ZodDefault<z.ZodNumber>;
|
|
1163
|
+
safetyFactor: z.ZodDefault<z.ZodNumber>;
|
|
1164
|
+
reserveUsd: z.ZodDefault<z.ZodNumber>;
|
|
1165
|
+
minTopUpUsd: z.ZodDefault<z.ZodNumber>;
|
|
1166
|
+
minPartialUsd: z.ZodDefault<z.ZodNumber>;
|
|
1167
|
+
maxSingleTopUpUsd: z.ZodDefault<z.ZodNumber>;
|
|
1168
|
+
maxDailyTopUpUsd: z.ZodDefault<z.ZodNumber>;
|
|
1169
|
+
cooldownSec: z.ZodDefault<z.ZodNumber>;
|
|
1170
|
+
}, "strip", z.ZodTypeAny, {
|
|
1171
|
+
enabled: boolean;
|
|
1172
|
+
safeDistancePct: number;
|
|
1173
|
+
safetyFactor: number;
|
|
1174
|
+
reserveUsd: number;
|
|
1175
|
+
minTopUpUsd: number;
|
|
1176
|
+
minPartialUsd: number;
|
|
1177
|
+
maxSingleTopUpUsd: number;
|
|
1178
|
+
maxDailyTopUpUsd: number;
|
|
1179
|
+
cooldownSec: number;
|
|
1180
|
+
}, {
|
|
1181
|
+
enabled?: boolean | undefined;
|
|
1182
|
+
safeDistancePct?: number | undefined;
|
|
1183
|
+
safetyFactor?: number | undefined;
|
|
1184
|
+
reserveUsd?: number | undefined;
|
|
1185
|
+
minTopUpUsd?: number | undefined;
|
|
1186
|
+
minPartialUsd?: number | undefined;
|
|
1187
|
+
maxSingleTopUpUsd?: number | undefined;
|
|
1188
|
+
maxDailyTopUpUsd?: number | undefined;
|
|
1189
|
+
cooldownSec?: number | undefined;
|
|
1190
|
+
}>>;
|
|
1191
|
+
/** Min model confidence (0–1) required before `advise` execute / `--auto`. 0 = disabled. */
|
|
1192
|
+
minConfidenceToExecute: z.ZodOptional<z.ZodNumber>;
|
|
1193
|
+
/** Random limit-price offset fraction (e.g. 0.002 = up to ±0.2%). 0 = disabled. */
|
|
1194
|
+
limitPriceJitterPct: z.ZodOptional<z.ZodNumber>;
|
|
1195
|
+
/** Min seconds between same coin+action executions (open_with_bracket also keyed by side). 0 = disabled. */
|
|
1196
|
+
executeCooldownSec: z.ZodOptional<z.ZodNumber>;
|
|
1197
|
+
/**
|
|
1198
|
+
* Bracket entry shift toward model SL (0=off, 1=entry at SL, TP/SL translated equally).
|
|
1199
|
+
* Limit-only: unfilled = no position.
|
|
1200
|
+
*/
|
|
1201
|
+
bracketSlEntryShift: z.ZodOptional<z.ZodNumber>;
|
|
1202
|
+
/** Relative limit deviation above which advise replaces a pending TTL ambush (default: priceDeviationPctMax). */
|
|
1203
|
+
ambushReplaceDeviationPct: z.ZodOptional<z.ZodNumber>;
|
|
1204
|
+
/** Min seconds after open before advise may close without TP/SL hit (0 = disabled). Applies to all bracket-linked positions. */
|
|
1205
|
+
antiRushCloseMinSec: z.ZodOptional<z.ZodNumber>;
|
|
1206
|
+
/** After entry fill, wait this long for reconcile to place TP/SL before allow close (default 360s ≈ one advise round). */
|
|
1207
|
+
protectionGraceSec: z.ZodOptional<z.ZodNumber>;
|
|
1208
|
+
/** Block close when |unrealized PnL| below this fraction of entry (e.g. 0.01 = 1%) unless tp_unreachable. */
|
|
1209
|
+
minClosePnlPct: z.ZodOptional<z.ZodNumber>;
|
|
1210
|
+
/** Min TP distance / SL distance from bracket entry (default by risk: conservative 2.5, balanced 2, aggressive 1.5). */
|
|
1211
|
+
minRewardRiskRatio: z.ZodOptional<z.ZodNumber>;
|
|
1212
|
+
/** Max SL distance from entry as fraction of entry px (default by risk: conservative 1.2%, balanced 2%, aggressive 3%). */
|
|
1213
|
+
maxSlPctFromEntry: z.ZodOptional<z.ZodNumber>;
|
|
1214
|
+
/** Block bracket when computed SL touch prob exceeds this (ATR barrier model). */
|
|
1215
|
+
maxSlTouchProb: z.ZodOptional<z.ZodNumber>;
|
|
1216
|
+
/** Block when SL touch prob × slSweepLiquidityMultiplier exceeds this (stop-hunt adjusted). */
|
|
1217
|
+
maxSlSweepProb: z.ZodOptional<z.ZodNumber>;
|
|
1218
|
+
/** Move SL away from structure by this × ATR₁h before execute (buy: down, sell: up). 0 = off. */
|
|
1219
|
+
slAntiSweepAtrFactor: z.ZodOptional<z.ZodNumber>;
|
|
1220
|
+
/** Multiplier on SL touch prob to approximate stop-hunt / AI sweep risk (default 2). */
|
|
1221
|
+
slSweepLiquidityMultiplier: z.ZodOptional<z.ZodNumber>;
|
|
1222
|
+
/** Default ambush TTL minutes when model omits expires_in_min (15–30 typical). */
|
|
1223
|
+
defaultAmbushExpiresMin: z.ZodOptional<z.ZodNumber>;
|
|
1224
|
+
/** Block cancel_all while unexpired TTL ambush entry is still pending (default true). */
|
|
1225
|
+
forbidCancelAllWithActiveAmbush: z.ZodDefault<z.ZodBoolean>;
|
|
994
1226
|
}, "strip", z.ZodTypeAny, {
|
|
995
1227
|
risk: "conservative" | "balanced" | "aggressive";
|
|
996
1228
|
requireTpsl: boolean;
|
|
997
1229
|
priceDeviationPctMax: number;
|
|
1230
|
+
forbidCancelAllWithActiveAmbush: boolean;
|
|
998
1231
|
updatedAtMs?: number | undefined;
|
|
999
1232
|
defaultMaxSz?: number | undefined;
|
|
1000
1233
|
maxSzByCoin?: Record<string, number> | undefined;
|
|
1234
|
+
defaultMinSz?: number | undefined;
|
|
1235
|
+
minSzByCoin?: Record<string, number> | undefined;
|
|
1001
1236
|
tradingStyleNotes?: string | undefined;
|
|
1237
|
+
isolatedTopUp?: {
|
|
1238
|
+
enabled: boolean;
|
|
1239
|
+
safeDistancePct: number;
|
|
1240
|
+
safetyFactor: number;
|
|
1241
|
+
reserveUsd: number;
|
|
1242
|
+
minTopUpUsd: number;
|
|
1243
|
+
minPartialUsd: number;
|
|
1244
|
+
maxSingleTopUpUsd: number;
|
|
1245
|
+
maxDailyTopUpUsd: number;
|
|
1246
|
+
cooldownSec: number;
|
|
1247
|
+
} | undefined;
|
|
1248
|
+
minConfidenceToExecute?: number | undefined;
|
|
1249
|
+
limitPriceJitterPct?: number | undefined;
|
|
1250
|
+
executeCooldownSec?: number | undefined;
|
|
1251
|
+
bracketSlEntryShift?: number | undefined;
|
|
1252
|
+
ambushReplaceDeviationPct?: number | undefined;
|
|
1253
|
+
antiRushCloseMinSec?: number | undefined;
|
|
1254
|
+
protectionGraceSec?: number | undefined;
|
|
1255
|
+
minClosePnlPct?: number | undefined;
|
|
1256
|
+
minRewardRiskRatio?: number | undefined;
|
|
1257
|
+
maxSlPctFromEntry?: number | undefined;
|
|
1258
|
+
maxSlTouchProb?: number | undefined;
|
|
1259
|
+
maxSlSweepProb?: number | undefined;
|
|
1260
|
+
slAntiSweepAtrFactor?: number | undefined;
|
|
1261
|
+
slSweepLiquidityMultiplier?: number | undefined;
|
|
1262
|
+
defaultAmbushExpiresMin?: number | undefined;
|
|
1002
1263
|
}, {
|
|
1003
1264
|
updatedAtMs?: number | undefined;
|
|
1004
1265
|
risk?: "conservative" | "balanced" | "aggressive" | undefined;
|
|
1005
1266
|
defaultMaxSz?: number | undefined;
|
|
1006
1267
|
maxSzByCoin?: Record<string, number> | undefined;
|
|
1268
|
+
defaultMinSz?: number | undefined;
|
|
1269
|
+
minSzByCoin?: Record<string, number> | undefined;
|
|
1007
1270
|
requireTpsl?: boolean | undefined;
|
|
1008
1271
|
priceDeviationPctMax?: number | undefined;
|
|
1009
1272
|
tradingStyleNotes?: string | undefined;
|
|
1273
|
+
isolatedTopUp?: {
|
|
1274
|
+
enabled?: boolean | undefined;
|
|
1275
|
+
safeDistancePct?: number | undefined;
|
|
1276
|
+
safetyFactor?: number | undefined;
|
|
1277
|
+
reserveUsd?: number | undefined;
|
|
1278
|
+
minTopUpUsd?: number | undefined;
|
|
1279
|
+
minPartialUsd?: number | undefined;
|
|
1280
|
+
maxSingleTopUpUsd?: number | undefined;
|
|
1281
|
+
maxDailyTopUpUsd?: number | undefined;
|
|
1282
|
+
cooldownSec?: number | undefined;
|
|
1283
|
+
} | undefined;
|
|
1284
|
+
minConfidenceToExecute?: number | undefined;
|
|
1285
|
+
limitPriceJitterPct?: number | undefined;
|
|
1286
|
+
executeCooldownSec?: number | undefined;
|
|
1287
|
+
bracketSlEntryShift?: number | undefined;
|
|
1288
|
+
ambushReplaceDeviationPct?: number | undefined;
|
|
1289
|
+
antiRushCloseMinSec?: number | undefined;
|
|
1290
|
+
protectionGraceSec?: number | undefined;
|
|
1291
|
+
minClosePnlPct?: number | undefined;
|
|
1292
|
+
minRewardRiskRatio?: number | undefined;
|
|
1293
|
+
maxSlPctFromEntry?: number | undefined;
|
|
1294
|
+
maxSlTouchProb?: number | undefined;
|
|
1295
|
+
maxSlSweepProb?: number | undefined;
|
|
1296
|
+
slAntiSweepAtrFactor?: number | undefined;
|
|
1297
|
+
slSweepLiquidityMultiplier?: number | undefined;
|
|
1298
|
+
defaultAmbushExpiresMin?: number | undefined;
|
|
1299
|
+
forbidCancelAllWithActiveAmbush?: boolean | undefined;
|
|
1010
1300
|
}>>;
|
|
1301
|
+
/** Last successful advise execute per `${coin}:${action}` (cooldown guard). */
|
|
1302
|
+
adviseExecuteHistory: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
1303
|
+
action: z.ZodString;
|
|
1304
|
+
atMs: z.ZodNumber;
|
|
1305
|
+
}, "strip", z.ZodTypeAny, {
|
|
1306
|
+
action: string;
|
|
1307
|
+
atMs: number;
|
|
1308
|
+
}, {
|
|
1309
|
+
action: string;
|
|
1310
|
+
atMs: number;
|
|
1311
|
+
}>>>;
|
|
1011
1312
|
}, "strip", z.ZodTypeAny, {
|
|
1012
1313
|
updatedAtMs: number;
|
|
1013
1314
|
version: 1;
|
|
@@ -1020,7 +1321,7 @@ export declare const TradeStateFileSchema: z.ZodObject<{
|
|
|
1020
1321
|
entrySide: "buy" | "sell";
|
|
1021
1322
|
entryLimitPx: number;
|
|
1022
1323
|
entrySz: number;
|
|
1023
|
-
tif: "
|
|
1324
|
+
tif: "Gtc" | "Ioc" | "Alo";
|
|
1024
1325
|
tpTriggerPx: number;
|
|
1025
1326
|
slTriggerPx: number;
|
|
1026
1327
|
tpslIsMarket: boolean;
|
|
@@ -1028,6 +1329,7 @@ export declare const TradeStateFileSchema: z.ZodObject<{
|
|
|
1028
1329
|
phase: "planned" | "entry_pending" | "entry_partial" | "entry_filled" | "protection_active" | "tp_filled" | "sl_filled" | "closed" | "cancelled" | "expired" | "error";
|
|
1029
1330
|
dex?: string | undefined;
|
|
1030
1331
|
network?: string | undefined;
|
|
1332
|
+
strategy?: "scalp" | "ambush" | undefined;
|
|
1031
1333
|
entryReduceOnly?: boolean | undefined;
|
|
1032
1334
|
tpslLimitPx?: number | undefined;
|
|
1033
1335
|
entryOid?: number | undefined;
|
|
@@ -1046,7 +1348,7 @@ export declare const TradeStateFileSchema: z.ZodObject<{
|
|
|
1046
1348
|
id: string;
|
|
1047
1349
|
createdAtMs: number;
|
|
1048
1350
|
updatedAtMs: number;
|
|
1049
|
-
tif: "
|
|
1351
|
+
tif: "Gtc" | "Ioc" | "Alo";
|
|
1050
1352
|
lower: number;
|
|
1051
1353
|
upper: number;
|
|
1052
1354
|
grids: number;
|
|
@@ -1054,10 +1356,10 @@ export declare const TradeStateFileSchema: z.ZodObject<{
|
|
|
1054
1356
|
bias: "symmetric" | "long" | "short";
|
|
1055
1357
|
reduceOnly: boolean;
|
|
1056
1358
|
legs: {
|
|
1359
|
+
isBuy: boolean;
|
|
1057
1360
|
index: number;
|
|
1058
1361
|
px: number;
|
|
1059
|
-
|
|
1060
|
-
legPhase: "cancelled" | "pending" | "open" | "partial" | "filled";
|
|
1362
|
+
legPhase: "partial" | "cancelled" | "pending" | "open" | "filled";
|
|
1061
1363
|
oid?: number | undefined;
|
|
1062
1364
|
lastSz?: number | undefined;
|
|
1063
1365
|
lastOrigSz?: number | undefined;
|
|
@@ -1071,6 +1373,7 @@ export declare const TradeStateFileSchema: z.ZodObject<{
|
|
|
1071
1373
|
maxOrders?: number | undefined;
|
|
1072
1374
|
replenishGapPx?: number | undefined;
|
|
1073
1375
|
replenishDedupeKeys?: string[] | undefined;
|
|
1376
|
+
regenerateGrid?: boolean | undefined;
|
|
1074
1377
|
} | {
|
|
1075
1378
|
sz: number;
|
|
1076
1379
|
coin: string;
|
|
@@ -1079,11 +1382,11 @@ export declare const TradeStateFileSchema: z.ZodObject<{
|
|
|
1079
1382
|
createdAtMs: number;
|
|
1080
1383
|
updatedAtMs: number;
|
|
1081
1384
|
entrySide: "buy" | "sell";
|
|
1082
|
-
tif: "
|
|
1385
|
+
tif: "Gtc" | "Ioc" | "Alo";
|
|
1083
1386
|
reduceOnly: boolean;
|
|
1084
1387
|
limitPx: number;
|
|
1085
|
-
dex?: string | undefined;
|
|
1086
1388
|
oid?: number | undefined;
|
|
1389
|
+
dex?: string | undefined;
|
|
1087
1390
|
} | {
|
|
1088
1391
|
side: "buy" | "sell";
|
|
1089
1392
|
sz: number;
|
|
@@ -1096,8 +1399,8 @@ export declare const TradeStateFileSchema: z.ZodObject<{
|
|
|
1096
1399
|
triggerPx: number;
|
|
1097
1400
|
tpsl: "tp" | "sl";
|
|
1098
1401
|
isMarket: boolean;
|
|
1099
|
-
dex?: string | undefined;
|
|
1100
1402
|
oid?: number | undefined;
|
|
1403
|
+
dex?: string | undefined;
|
|
1101
1404
|
limitPx?: number | undefined;
|
|
1102
1405
|
}>;
|
|
1103
1406
|
events: {
|
|
@@ -1111,11 +1414,44 @@ export declare const TradeStateFileSchema: z.ZodObject<{
|
|
|
1111
1414
|
risk: "conservative" | "balanced" | "aggressive";
|
|
1112
1415
|
requireTpsl: boolean;
|
|
1113
1416
|
priceDeviationPctMax: number;
|
|
1417
|
+
forbidCancelAllWithActiveAmbush: boolean;
|
|
1114
1418
|
updatedAtMs?: number | undefined;
|
|
1115
1419
|
defaultMaxSz?: number | undefined;
|
|
1116
1420
|
maxSzByCoin?: Record<string, number> | undefined;
|
|
1421
|
+
defaultMinSz?: number | undefined;
|
|
1422
|
+
minSzByCoin?: Record<string, number> | undefined;
|
|
1117
1423
|
tradingStyleNotes?: string | undefined;
|
|
1424
|
+
isolatedTopUp?: {
|
|
1425
|
+
enabled: boolean;
|
|
1426
|
+
safeDistancePct: number;
|
|
1427
|
+
safetyFactor: number;
|
|
1428
|
+
reserveUsd: number;
|
|
1429
|
+
minTopUpUsd: number;
|
|
1430
|
+
minPartialUsd: number;
|
|
1431
|
+
maxSingleTopUpUsd: number;
|
|
1432
|
+
maxDailyTopUpUsd: number;
|
|
1433
|
+
cooldownSec: number;
|
|
1434
|
+
} | undefined;
|
|
1435
|
+
minConfidenceToExecute?: number | undefined;
|
|
1436
|
+
limitPriceJitterPct?: number | undefined;
|
|
1437
|
+
executeCooldownSec?: number | undefined;
|
|
1438
|
+
bracketSlEntryShift?: number | undefined;
|
|
1439
|
+
ambushReplaceDeviationPct?: number | undefined;
|
|
1440
|
+
antiRushCloseMinSec?: number | undefined;
|
|
1441
|
+
protectionGraceSec?: number | undefined;
|
|
1442
|
+
minClosePnlPct?: number | undefined;
|
|
1443
|
+
minRewardRiskRatio?: number | undefined;
|
|
1444
|
+
maxSlPctFromEntry?: number | undefined;
|
|
1445
|
+
maxSlTouchProb?: number | undefined;
|
|
1446
|
+
maxSlSweepProb?: number | undefined;
|
|
1447
|
+
slAntiSweepAtrFactor?: number | undefined;
|
|
1448
|
+
slSweepLiquidityMultiplier?: number | undefined;
|
|
1449
|
+
defaultAmbushExpiresMin?: number | undefined;
|
|
1118
1450
|
} | undefined;
|
|
1451
|
+
adviseExecuteHistory?: Record<string, {
|
|
1452
|
+
action: string;
|
|
1453
|
+
atMs: number;
|
|
1454
|
+
}> | undefined;
|
|
1119
1455
|
}, {
|
|
1120
1456
|
updatedAtMs: number;
|
|
1121
1457
|
version: 1;
|
|
@@ -1128,13 +1464,14 @@ export declare const TradeStateFileSchema: z.ZodObject<{
|
|
|
1128
1464
|
entrySide: "buy" | "sell";
|
|
1129
1465
|
entryLimitPx: number;
|
|
1130
1466
|
entrySz: number;
|
|
1131
|
-
tif: "
|
|
1467
|
+
tif: "Gtc" | "Ioc" | "Alo";
|
|
1132
1468
|
tpTriggerPx: number;
|
|
1133
1469
|
slTriggerPx: number;
|
|
1134
1470
|
tpslIsMarket: boolean;
|
|
1135
1471
|
phase: "planned" | "entry_pending" | "entry_partial" | "entry_filled" | "protection_active" | "tp_filled" | "sl_filled" | "closed" | "cancelled" | "expired" | "error";
|
|
1136
1472
|
dex?: string | undefined;
|
|
1137
1473
|
network?: string | undefined;
|
|
1474
|
+
strategy?: "scalp" | "ambush" | undefined;
|
|
1138
1475
|
entryReduceOnly?: boolean | undefined;
|
|
1139
1476
|
tpslLimitPx?: number | undefined;
|
|
1140
1477
|
protectionReduceOnly?: boolean | undefined;
|
|
@@ -1154,7 +1491,7 @@ export declare const TradeStateFileSchema: z.ZodObject<{
|
|
|
1154
1491
|
id: string;
|
|
1155
1492
|
createdAtMs: number;
|
|
1156
1493
|
updatedAtMs: number;
|
|
1157
|
-
tif: "
|
|
1494
|
+
tif: "Gtc" | "Ioc" | "Alo";
|
|
1158
1495
|
lower: number;
|
|
1159
1496
|
upper: number;
|
|
1160
1497
|
grids: number;
|
|
@@ -1162,10 +1499,10 @@ export declare const TradeStateFileSchema: z.ZodObject<{
|
|
|
1162
1499
|
bias: "symmetric" | "long" | "short";
|
|
1163
1500
|
reduceOnly: boolean;
|
|
1164
1501
|
legs: {
|
|
1502
|
+
isBuy: boolean;
|
|
1165
1503
|
index: number;
|
|
1166
1504
|
px: number;
|
|
1167
|
-
|
|
1168
|
-
legPhase: "cancelled" | "pending" | "open" | "partial" | "filled";
|
|
1505
|
+
legPhase: "partial" | "cancelled" | "pending" | "open" | "filled";
|
|
1169
1506
|
oid?: number | undefined;
|
|
1170
1507
|
lastSz?: number | undefined;
|
|
1171
1508
|
lastOrigSz?: number | undefined;
|
|
@@ -1179,6 +1516,7 @@ export declare const TradeStateFileSchema: z.ZodObject<{
|
|
|
1179
1516
|
maxOrders?: number | undefined;
|
|
1180
1517
|
replenishGapPx?: number | undefined;
|
|
1181
1518
|
replenishDedupeKeys?: string[] | undefined;
|
|
1519
|
+
regenerateGrid?: boolean | undefined;
|
|
1182
1520
|
} | {
|
|
1183
1521
|
sz: number;
|
|
1184
1522
|
coin: string;
|
|
@@ -1187,11 +1525,11 @@ export declare const TradeStateFileSchema: z.ZodObject<{
|
|
|
1187
1525
|
createdAtMs: number;
|
|
1188
1526
|
updatedAtMs: number;
|
|
1189
1527
|
entrySide: "buy" | "sell";
|
|
1190
|
-
tif: "
|
|
1528
|
+
tif: "Gtc" | "Ioc" | "Alo";
|
|
1191
1529
|
reduceOnly: boolean;
|
|
1192
1530
|
limitPx: number;
|
|
1193
|
-
dex?: string | undefined;
|
|
1194
1531
|
oid?: number | undefined;
|
|
1532
|
+
dex?: string | undefined;
|
|
1195
1533
|
} | {
|
|
1196
1534
|
side: "buy" | "sell";
|
|
1197
1535
|
sz: number;
|
|
@@ -1204,8 +1542,8 @@ export declare const TradeStateFileSchema: z.ZodObject<{
|
|
|
1204
1542
|
triggerPx: number;
|
|
1205
1543
|
tpsl: "tp" | "sl";
|
|
1206
1544
|
isMarket: boolean;
|
|
1207
|
-
dex?: string | undefined;
|
|
1208
1545
|
oid?: number | undefined;
|
|
1546
|
+
dex?: string | undefined;
|
|
1209
1547
|
limitPx?: number | undefined;
|
|
1210
1548
|
}>;
|
|
1211
1549
|
events: {
|
|
@@ -1220,10 +1558,43 @@ export declare const TradeStateFileSchema: z.ZodObject<{
|
|
|
1220
1558
|
risk?: "conservative" | "balanced" | "aggressive" | undefined;
|
|
1221
1559
|
defaultMaxSz?: number | undefined;
|
|
1222
1560
|
maxSzByCoin?: Record<string, number> | undefined;
|
|
1561
|
+
defaultMinSz?: number | undefined;
|
|
1562
|
+
minSzByCoin?: Record<string, number> | undefined;
|
|
1223
1563
|
requireTpsl?: boolean | undefined;
|
|
1224
1564
|
priceDeviationPctMax?: number | undefined;
|
|
1225
1565
|
tradingStyleNotes?: string | undefined;
|
|
1566
|
+
isolatedTopUp?: {
|
|
1567
|
+
enabled?: boolean | undefined;
|
|
1568
|
+
safeDistancePct?: number | undefined;
|
|
1569
|
+
safetyFactor?: number | undefined;
|
|
1570
|
+
reserveUsd?: number | undefined;
|
|
1571
|
+
minTopUpUsd?: number | undefined;
|
|
1572
|
+
minPartialUsd?: number | undefined;
|
|
1573
|
+
maxSingleTopUpUsd?: number | undefined;
|
|
1574
|
+
maxDailyTopUpUsd?: number | undefined;
|
|
1575
|
+
cooldownSec?: number | undefined;
|
|
1576
|
+
} | undefined;
|
|
1577
|
+
minConfidenceToExecute?: number | undefined;
|
|
1578
|
+
limitPriceJitterPct?: number | undefined;
|
|
1579
|
+
executeCooldownSec?: number | undefined;
|
|
1580
|
+
bracketSlEntryShift?: number | undefined;
|
|
1581
|
+
ambushReplaceDeviationPct?: number | undefined;
|
|
1582
|
+
antiRushCloseMinSec?: number | undefined;
|
|
1583
|
+
protectionGraceSec?: number | undefined;
|
|
1584
|
+
minClosePnlPct?: number | undefined;
|
|
1585
|
+
minRewardRiskRatio?: number | undefined;
|
|
1586
|
+
maxSlPctFromEntry?: number | undefined;
|
|
1587
|
+
maxSlTouchProb?: number | undefined;
|
|
1588
|
+
maxSlSweepProb?: number | undefined;
|
|
1589
|
+
slAntiSweepAtrFactor?: number | undefined;
|
|
1590
|
+
slSweepLiquidityMultiplier?: number | undefined;
|
|
1591
|
+
defaultAmbushExpiresMin?: number | undefined;
|
|
1592
|
+
forbidCancelAllWithActiveAmbush?: boolean | undefined;
|
|
1226
1593
|
} | undefined;
|
|
1594
|
+
adviseExecuteHistory?: Record<string, {
|
|
1595
|
+
action: string;
|
|
1596
|
+
atMs: number;
|
|
1597
|
+
}> | undefined;
|
|
1227
1598
|
}>;
|
|
1228
1599
|
export type TradeStateFile = z.infer<typeof TradeStateFileSchema>;
|
|
1229
1600
|
export declare function createEmptyTradeState(nowMs: number): TradeStateFile;
|