@wrcb/cb-common 1.0.895 → 1.0.896
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/build/events/subjects.d.ts +1 -4
- package/build/events/subjects.js +0 -4
- package/build/index.d.ts +0 -2
- package/build/index.js +0 -3
- package/build/server.d.ts +0 -1
- package/build/server.js +0 -2
- package/build/services/TenantDataService.js +0 -51
- package/build/types/tenant.d.ts +1 -2
- package/build/types/tenant.js +0 -1
- package/package.json +1 -1
- package/build/events/trader/autopilotActedEvent.d.ts +0 -13
- package/build/events/trader/autopilotActedEvent.js +0 -2
- package/build/events/trader/autopilotActedPublisher.d.ts +0 -6
- package/build/events/trader/autopilotActedPublisher.js +0 -12
- package/build/events/trader/collectorStalledEvent.d.ts +0 -10
- package/build/events/trader/collectorStalledEvent.js +0 -2
- package/build/events/trader/collectorStalledPublisher.d.ts +0 -6
- package/build/events/trader/collectorStalledPublisher.js +0 -12
- package/build/events/trader/index.d.ts +0 -6
- package/build/events/trader/index.js +0 -22
- package/build/events/trader/sessionHaltedEvent.d.ts +0 -15
- package/build/events/trader/sessionHaltedEvent.js +0 -2
- package/build/events/trader/sessionHaltedPublisher.d.ts +0 -6
- package/build/events/trader/sessionHaltedPublisher.js +0 -12
- package/build/types/trader.d.ts +0 -188
- package/build/types/trader.js +0 -78
|
@@ -79,8 +79,5 @@ export declare enum Subjects {
|
|
|
79
79
|
ThoOrderPaid = "tho:order:paid",
|
|
80
80
|
ThoOrderStatusUpdated = "tho:order:status-updated",
|
|
81
81
|
ThoOrderWalletChargeRequested = "tho:order:wallet-charge-requested",
|
|
82
|
-
ThoOrderSettled = "tho:order:settled"
|
|
83
|
-
TrdSessionHalted = "trd:session:halted",
|
|
84
|
-
TrdCollectorStalled = "trd:collector:stalled",
|
|
85
|
-
TrdAutopilotActed = "trd:autopilot:acted"
|
|
82
|
+
ThoOrderSettled = "tho:order:settled"
|
|
86
83
|
}
|
package/build/events/subjects.js
CHANGED
|
@@ -95,8 +95,4 @@ var Subjects;
|
|
|
95
95
|
Subjects["ThoOrderStatusUpdated"] = "tho:order:status-updated";
|
|
96
96
|
Subjects["ThoOrderWalletChargeRequested"] = "tho:order:wallet-charge-requested";
|
|
97
97
|
Subjects["ThoOrderSettled"] = "tho:order:settled";
|
|
98
|
-
// bot-trader (simulação de estratégias na MEXC spot)
|
|
99
|
-
Subjects["TrdSessionHalted"] = "trd:session:halted";
|
|
100
|
-
Subjects["TrdCollectorStalled"] = "trd:collector:stalled";
|
|
101
|
-
Subjects["TrdAutopilotActed"] = "trd:autopilot:acted";
|
|
102
98
|
})(Subjects || (exports.Subjects = Subjects = {}));
|
package/build/index.d.ts
CHANGED
|
@@ -58,7 +58,6 @@ export * from './types/predictionType';
|
|
|
58
58
|
export * from './types/mercadoProfissional';
|
|
59
59
|
export * from './types/trabalhoHomeOffice';
|
|
60
60
|
export * from './types/crm';
|
|
61
|
-
export * from './types/trader';
|
|
62
61
|
export * from './events/subjects';
|
|
63
62
|
export * from './events/baseListener';
|
|
64
63
|
export * from './events/basePublisher';
|
|
@@ -67,7 +66,6 @@ export * from './events/social-media-automator';
|
|
|
67
66
|
export * from './events/ai';
|
|
68
67
|
export * from './events/notas-br';
|
|
69
68
|
export * from './events/trabalho-home-office';
|
|
70
|
-
export * from './events/trader';
|
|
71
69
|
export * from './services/TenantDataService';
|
|
72
70
|
export * from './services/CurrencyService';
|
|
73
71
|
export * from './config/notasBrBilling';
|
package/build/index.js
CHANGED
|
@@ -86,8 +86,6 @@ __exportStar(require("./types/mercadoProfissional"), exports);
|
|
|
86
86
|
__exportStar(require("./types/trabalhoHomeOffice"), exports);
|
|
87
87
|
// crm — núcleo multi-tenant (pipeline configurável + agente de IA)
|
|
88
88
|
__exportStar(require("./types/crm"), exports);
|
|
89
|
-
// bot-trader — simulação de estratégias na MEXC spot
|
|
90
|
-
__exportStar(require("./types/trader"), exports);
|
|
91
89
|
__exportStar(require("./events/subjects"), exports);
|
|
92
90
|
__exportStar(require("./events/baseListener"), exports);
|
|
93
91
|
__exportStar(require("./events/basePublisher"), exports);
|
|
@@ -96,7 +94,6 @@ __exportStar(require("./events/social-media-automator"), exports);
|
|
|
96
94
|
__exportStar(require("./events/ai"), exports);
|
|
97
95
|
__exportStar(require("./events/notas-br"), exports);
|
|
98
96
|
__exportStar(require("./events/trabalho-home-office"), exports);
|
|
99
|
-
__exportStar(require("./events/trader"), exports);
|
|
100
97
|
__exportStar(require("./services/TenantDataService"), exports);
|
|
101
98
|
__exportStar(require("./services/CurrencyService"), exports);
|
|
102
99
|
// notas-br — tabela de billing compartilhada entre gn-business e cb-payments
|
package/build/server.d.ts
CHANGED
|
@@ -91,7 +91,6 @@ export * from './events/apps/creativeVideoReadyEvent';
|
|
|
91
91
|
export * from './events/realstate/realStateVideoCreatedEvent';
|
|
92
92
|
export * from './events/notas-br';
|
|
93
93
|
export * from './events/trabalho-home-office';
|
|
94
|
-
export * from './events/trader';
|
|
95
94
|
export * from './events/linkedin-automator/linkedinPostGeneratedEvent';
|
|
96
95
|
export * from './events/linkedin-automator/linkedinPostGeneratedPublisher';
|
|
97
96
|
export * from './events/linkedin-automator/linkedinPostPublishedEvent';
|
package/build/server.js
CHANGED
|
@@ -109,8 +109,6 @@ __exportStar(require("./events/realstate/realStateVideoCreatedEvent"), exports);
|
|
|
109
109
|
__exportStar(require("./events/notas-br"), exports);
|
|
110
110
|
// trabalho-home-office
|
|
111
111
|
__exportStar(require("./events/trabalho-home-office"), exports);
|
|
112
|
-
// bot-trader
|
|
113
|
-
__exportStar(require("./events/trader"), exports);
|
|
114
112
|
// linkedin-automator
|
|
115
113
|
__exportStar(require("./events/linkedin-automator/linkedinPostGeneratedEvent"), exports);
|
|
116
114
|
__exportStar(require("./events/linkedin-automator/linkedinPostGeneratedPublisher"), exports);
|
|
@@ -1255,56 +1255,5 @@ TenantDataService.tenantDataMap = {
|
|
|
1255
1255
|
}
|
|
1256
1256
|
},
|
|
1257
1257
|
RATING_CRITERIA: undefined
|
|
1258
|
-
},
|
|
1259
|
-
// Ferramenta interna, não produto: não há site público, cadastro de
|
|
1260
|
-
// usuário, e-mail transacional nem mídia enviada por ninguém. Os campos
|
|
1261
|
-
// ficam vazios de propósito — preenchê-los com valor de fachada faria o
|
|
1262
|
-
// TenantDataService devolver dado que parece configuração e não é.
|
|
1263
|
-
// O que este tenant realmente identifica é a origem dos dados em
|
|
1264
|
-
// trd_* e o login do painel no cb-auth.
|
|
1265
|
-
[tenant_1.Tenant.BotTrader]: {
|
|
1266
|
-
TENANT: tenant_1.Tenant.BotTrader,
|
|
1267
|
-
BACKEND_API_VERSION: '1',
|
|
1268
|
-
SITE_NAME: 'BotTrader',
|
|
1269
|
-
SITE_URL: 'https://trader.wrsolucoesdigitais.com.br',
|
|
1270
|
-
FROM_EMAIL: 'app@wrsolucoesdigitais.com.br',
|
|
1271
|
-
SITE_WHATSAPP_SUPPORT: '',
|
|
1272
|
-
SITE_WHATSAPP_BOT: '',
|
|
1273
|
-
WHATSAPP_BOT_NUMBER_ID: '',
|
|
1274
|
-
WHATSAPP_TOKEN: '',
|
|
1275
|
-
WHATSAPP_API_URL: '',
|
|
1276
|
-
WHATSAPP_API_VERSION: '',
|
|
1277
|
-
IOS_APP_DOWNLOAD_LINK: '',
|
|
1278
|
-
ANDROID_APP_DOWNLOAD_LINK: '',
|
|
1279
|
-
SITE_DESCRIPTION: 'Simulação de estratégias de market making e grade na MEXC spot.',
|
|
1280
|
-
KEYWORDS: [],
|
|
1281
|
-
SOCIAL_X: '',
|
|
1282
|
-
SOCIAL_YOUTUBE: '',
|
|
1283
|
-
SOCIAL_INSTAGRAM: '',
|
|
1284
|
-
SOCIAL_FACEBOOK: '',
|
|
1285
|
-
USER_CATEGORIES_CONFIG: {},
|
|
1286
|
-
COUPONS_TYPE_ALLOWED_TO_BE_CREATED_BY_SELLER: [],
|
|
1287
|
-
COUPONS_TYPE_ALLOWED_TO_BE_CREATED_BY_ADMIN: [],
|
|
1288
|
-
EMAIL_HOST: 'smtp.gmail.com',
|
|
1289
|
-
EMAIL_PORT: '587',
|
|
1290
|
-
EMAIL_USER: 'wrsolucoesdig@gmail.com',
|
|
1291
|
-
EMAIL_PASS: 'lwegguaqrzauawsg',
|
|
1292
|
-
AUTH_FACEBOOK_APP_ID: '',
|
|
1293
|
-
AUTH_GOOGLE_ID: '',
|
|
1294
|
-
AUTH_GOOGLE_SECRET: '',
|
|
1295
|
-
GOOGLE_ANALYTICS_MEASUREMENT_ID: '',
|
|
1296
|
-
GOOGLE_VERIFICATION: '',
|
|
1297
|
-
MEDIA_CONFIG: {
|
|
1298
|
-
maxPhotoSizeMB: 5,
|
|
1299
|
-
maxVideoSizeMB: 20,
|
|
1300
|
-
allowedImageFormats: ['jpg', 'jpeg', 'png', 'webp'],
|
|
1301
|
-
allowedVideoFormats: ['mp4', 'webm'],
|
|
1302
|
-
imageQualities: {
|
|
1303
|
-
thumbnail: { width: 150, height: 150, quality: 80 },
|
|
1304
|
-
medium: { width: 800, height: 800, quality: 85 },
|
|
1305
|
-
large: { width: 1200, height: 1200, quality: 90 }
|
|
1306
|
-
}
|
|
1307
|
-
},
|
|
1308
|
-
RATING_CRITERIA: undefined
|
|
1309
1258
|
}
|
|
1310
1259
|
};
|
package/build/types/tenant.d.ts
CHANGED
|
@@ -15,6 +15,5 @@ export declare enum Tenant {
|
|
|
15
15
|
LinkedinAutomator = "LinkedinAutomator",
|
|
16
16
|
NotasBr = "NotasBr",
|
|
17
17
|
TrabalhoHomeOffice = "TrabalhoHomeOffice",
|
|
18
|
-
MercadoProfissional = "MercadoProfissional"
|
|
19
|
-
BotTrader = "BotTrader"
|
|
18
|
+
MercadoProfissional = "MercadoProfissional"
|
|
20
19
|
}
|
package/build/types/tenant.js
CHANGED
package/package.json
CHANGED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { Subjects } from '../subjects';
|
|
2
|
-
import { TraderAutopilotAction, TraderStrategy } from '../../types/trader';
|
|
3
|
-
export interface TrdAutopilotActedEvent {
|
|
4
|
-
subject: Subjects.TrdAutopilotActed;
|
|
5
|
-
data: {
|
|
6
|
-
action: TraderAutopilotAction;
|
|
7
|
-
symbol: string;
|
|
8
|
-
strategy: TraderStrategy | null;
|
|
9
|
-
sessionId: string | null;
|
|
10
|
-
reason: string;
|
|
11
|
-
at: string;
|
|
12
|
-
};
|
|
13
|
-
}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { Publisher } from '../basePublisher';
|
|
2
|
-
import { TrdAutopilotActedEvent } from './autopilotActedEvent';
|
|
3
|
-
import { Subjects } from '../subjects';
|
|
4
|
-
export declare class TrdAutopilotActedPublisher extends Publisher<TrdAutopilotActedEvent> {
|
|
5
|
-
subject: Subjects.TrdAutopilotActed;
|
|
6
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TrdAutopilotActedPublisher = void 0;
|
|
4
|
-
const basePublisher_1 = require("../basePublisher");
|
|
5
|
-
const subjects_1 = require("../subjects");
|
|
6
|
-
class TrdAutopilotActedPublisher extends basePublisher_1.Publisher {
|
|
7
|
-
constructor() {
|
|
8
|
-
super(...arguments);
|
|
9
|
-
this.subject = subjects_1.Subjects.TrdAutopilotActed;
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
exports.TrdAutopilotActedPublisher = TrdAutopilotActedPublisher;
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { Publisher } from '../basePublisher';
|
|
2
|
-
import { TrdCollectorStalledEvent } from './collectorStalledEvent';
|
|
3
|
-
import { Subjects } from '../subjects';
|
|
4
|
-
export declare class TrdCollectorStalledPublisher extends Publisher<TrdCollectorStalledEvent> {
|
|
5
|
-
subject: Subjects.TrdCollectorStalled;
|
|
6
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TrdCollectorStalledPublisher = void 0;
|
|
4
|
-
const basePublisher_1 = require("../basePublisher");
|
|
5
|
-
const subjects_1 = require("../subjects");
|
|
6
|
-
class TrdCollectorStalledPublisher extends basePublisher_1.Publisher {
|
|
7
|
-
constructor() {
|
|
8
|
-
super(...arguments);
|
|
9
|
-
this.subject = subjects_1.Subjects.TrdCollectorStalled;
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
exports.TrdCollectorStalledPublisher = TrdCollectorStalledPublisher;
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./sessionHaltedEvent"), exports);
|
|
18
|
-
__exportStar(require("./sessionHaltedPublisher"), exports);
|
|
19
|
-
__exportStar(require("./collectorStalledEvent"), exports);
|
|
20
|
-
__exportStar(require("./collectorStalledPublisher"), exports);
|
|
21
|
-
__exportStar(require("./autopilotActedEvent"), exports);
|
|
22
|
-
__exportStar(require("./autopilotActedPublisher"), exports);
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { Subjects } from '../subjects';
|
|
2
|
-
import { TraderHaltReason, TraderStrategy } from '../../types/trader';
|
|
3
|
-
export interface TrdSessionHaltedEvent {
|
|
4
|
-
subject: Subjects.TrdSessionHalted;
|
|
5
|
-
data: {
|
|
6
|
-
sessionId: string;
|
|
7
|
-
label: string;
|
|
8
|
-
symbol: string;
|
|
9
|
-
strategy: TraderStrategy;
|
|
10
|
-
reason: TraderHaltReason;
|
|
11
|
-
totalPnlQuote: number;
|
|
12
|
-
inventoryBase: number;
|
|
13
|
-
haltedAt: string;
|
|
14
|
-
};
|
|
15
|
-
}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { Publisher } from '../basePublisher';
|
|
2
|
-
import { TrdSessionHaltedEvent } from './sessionHaltedEvent';
|
|
3
|
-
import { Subjects } from '../subjects';
|
|
4
|
-
export declare class TrdSessionHaltedPublisher extends Publisher<TrdSessionHaltedEvent> {
|
|
5
|
-
subject: Subjects.TrdSessionHalted;
|
|
6
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TrdSessionHaltedPublisher = void 0;
|
|
4
|
-
const basePublisher_1 = require("../basePublisher");
|
|
5
|
-
const subjects_1 = require("../subjects");
|
|
6
|
-
class TrdSessionHaltedPublisher extends basePublisher_1.Publisher {
|
|
7
|
-
constructor() {
|
|
8
|
-
super(...arguments);
|
|
9
|
-
this.subject = subjects_1.Subjects.TrdSessionHalted;
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
exports.TrdSessionHaltedPublisher = TrdSessionHaltedPublisher;
|
package/build/types/trader.d.ts
DELETED
|
@@ -1,188 +0,0 @@
|
|
|
1
|
-
export declare enum TraderStrategy {
|
|
2
|
-
MarketMaking = "MarketMaking",
|
|
3
|
-
Grid = "Grid"
|
|
4
|
-
}
|
|
5
|
-
export declare enum TraderExecutionMode {
|
|
6
|
-
Paper = "Paper",
|
|
7
|
-
Live = "Live"
|
|
8
|
-
}
|
|
9
|
-
export declare enum TraderSessionStatus {
|
|
10
|
-
Running = "Running",
|
|
11
|
-
Stopped = "Stopped",
|
|
12
|
-
Halted = "Halted"
|
|
13
|
-
}
|
|
14
|
-
export declare enum TraderSide {
|
|
15
|
-
Buy = "Buy",
|
|
16
|
-
Sell = "Sell"
|
|
17
|
-
}
|
|
18
|
-
export declare enum TraderOrderStatus {
|
|
19
|
-
Open = "Open",
|
|
20
|
-
Filled = "Filled",
|
|
21
|
-
Cancelled = "Cancelled"
|
|
22
|
-
}
|
|
23
|
-
export declare enum TraderHaltReason {
|
|
24
|
-
DailyLossLimit = "DailyLossLimit",
|
|
25
|
-
InventoryLimit = "InventoryLimit",
|
|
26
|
-
MaxDrawdown = "MaxDrawdown",
|
|
27
|
-
FeedStale = "FeedStale",
|
|
28
|
-
Manual = "Manual"
|
|
29
|
-
}
|
|
30
|
-
export declare enum TraderPairStatus {
|
|
31
|
-
Collecting = "Collecting",
|
|
32
|
-
Paused = "Paused"
|
|
33
|
-
}
|
|
34
|
-
export declare enum TraderMarketRegime {
|
|
35
|
-
Ranging = "Ranging",
|
|
36
|
-
Trending = "Trending",
|
|
37
|
-
Volatile = "Volatile"
|
|
38
|
-
}
|
|
39
|
-
export interface TraderMarketMakingParams {
|
|
40
|
-
baseSpreadBps: number;
|
|
41
|
-
volatilityMultiplier: number;
|
|
42
|
-
inventorySkewBps: number;
|
|
43
|
-
orderSizeQuote: number;
|
|
44
|
-
requoteToleranceBps: number;
|
|
45
|
-
pauseOutsideRanging: boolean;
|
|
46
|
-
}
|
|
47
|
-
export interface TraderGridParams {
|
|
48
|
-
gridLevels: number;
|
|
49
|
-
gridStepBps: number;
|
|
50
|
-
orderSizeQuote: number;
|
|
51
|
-
recenterThresholdBps: number;
|
|
52
|
-
}
|
|
53
|
-
export interface TraderSessionParams {
|
|
54
|
-
marketMaking?: TraderMarketMakingParams;
|
|
55
|
-
grid?: TraderGridParams;
|
|
56
|
-
}
|
|
57
|
-
export interface TraderRiskLimits {
|
|
58
|
-
maxInventoryQuote: number;
|
|
59
|
-
dailyLossLimitQuote: number;
|
|
60
|
-
maxDrawdownPercent: number;
|
|
61
|
-
feedStaleSeconds: number;
|
|
62
|
-
}
|
|
63
|
-
export interface TraderFeeConfig {
|
|
64
|
-
makerFeeBps: number;
|
|
65
|
-
takerFeeBps: number;
|
|
66
|
-
}
|
|
67
|
-
export interface TraderPnlBreakdown {
|
|
68
|
-
spreadPnlQuote: number;
|
|
69
|
-
inventoryPnlQuote: number;
|
|
70
|
-
feesQuote: number;
|
|
71
|
-
totalPnlQuote: number;
|
|
72
|
-
}
|
|
73
|
-
export interface TraderSessionMetrics extends TraderPnlBreakdown {
|
|
74
|
-
capturedEdgeQuote: number;
|
|
75
|
-
placedOrders: number;
|
|
76
|
-
filledOrders: number;
|
|
77
|
-
cancelledOrders: number;
|
|
78
|
-
fillRate: number;
|
|
79
|
-
roundTrips: number;
|
|
80
|
-
inventoryBase: number;
|
|
81
|
-
inventoryValueQuote: number;
|
|
82
|
-
peakInventoryQuote: number;
|
|
83
|
-
maxDrawdownPercent: number;
|
|
84
|
-
capturedSpreadBps: number;
|
|
85
|
-
}
|
|
86
|
-
export interface TraderPairDTO {
|
|
87
|
-
id: string;
|
|
88
|
-
symbol: string;
|
|
89
|
-
baseAsset: string;
|
|
90
|
-
quoteAsset: string;
|
|
91
|
-
status: TraderPairStatus;
|
|
92
|
-
tickSize: number;
|
|
93
|
-
stepSize: number;
|
|
94
|
-
minNotional: number;
|
|
95
|
-
lastTickAt: string | null;
|
|
96
|
-
bookSnapshots: number;
|
|
97
|
-
tradesCollected: number;
|
|
98
|
-
createdAt: string;
|
|
99
|
-
}
|
|
100
|
-
export interface TraderSessionDTO {
|
|
101
|
-
id: string;
|
|
102
|
-
label: string;
|
|
103
|
-
symbol: string;
|
|
104
|
-
strategy: TraderStrategy;
|
|
105
|
-
mode: TraderExecutionMode;
|
|
106
|
-
status: TraderSessionStatus;
|
|
107
|
-
haltReason: TraderHaltReason | null;
|
|
108
|
-
params: TraderSessionParams;
|
|
109
|
-
risk: TraderRiskLimits;
|
|
110
|
-
fees: TraderFeeConfig;
|
|
111
|
-
startingCapitalQuote: number;
|
|
112
|
-
metrics: TraderSessionMetrics;
|
|
113
|
-
startedAt: string;
|
|
114
|
-
stoppedAt: string | null;
|
|
115
|
-
}
|
|
116
|
-
export interface TraderFillDTO {
|
|
117
|
-
id: string;
|
|
118
|
-
sessionId: string;
|
|
119
|
-
symbol: string;
|
|
120
|
-
side: TraderSide;
|
|
121
|
-
price: number;
|
|
122
|
-
quantity: number;
|
|
123
|
-
notionalQuote: number;
|
|
124
|
-
feeQuote: number;
|
|
125
|
-
inventoryBaseAfter: number;
|
|
126
|
-
realizedPnlQuote: number | null;
|
|
127
|
-
filledAt: string;
|
|
128
|
-
}
|
|
129
|
-
export interface TraderSessionSnapshotDTO {
|
|
130
|
-
sessionId: string;
|
|
131
|
-
at: string;
|
|
132
|
-
midPrice: number;
|
|
133
|
-
metrics: TraderSessionMetrics;
|
|
134
|
-
regime: TraderMarketRegime;
|
|
135
|
-
}
|
|
136
|
-
export interface TraderComparisonRowDTO {
|
|
137
|
-
sessionId: string;
|
|
138
|
-
label: string;
|
|
139
|
-
symbol: string;
|
|
140
|
-
strategy: TraderStrategy;
|
|
141
|
-
status: TraderSessionStatus;
|
|
142
|
-
metrics: TraderSessionMetrics;
|
|
143
|
-
hoursRunning: number;
|
|
144
|
-
}
|
|
145
|
-
export declare enum TraderRiskProfile {
|
|
146
|
-
Conservative = "Conservative",
|
|
147
|
-
Moderate = "Moderate",
|
|
148
|
-
Aggressive = "Aggressive"
|
|
149
|
-
}
|
|
150
|
-
export declare enum TraderAutopilotAction {
|
|
151
|
-
SessionOpened = "SessionOpened",
|
|
152
|
-
SessionClosed = "SessionClosed",
|
|
153
|
-
Skipped = "Skipped"
|
|
154
|
-
}
|
|
155
|
-
export interface TraderAutopilotConfig {
|
|
156
|
-
enabled: boolean;
|
|
157
|
-
riskProfile: TraderRiskProfile;
|
|
158
|
-
capitalQuote: number;
|
|
159
|
-
maxPairs: number;
|
|
160
|
-
evaluationHours: number;
|
|
161
|
-
lastRunAt: string | null;
|
|
162
|
-
nextRunAt: string | null;
|
|
163
|
-
}
|
|
164
|
-
export interface TraderAutopilotDecisionDTO {
|
|
165
|
-
id: string;
|
|
166
|
-
at: string;
|
|
167
|
-
action: TraderAutopilotAction;
|
|
168
|
-
symbol: string;
|
|
169
|
-
strategy: TraderStrategy | null;
|
|
170
|
-
sessionId: string | null;
|
|
171
|
-
reason: string;
|
|
172
|
-
metrics: {
|
|
173
|
-
medianSpreadBps?: number;
|
|
174
|
-
tradesPerHour?: number;
|
|
175
|
-
score?: number;
|
|
176
|
-
spreadPnlQuote?: number;
|
|
177
|
-
feesQuote?: number;
|
|
178
|
-
hoursRunning?: number;
|
|
179
|
-
};
|
|
180
|
-
}
|
|
181
|
-
export interface TraderCandidateDTO {
|
|
182
|
-
symbol: string;
|
|
183
|
-
medianSpreadBps: number;
|
|
184
|
-
tradesPerHour: number;
|
|
185
|
-
score: number;
|
|
186
|
-
eligible: boolean;
|
|
187
|
-
rejection: string | null;
|
|
188
|
-
}
|
package/build/types/trader.js
DELETED
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// bot-trader — simulação de estratégias de market making e grid na MEXC spot.
|
|
3
|
-
//
|
|
4
|
-
// Todo dinheiro aqui é em "quote" (o lado USDT do par) e toda distância de
|
|
5
|
-
// preço é em basis points (1 bps = 0,01%), nunca em percentual solto — é o
|
|
6
|
-
// que evita confundir "0,5" de 0,5% com 0,5 bps na hora de calibrar.
|
|
7
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.TraderAutopilotAction = exports.TraderRiskProfile = exports.TraderMarketRegime = exports.TraderPairStatus = exports.TraderHaltReason = exports.TraderOrderStatus = exports.TraderSide = exports.TraderSessionStatus = exports.TraderExecutionMode = exports.TraderStrategy = void 0;
|
|
9
|
-
var TraderStrategy;
|
|
10
|
-
(function (TraderStrategy) {
|
|
11
|
-
TraderStrategy["MarketMaking"] = "MarketMaking";
|
|
12
|
-
TraderStrategy["Grid"] = "Grid";
|
|
13
|
-
})(TraderStrategy || (exports.TraderStrategy = TraderStrategy = {}));
|
|
14
|
-
// Só Paper existe de fato hoje. Live está declarado porque as rotas precisam
|
|
15
|
-
// recusá-lo explicitamente enquanto não houver decisão de por capital real —
|
|
16
|
-
// um enum sem o valor deixaria a recusa implícita e fácil de esquecer.
|
|
17
|
-
var TraderExecutionMode;
|
|
18
|
-
(function (TraderExecutionMode) {
|
|
19
|
-
TraderExecutionMode["Paper"] = "Paper";
|
|
20
|
-
TraderExecutionMode["Live"] = "Live";
|
|
21
|
-
})(TraderExecutionMode || (exports.TraderExecutionMode = TraderExecutionMode = {}));
|
|
22
|
-
var TraderSessionStatus;
|
|
23
|
-
(function (TraderSessionStatus) {
|
|
24
|
-
TraderSessionStatus["Running"] = "Running";
|
|
25
|
-
TraderSessionStatus["Stopped"] = "Stopped";
|
|
26
|
-
TraderSessionStatus["Halted"] = "Halted";
|
|
27
|
-
})(TraderSessionStatus || (exports.TraderSessionStatus = TraderSessionStatus = {}));
|
|
28
|
-
var TraderSide;
|
|
29
|
-
(function (TraderSide) {
|
|
30
|
-
TraderSide["Buy"] = "Buy";
|
|
31
|
-
TraderSide["Sell"] = "Sell";
|
|
32
|
-
})(TraderSide || (exports.TraderSide = TraderSide = {}));
|
|
33
|
-
var TraderOrderStatus;
|
|
34
|
-
(function (TraderOrderStatus) {
|
|
35
|
-
TraderOrderStatus["Open"] = "Open";
|
|
36
|
-
TraderOrderStatus["Filled"] = "Filled";
|
|
37
|
-
TraderOrderStatus["Cancelled"] = "Cancelled";
|
|
38
|
-
})(TraderOrderStatus || (exports.TraderOrderStatus = TraderOrderStatus = {}));
|
|
39
|
-
// Por que a sessão parou sozinha. Manual é o botão do painel.
|
|
40
|
-
var TraderHaltReason;
|
|
41
|
-
(function (TraderHaltReason) {
|
|
42
|
-
TraderHaltReason["DailyLossLimit"] = "DailyLossLimit";
|
|
43
|
-
TraderHaltReason["InventoryLimit"] = "InventoryLimit";
|
|
44
|
-
TraderHaltReason["MaxDrawdown"] = "MaxDrawdown";
|
|
45
|
-
TraderHaltReason["FeedStale"] = "FeedStale";
|
|
46
|
-
TraderHaltReason["Manual"] = "Manual";
|
|
47
|
-
})(TraderHaltReason || (exports.TraderHaltReason = TraderHaltReason = {}));
|
|
48
|
-
var TraderPairStatus;
|
|
49
|
-
(function (TraderPairStatus) {
|
|
50
|
-
TraderPairStatus["Collecting"] = "Collecting";
|
|
51
|
-
TraderPairStatus["Paused"] = "Paused";
|
|
52
|
-
})(TraderPairStatus || (exports.TraderPairStatus = TraderPairStatus = {}));
|
|
53
|
-
// Regime detectado na janela recente. O market making desliga em Trending —
|
|
54
|
-
// é exatamente o cenário em que ele acumula inventário do lado errado.
|
|
55
|
-
var TraderMarketRegime;
|
|
56
|
-
(function (TraderMarketRegime) {
|
|
57
|
-
TraderMarketRegime["Ranging"] = "Ranging";
|
|
58
|
-
TraderMarketRegime["Trending"] = "Trending";
|
|
59
|
-
TraderMarketRegime["Volatile"] = "Volatile";
|
|
60
|
-
})(TraderMarketRegime || (exports.TraderMarketRegime = TraderMarketRegime = {}));
|
|
61
|
-
// ---------------------------------------------------------------- piloto
|
|
62
|
-
//
|
|
63
|
-
// O piloto automático existe porque preencher spread, skew e teto de
|
|
64
|
-
// inventário à mão exige já saber a resposta. Ele traduz uma escolha de
|
|
65
|
-
// apetite a risco nos números, escolhe os pares com o dado que o coletor
|
|
66
|
-
// gravou e mata o que não está capturando spread.
|
|
67
|
-
var TraderRiskProfile;
|
|
68
|
-
(function (TraderRiskProfile) {
|
|
69
|
-
TraderRiskProfile["Conservative"] = "Conservative";
|
|
70
|
-
TraderRiskProfile["Moderate"] = "Moderate";
|
|
71
|
-
TraderRiskProfile["Aggressive"] = "Aggressive";
|
|
72
|
-
})(TraderRiskProfile || (exports.TraderRiskProfile = TraderRiskProfile = {}));
|
|
73
|
-
var TraderAutopilotAction;
|
|
74
|
-
(function (TraderAutopilotAction) {
|
|
75
|
-
TraderAutopilotAction["SessionOpened"] = "SessionOpened";
|
|
76
|
-
TraderAutopilotAction["SessionClosed"] = "SessionClosed";
|
|
77
|
-
TraderAutopilotAction["Skipped"] = "Skipped";
|
|
78
|
-
})(TraderAutopilotAction || (exports.TraderAutopilotAction = TraderAutopilotAction = {}));
|