@gbozee/ultimate 0.0.2-200 → 0.0.2-201
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/dist/frontend-index.d.ts +305 -13
- package/dist/frontend-index.js +413 -6
- package/dist/index.cjs +451 -44
- package/dist/index.d.ts +306 -11
- package/dist/index.js +451 -44
- package/dist/mcp-server.cjs +731 -4
- package/dist/mcp-server.js +731 -4
- package/package.json +1 -1
package/dist/frontend-index.d.ts
CHANGED
|
@@ -289,26 +289,27 @@ declare class Signal {
|
|
|
289
289
|
to_df(currentPrice: number, places?: string): number;
|
|
290
290
|
}
|
|
291
291
|
export type GlobalConfig = {
|
|
292
|
-
profit_percent
|
|
292
|
+
profit_percent?: number;
|
|
293
293
|
symbol: string;
|
|
294
|
-
profit
|
|
295
|
-
risk
|
|
296
|
-
stop_percent
|
|
294
|
+
profit?: number;
|
|
295
|
+
risk?: number;
|
|
296
|
+
stop_percent?: number;
|
|
297
297
|
kind: "long" | "short";
|
|
298
|
-
reduce_percent
|
|
298
|
+
reduce_percent?: number;
|
|
299
299
|
support: number;
|
|
300
300
|
resistance: number;
|
|
301
301
|
price_places: string;
|
|
302
302
|
decimal_places: string;
|
|
303
|
-
min_size
|
|
304
|
-
accounts
|
|
303
|
+
min_size?: number;
|
|
304
|
+
accounts?: {
|
|
305
305
|
owner: string;
|
|
306
306
|
exchange?: string;
|
|
307
307
|
}[];
|
|
308
|
-
risk_reward
|
|
309
|
-
reverse_factor
|
|
308
|
+
risk_reward?: number;
|
|
309
|
+
reverse_factor?: number;
|
|
310
310
|
leverage?: number;
|
|
311
311
|
max_quantity?: number;
|
|
312
|
+
fee_percent?: number;
|
|
312
313
|
};
|
|
313
314
|
export interface BaseSystemFields {
|
|
314
315
|
id: string;
|
|
@@ -373,6 +374,19 @@ export interface ScheduledTrade extends BaseSystemFields {
|
|
|
373
374
|
kelly_prediction_model?: "exponential" | "normal" | "uniform";
|
|
374
375
|
};
|
|
375
376
|
distribution?: GetEntriesParams["distribution"];
|
|
377
|
+
settings?: {
|
|
378
|
+
gap_trading?: {
|
|
379
|
+
entry_risk?: number;
|
|
380
|
+
hedge_stop_ratio?: number;
|
|
381
|
+
};
|
|
382
|
+
bad_hedge?: {
|
|
383
|
+
hedges_distribution?: GetEntriesParams["distribution"];
|
|
384
|
+
hedges_ratio?: number;
|
|
385
|
+
opposite_trade_distribution?: GetEntriesParams["distribution"];
|
|
386
|
+
opposite_trade_ratio?: number;
|
|
387
|
+
stop_loss?: number;
|
|
388
|
+
};
|
|
389
|
+
};
|
|
376
390
|
}
|
|
377
391
|
export interface AccountStrategy extends BaseSystemFields {
|
|
378
392
|
account: string;
|
|
@@ -1277,10 +1291,288 @@ export declare class Strategy {
|
|
|
1277
1291
|
quantity: number;
|
|
1278
1292
|
};
|
|
1279
1293
|
}
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1294
|
+
export interface ComputedTrade {
|
|
1295
|
+
entry: number;
|
|
1296
|
+
quantity: number;
|
|
1297
|
+
avg_size: number;
|
|
1298
|
+
neg_pnl: number;
|
|
1299
|
+
avg_entry: number;
|
|
1300
|
+
stop: number;
|
|
1301
|
+
reverse_avg_entry: number;
|
|
1302
|
+
reverse_avg_quantity: number;
|
|
1303
|
+
fee: number;
|
|
1304
|
+
}
|
|
1305
|
+
export type TradeConfig = {
|
|
1306
|
+
entry: number;
|
|
1307
|
+
stop: number;
|
|
1308
|
+
risk_reward: number;
|
|
1309
|
+
risk: number;
|
|
1310
|
+
symbol: string;
|
|
1311
|
+
distribution?: GetEntriesParams["distribution"];
|
|
1312
|
+
};
|
|
1313
|
+
declare function constructAppConfig$1({ config, global_config, }: {
|
|
1314
|
+
config: TradeConfig;
|
|
1315
|
+
global_config: GlobalConfig;
|
|
1316
|
+
}): {
|
|
1317
|
+
fee: number;
|
|
1318
|
+
risk_per_trade: number;
|
|
1319
|
+
risk_reward: number;
|
|
1320
|
+
symbol?: string;
|
|
1321
|
+
focus: number;
|
|
1322
|
+
budget: number;
|
|
1323
|
+
support: number;
|
|
1324
|
+
resistance: number;
|
|
1325
|
+
percent_change: number;
|
|
1326
|
+
tradeSplit?: number;
|
|
1327
|
+
take_profit?: number;
|
|
1328
|
+
kind: "long" | "short";
|
|
1329
|
+
entry: number;
|
|
1330
|
+
stop: number;
|
|
1331
|
+
min_size: number;
|
|
1332
|
+
price_places?: string;
|
|
1333
|
+
strategy?: "quantity" | "entry";
|
|
1334
|
+
as_array?: boolean;
|
|
1335
|
+
decimal_places?: string;
|
|
1336
|
+
min_profit?: number;
|
|
1337
|
+
raw?: boolean;
|
|
1338
|
+
gap?: number;
|
|
1339
|
+
rr?: number;
|
|
1340
|
+
max_size?: number;
|
|
1341
|
+
last_value?: any;
|
|
1342
|
+
max_quantity?: number;
|
|
1343
|
+
kelly?: {
|
|
1344
|
+
use_kelly?: boolean;
|
|
1345
|
+
kelly_confidence_factor?: number;
|
|
1346
|
+
kelly_minimum_risk?: number;
|
|
1347
|
+
kelly_prediction_model?: "exponential" | "normal" | "uniform";
|
|
1348
|
+
kelly_func?: "theoretical" | "position_based" | "theoretical_fixed";
|
|
1349
|
+
};
|
|
1350
|
+
};
|
|
1351
|
+
declare function buildWithOptimumReward({ config, settings, global_config, }: {
|
|
1352
|
+
config: TradeConfig;
|
|
1353
|
+
global_config: GlobalConfig;
|
|
1354
|
+
settings: {
|
|
1355
|
+
entry?: number;
|
|
1356
|
+
stop?: number;
|
|
1357
|
+
risk: number;
|
|
1358
|
+
stop_ratio?: number;
|
|
1359
|
+
risk_reward?: number;
|
|
1360
|
+
distribution?: GetEntriesParams["distribution"];
|
|
1361
|
+
};
|
|
1362
|
+
}): {
|
|
1363
|
+
trades: any[];
|
|
1364
|
+
summary: {
|
|
1365
|
+
entry: number;
|
|
1366
|
+
stop: number;
|
|
1367
|
+
risk: number;
|
|
1368
|
+
risk_reward: any;
|
|
1369
|
+
avg_entry: number;
|
|
1370
|
+
avg_size: number;
|
|
1371
|
+
first_entry: number;
|
|
1372
|
+
pnl: number;
|
|
1373
|
+
fee: number;
|
|
1374
|
+
loss: number;
|
|
1375
|
+
last_entry: number;
|
|
1376
|
+
margin: number;
|
|
1377
|
+
};
|
|
1378
|
+
config: any;
|
|
1379
|
+
stop_order: {
|
|
1380
|
+
quantity: number;
|
|
1381
|
+
price: number;
|
|
1382
|
+
};
|
|
1383
|
+
kind: string;
|
|
1384
|
+
};
|
|
1385
|
+
declare function generateOppositeOptimum({ config, global_config, settings, ratio, distribution, risk_factor, }: {
|
|
1386
|
+
settings: {
|
|
1387
|
+
entry: number;
|
|
1388
|
+
stop: number;
|
|
1389
|
+
risk: number;
|
|
1390
|
+
};
|
|
1391
|
+
config: TradeConfig;
|
|
1392
|
+
global_config: GlobalConfig;
|
|
1393
|
+
fee_percent?: number;
|
|
1394
|
+
ratio?: number;
|
|
1395
|
+
distribution?: any;
|
|
1396
|
+
risk_factor?: number;
|
|
1397
|
+
}): {
|
|
1398
|
+
trades: any[];
|
|
1399
|
+
summary: any;
|
|
1400
|
+
config: {
|
|
1401
|
+
entry: number;
|
|
1402
|
+
stop: number;
|
|
1403
|
+
risk: number;
|
|
1404
|
+
distribution: any;
|
|
1405
|
+
risk_factor: number;
|
|
1406
|
+
};
|
|
1407
|
+
kind: string;
|
|
1408
|
+
} | {
|
|
1409
|
+
trades: any[];
|
|
1410
|
+
summary: {
|
|
1411
|
+
entry: number;
|
|
1412
|
+
stop: number;
|
|
1413
|
+
risk: number;
|
|
1414
|
+
risk_reward: any;
|
|
1415
|
+
avg_entry: number;
|
|
1416
|
+
avg_size: number;
|
|
1417
|
+
first_entry: number;
|
|
1418
|
+
pnl: number;
|
|
1419
|
+
fee: number;
|
|
1420
|
+
loss: number;
|
|
1421
|
+
last_entry: number;
|
|
1422
|
+
defaultEntry: number;
|
|
1423
|
+
};
|
|
1424
|
+
config: any;
|
|
1425
|
+
kind: string;
|
|
1426
|
+
};
|
|
1427
|
+
declare function increaseTradeHelper({ increase_qty, stop, config, global_config, style, entry, position, stop_ratio, distribution: default_distribution, }: {
|
|
1428
|
+
position: {
|
|
1429
|
+
entry: number;
|
|
1430
|
+
quantity: number;
|
|
1431
|
+
};
|
|
1432
|
+
entry: number;
|
|
1433
|
+
stop: number;
|
|
1434
|
+
config: TradeConfig;
|
|
1435
|
+
global_config: GlobalConfig;
|
|
1436
|
+
increase_qty: number;
|
|
1437
|
+
style: "minimum" | "optimum";
|
|
1438
|
+
stop_ratio?: number;
|
|
1439
|
+
distribution?: any;
|
|
1440
|
+
}): {
|
|
1441
|
+
trades: any[];
|
|
1442
|
+
summary: any;
|
|
1443
|
+
config: any;
|
|
1444
|
+
kind: string;
|
|
1445
|
+
current: {
|
|
1446
|
+
trades: any[];
|
|
1447
|
+
summary: {
|
|
1448
|
+
first_entry: number;
|
|
1449
|
+
last_entry: number;
|
|
1450
|
+
quantity: number;
|
|
1451
|
+
entry: number;
|
|
1452
|
+
loss: number;
|
|
1453
|
+
number_of_trades: number;
|
|
1454
|
+
fee: number;
|
|
1455
|
+
anchor_pnl: any;
|
|
1456
|
+
};
|
|
1457
|
+
};
|
|
1458
|
+
stop_order?: undefined;
|
|
1459
|
+
} | {
|
|
1460
|
+
trades: any[];
|
|
1461
|
+
summary: {
|
|
1462
|
+
entry: number;
|
|
1463
|
+
stop: number;
|
|
1464
|
+
risk: number;
|
|
1465
|
+
risk_reward: any;
|
|
1466
|
+
avg_entry: number;
|
|
1467
|
+
avg_size: number;
|
|
1468
|
+
first_entry: number;
|
|
1469
|
+
pnl: number;
|
|
1470
|
+
fee: number;
|
|
1471
|
+
loss: number;
|
|
1472
|
+
last_entry: number;
|
|
1473
|
+
margin: number;
|
|
1474
|
+
};
|
|
1475
|
+
stop_order: {
|
|
1476
|
+
quantity: number;
|
|
1477
|
+
price: number;
|
|
1478
|
+
};
|
|
1479
|
+
config: any;
|
|
1480
|
+
kind: string;
|
|
1481
|
+
current: {
|
|
1482
|
+
trades: any[];
|
|
1483
|
+
summary: {
|
|
1484
|
+
first_entry: number;
|
|
1485
|
+
last_entry: number;
|
|
1486
|
+
quantity: number;
|
|
1487
|
+
entry: number;
|
|
1488
|
+
loss: number;
|
|
1489
|
+
number_of_trades: number;
|
|
1490
|
+
fee: number;
|
|
1491
|
+
anchor_pnl: any;
|
|
1492
|
+
};
|
|
1493
|
+
};
|
|
1494
|
+
};
|
|
1495
|
+
declare function generatePositionIncreaseTrade({ account, zoneAccount, ratio, config, global_config, style, distribution, }: {
|
|
1496
|
+
style?: "optimum" | "minimum";
|
|
1497
|
+
account: {
|
|
1498
|
+
long: {
|
|
1499
|
+
entry: number;
|
|
1500
|
+
quantity: number;
|
|
1501
|
+
};
|
|
1502
|
+
short: {
|
|
1503
|
+
entry: number;
|
|
1504
|
+
quantity: number;
|
|
1505
|
+
};
|
|
1506
|
+
};
|
|
1507
|
+
config: TradeConfig;
|
|
1508
|
+
global_config: GlobalConfig;
|
|
1509
|
+
zoneAccount: {
|
|
1510
|
+
entry: number;
|
|
1511
|
+
stop: number;
|
|
1512
|
+
};
|
|
1513
|
+
ratio?: number;
|
|
1514
|
+
distribution?: any;
|
|
1515
|
+
}): {
|
|
1516
|
+
trades: any[];
|
|
1517
|
+
summary: any;
|
|
1518
|
+
config: any;
|
|
1519
|
+
kind: string;
|
|
1520
|
+
current: {
|
|
1521
|
+
trades: any[];
|
|
1522
|
+
summary: {
|
|
1523
|
+
first_entry: number;
|
|
1524
|
+
last_entry: number;
|
|
1525
|
+
quantity: number;
|
|
1526
|
+
entry: number;
|
|
1527
|
+
loss: number;
|
|
1528
|
+
number_of_trades: number;
|
|
1529
|
+
fee: number;
|
|
1530
|
+
anchor_pnl: any;
|
|
1531
|
+
};
|
|
1532
|
+
};
|
|
1533
|
+
stop_order?: undefined;
|
|
1534
|
+
} | {
|
|
1535
|
+
trades: any[];
|
|
1536
|
+
summary: {
|
|
1537
|
+
entry: number;
|
|
1538
|
+
stop: number;
|
|
1539
|
+
risk: number;
|
|
1540
|
+
risk_reward: any;
|
|
1541
|
+
avg_entry: number;
|
|
1542
|
+
avg_size: number;
|
|
1543
|
+
first_entry: number;
|
|
1544
|
+
pnl: number;
|
|
1545
|
+
fee: number;
|
|
1546
|
+
loss: number;
|
|
1547
|
+
last_entry: number;
|
|
1548
|
+
margin: number;
|
|
1549
|
+
};
|
|
1550
|
+
stop_order: {
|
|
1551
|
+
quantity: number;
|
|
1552
|
+
price: number;
|
|
1553
|
+
};
|
|
1554
|
+
config: any;
|
|
1555
|
+
kind: string;
|
|
1556
|
+
current: {
|
|
1557
|
+
trades: any[];
|
|
1558
|
+
summary: {
|
|
1559
|
+
first_entry: number;
|
|
1560
|
+
last_entry: number;
|
|
1561
|
+
quantity: number;
|
|
1562
|
+
entry: number;
|
|
1563
|
+
loss: number;
|
|
1564
|
+
number_of_trades: number;
|
|
1565
|
+
fee: number;
|
|
1566
|
+
anchor_pnl: any;
|
|
1567
|
+
};
|
|
1568
|
+
};
|
|
1569
|
+
};
|
|
1570
|
+
export declare const compoundAPI: {
|
|
1571
|
+
buildWithOptimumReward: typeof buildWithOptimumReward;
|
|
1572
|
+
constructAppConfig: typeof constructAppConfig$1;
|
|
1573
|
+
generateOppositeOptimum: typeof generateOppositeOptimum;
|
|
1574
|
+
increaseTradeHelper: typeof increaseTradeHelper;
|
|
1575
|
+
generatePositionIncreaseTrade: typeof generatePositionIncreaseTrade;
|
|
1284
1576
|
};
|
|
1285
1577
|
|
|
1286
1578
|
export {};
|