backtest-kit 2.2.12 → 2.2.13
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/index.cjs +53 -53
- package/build/index.mjs +53 -53
- package/package.json +1 -1
- package/types.d.ts +8 -8
package/build/index.cjs
CHANGED
|
@@ -1560,7 +1560,7 @@ class PersistCandleUtils {
|
|
|
1560
1560
|
this.PersistCandlesFactory = PersistBase;
|
|
1561
1561
|
this.getCandlesStorage = functoolsKit.memoize(([symbol, interval, exchangeName]) => `${symbol}:${interval}:${exchangeName}`, (symbol, interval, exchangeName) => Reflect.construct(this.PersistCandlesFactory, [
|
|
1562
1562
|
`${exchangeName}/${symbol}/${interval}`,
|
|
1563
|
-
`./dump/data/
|
|
1563
|
+
`./dump/data/candle/`,
|
|
1564
1564
|
]));
|
|
1565
1565
|
/**
|
|
1566
1566
|
* Reads cached candles for a specific exchange, symbol, and interval.
|
|
@@ -1701,7 +1701,7 @@ class PersistStorageUtils {
|
|
|
1701
1701
|
this.PersistStorageFactory = PersistBase;
|
|
1702
1702
|
this.getStorageStorage = functoolsKit.memoize(([backtest]) => backtest ? `backtest` : `live`, (backtest) => Reflect.construct(this.PersistStorageFactory, [
|
|
1703
1703
|
backtest ? `backtest` : `live`,
|
|
1704
|
-
`./dump/data/
|
|
1704
|
+
`./dump/data/storage/`,
|
|
1705
1705
|
]));
|
|
1706
1706
|
/**
|
|
1707
1707
|
* Reads persisted signals data.
|
|
@@ -2879,7 +2879,7 @@ const TIMEOUT_SYMBOL = Symbol('timeout');
|
|
|
2879
2879
|
const TO_PUBLIC_SIGNAL = (signal) => {
|
|
2880
2880
|
const hasTrailingSL = "_trailingPriceStopLoss" in signal && signal._trailingPriceStopLoss !== undefined;
|
|
2881
2881
|
const hasTrailingTP = "_trailingPriceTakeProfit" in signal && signal._trailingPriceTakeProfit !== undefined;
|
|
2882
|
-
const
|
|
2882
|
+
const partialExecuted = ("_partial" in signal && Array.isArray(signal._partial))
|
|
2883
2883
|
? signal._partial.reduce((sum, partial) => sum + partial.percent, 0)
|
|
2884
2884
|
: 0;
|
|
2885
2885
|
return {
|
|
@@ -2888,7 +2888,7 @@ const TO_PUBLIC_SIGNAL = (signal) => {
|
|
|
2888
2888
|
priceTakeProfit: hasTrailingTP ? signal._trailingPriceTakeProfit : signal.priceTakeProfit,
|
|
2889
2889
|
originalPriceStopLoss: signal.priceStopLoss,
|
|
2890
2890
|
originalPriceTakeProfit: signal.priceTakeProfit,
|
|
2891
|
-
|
|
2891
|
+
partialExecuted,
|
|
2892
2892
|
};
|
|
2893
2893
|
};
|
|
2894
2894
|
const VALIDATE_SIGNAL_FN = (signal, currentPrice, isScheduled) => {
|
|
@@ -7866,7 +7866,7 @@ const POSITION_NEED_FETCH = Symbol("risk-need-fetch");
|
|
|
7866
7866
|
const TO_RISK_SIGNAL = (signal, currentPrice) => {
|
|
7867
7867
|
const hasTrailingSL = "_trailingPriceStopLoss" in signal && signal._trailingPriceStopLoss !== undefined;
|
|
7868
7868
|
const hasTrailingTP = "_trailingPriceTakeProfit" in signal && signal._trailingPriceTakeProfit !== undefined;
|
|
7869
|
-
const
|
|
7869
|
+
const partialExecuted = ("_partial" in signal && Array.isArray(signal._partial))
|
|
7870
7870
|
? signal._partial.reduce((sum, partial) => sum + partial.percent, 0)
|
|
7871
7871
|
: 0;
|
|
7872
7872
|
return {
|
|
@@ -7876,7 +7876,7 @@ const TO_RISK_SIGNAL = (signal, currentPrice) => {
|
|
|
7876
7876
|
priceTakeProfit: hasTrailingTP ? signal._trailingPriceTakeProfit : signal.priceTakeProfit,
|
|
7877
7877
|
originalPriceStopLoss: signal.priceStopLoss,
|
|
7878
7878
|
originalPriceTakeProfit: signal.priceTakeProfit,
|
|
7879
|
-
|
|
7879
|
+
partialExecuted,
|
|
7880
7880
|
};
|
|
7881
7881
|
};
|
|
7882
7882
|
/** Key generator for active position map */
|
|
@@ -13331,9 +13331,9 @@ const backtest_columns = [
|
|
|
13331
13331
|
isVisible: () => true,
|
|
13332
13332
|
},
|
|
13333
13333
|
{
|
|
13334
|
-
key: "
|
|
13335
|
-
label: "
|
|
13336
|
-
format: (data) => `${data.signal.
|
|
13334
|
+
key: "partialExecuted",
|
|
13335
|
+
label: "Partial Executed %",
|
|
13336
|
+
format: (data) => `${data.signal.partialExecuted.toFixed(1)}%`,
|
|
13337
13337
|
isVisible: () => true,
|
|
13338
13338
|
},
|
|
13339
13339
|
{
|
|
@@ -13607,9 +13607,9 @@ const live_columns = [
|
|
|
13607
13607
|
isVisible: () => true,
|
|
13608
13608
|
},
|
|
13609
13609
|
{
|
|
13610
|
-
key: "
|
|
13611
|
-
label: "
|
|
13612
|
-
format: (data) => data.
|
|
13610
|
+
key: "partialExecuted",
|
|
13611
|
+
label: "Partial Executed %",
|
|
13612
|
+
format: (data) => data.partialExecuted !== undefined ? `${data.partialExecuted.toFixed(1)}%` : "N/A",
|
|
13613
13613
|
isVisible: () => true,
|
|
13614
13614
|
},
|
|
13615
13615
|
{
|
|
@@ -13759,9 +13759,9 @@ const partial_columns = [
|
|
|
13759
13759
|
isVisible: () => true,
|
|
13760
13760
|
},
|
|
13761
13761
|
{
|
|
13762
|
-
key: "
|
|
13763
|
-
label: "
|
|
13764
|
-
format: (data) => (data.
|
|
13762
|
+
key: "partialExecuted",
|
|
13763
|
+
label: "Partial Executed %",
|
|
13764
|
+
format: (data) => (data.partialExecuted !== undefined ? `${data.partialExecuted.toFixed(2)}%` : "N/A"),
|
|
13765
13765
|
isVisible: () => true,
|
|
13766
13766
|
},
|
|
13767
13767
|
{
|
|
@@ -13881,9 +13881,9 @@ const breakeven_columns = [
|
|
|
13881
13881
|
isVisible: () => true,
|
|
13882
13882
|
},
|
|
13883
13883
|
{
|
|
13884
|
-
key: "
|
|
13885
|
-
label: "
|
|
13886
|
-
format: (data) => (data.
|
|
13884
|
+
key: "partialExecuted",
|
|
13885
|
+
label: "Partial Executed %",
|
|
13886
|
+
format: (data) => (data.partialExecuted !== undefined ? `${data.partialExecuted.toFixed(2)}%` : "N/A"),
|
|
13887
13887
|
isVisible: () => true,
|
|
13888
13888
|
},
|
|
13889
13889
|
{
|
|
@@ -14139,10 +14139,10 @@ const risk_columns = [
|
|
|
14139
14139
|
isVisible: () => true,
|
|
14140
14140
|
},
|
|
14141
14141
|
{
|
|
14142
|
-
key: "
|
|
14143
|
-
label: "
|
|
14144
|
-
format: (data) => data.pendingSignal.
|
|
14145
|
-
? `${data.pendingSignal.
|
|
14142
|
+
key: "partialExecuted",
|
|
14143
|
+
label: "Partial Executed %",
|
|
14144
|
+
format: (data) => data.pendingSignal.partialExecuted !== undefined
|
|
14145
|
+
? `${data.pendingSignal.partialExecuted.toFixed(1)}%`
|
|
14146
14146
|
: "N/A",
|
|
14147
14147
|
isVisible: () => true,
|
|
14148
14148
|
},
|
|
@@ -14297,9 +14297,9 @@ const schedule_columns = [
|
|
|
14297
14297
|
isVisible: () => true,
|
|
14298
14298
|
},
|
|
14299
14299
|
{
|
|
14300
|
-
key: "
|
|
14301
|
-
label: "
|
|
14302
|
-
format: (data) => data.
|
|
14300
|
+
key: "partialExecuted",
|
|
14301
|
+
label: "Partial Executed %",
|
|
14302
|
+
format: (data) => data.partialExecuted !== undefined ? `${data.partialExecuted.toFixed(1)}%` : "N/A",
|
|
14303
14303
|
isVisible: () => true,
|
|
14304
14304
|
},
|
|
14305
14305
|
{
|
|
@@ -15710,7 +15710,7 @@ let ReportStorage$6 = class ReportStorage {
|
|
|
15710
15710
|
priceStopLoss: data.signal.priceStopLoss,
|
|
15711
15711
|
originalPriceTakeProfit: data.signal.originalPriceTakeProfit,
|
|
15712
15712
|
originalPriceStopLoss: data.signal.originalPriceStopLoss,
|
|
15713
|
-
|
|
15713
|
+
partialExecuted: data.signal.partialExecuted,
|
|
15714
15714
|
});
|
|
15715
15715
|
// Trim queue if exceeded MAX_EVENTS
|
|
15716
15716
|
if (this._eventList.length > MAX_EVENTS$7) {
|
|
@@ -15737,7 +15737,7 @@ let ReportStorage$6 = class ReportStorage {
|
|
|
15737
15737
|
priceStopLoss: data.signal.priceStopLoss,
|
|
15738
15738
|
originalPriceTakeProfit: data.signal.originalPriceTakeProfit,
|
|
15739
15739
|
originalPriceStopLoss: data.signal.originalPriceStopLoss,
|
|
15740
|
-
|
|
15740
|
+
partialExecuted: data.signal.partialExecuted,
|
|
15741
15741
|
percentTp: data.percentTp,
|
|
15742
15742
|
percentSl: data.percentSl,
|
|
15743
15743
|
pnl: data.pnl.pnlPercentage,
|
|
@@ -15777,7 +15777,7 @@ let ReportStorage$6 = class ReportStorage {
|
|
|
15777
15777
|
priceStopLoss: data.signal.priceStopLoss,
|
|
15778
15778
|
originalPriceTakeProfit: data.signal.originalPriceTakeProfit,
|
|
15779
15779
|
originalPriceStopLoss: data.signal.originalPriceStopLoss,
|
|
15780
|
-
|
|
15780
|
+
partialExecuted: data.signal.partialExecuted,
|
|
15781
15781
|
pnl: data.pnl.pnlPercentage,
|
|
15782
15782
|
closeReason: data.closeReason,
|
|
15783
15783
|
duration: durationMin,
|
|
@@ -15807,7 +15807,7 @@ let ReportStorage$6 = class ReportStorage {
|
|
|
15807
15807
|
priceStopLoss: data.signal.priceStopLoss,
|
|
15808
15808
|
originalPriceTakeProfit: data.signal.originalPriceTakeProfit,
|
|
15809
15809
|
originalPriceStopLoss: data.signal.originalPriceStopLoss,
|
|
15810
|
-
|
|
15810
|
+
partialExecuted: data.signal.partialExecuted,
|
|
15811
15811
|
});
|
|
15812
15812
|
// Trim queue if exceeded MAX_EVENTS
|
|
15813
15813
|
if (this._eventList.length > MAX_EVENTS$7) {
|
|
@@ -15834,7 +15834,7 @@ let ReportStorage$6 = class ReportStorage {
|
|
|
15834
15834
|
priceStopLoss: data.signal.priceStopLoss,
|
|
15835
15835
|
originalPriceTakeProfit: data.signal.originalPriceTakeProfit,
|
|
15836
15836
|
originalPriceStopLoss: data.signal.originalPriceStopLoss,
|
|
15837
|
-
|
|
15837
|
+
partialExecuted: data.signal.partialExecuted,
|
|
15838
15838
|
percentTp: data.percentTp,
|
|
15839
15839
|
percentSl: data.percentSl,
|
|
15840
15840
|
pnl: data.pnl.pnlPercentage,
|
|
@@ -15872,7 +15872,7 @@ let ReportStorage$6 = class ReportStorage {
|
|
|
15872
15872
|
priceStopLoss: data.signal.priceStopLoss,
|
|
15873
15873
|
originalPriceTakeProfit: data.signal.originalPriceTakeProfit,
|
|
15874
15874
|
originalPriceStopLoss: data.signal.originalPriceStopLoss,
|
|
15875
|
-
|
|
15875
|
+
partialExecuted: data.signal.partialExecuted,
|
|
15876
15876
|
cancelReason: data.reason,
|
|
15877
15877
|
});
|
|
15878
15878
|
// Trim queue if exceeded MAX_EVENTS
|
|
@@ -16364,7 +16364,7 @@ let ReportStorage$5 = class ReportStorage {
|
|
|
16364
16364
|
priceStopLoss: data.signal.priceStopLoss,
|
|
16365
16365
|
originalPriceTakeProfit: data.signal.originalPriceTakeProfit,
|
|
16366
16366
|
originalPriceStopLoss: data.signal.originalPriceStopLoss,
|
|
16367
|
-
|
|
16367
|
+
partialExecuted: data.signal.partialExecuted,
|
|
16368
16368
|
});
|
|
16369
16369
|
// Trim queue if exceeded MAX_EVENTS
|
|
16370
16370
|
if (this._eventList.length > MAX_EVENTS$6) {
|
|
@@ -16392,7 +16392,7 @@ let ReportStorage$5 = class ReportStorage {
|
|
|
16392
16392
|
priceStopLoss: data.signal.priceStopLoss,
|
|
16393
16393
|
originalPriceTakeProfit: data.signal.originalPriceTakeProfit,
|
|
16394
16394
|
originalPriceStopLoss: data.signal.originalPriceStopLoss,
|
|
16395
|
-
|
|
16395
|
+
partialExecuted: data.signal.partialExecuted,
|
|
16396
16396
|
duration: durationMin,
|
|
16397
16397
|
};
|
|
16398
16398
|
this._eventList.unshift(newEvent);
|
|
@@ -16422,7 +16422,7 @@ let ReportStorage$5 = class ReportStorage {
|
|
|
16422
16422
|
priceStopLoss: data.signal.priceStopLoss,
|
|
16423
16423
|
originalPriceTakeProfit: data.signal.originalPriceTakeProfit,
|
|
16424
16424
|
originalPriceStopLoss: data.signal.originalPriceStopLoss,
|
|
16425
|
-
|
|
16425
|
+
partialExecuted: data.signal.partialExecuted,
|
|
16426
16426
|
closeTimestamp: data.closeTimestamp,
|
|
16427
16427
|
duration: durationMin,
|
|
16428
16428
|
cancelReason: data.reason,
|
|
@@ -19566,7 +19566,7 @@ let ReportStorage$3 = class ReportStorage {
|
|
|
19566
19566
|
priceStopLoss: data.priceStopLoss,
|
|
19567
19567
|
originalPriceTakeProfit: data.originalPriceTakeProfit,
|
|
19568
19568
|
originalPriceStopLoss: data.originalPriceStopLoss,
|
|
19569
|
-
|
|
19569
|
+
partialExecuted: data.partialExecuted,
|
|
19570
19570
|
note: data.note,
|
|
19571
19571
|
backtest,
|
|
19572
19572
|
});
|
|
@@ -19598,7 +19598,7 @@ let ReportStorage$3 = class ReportStorage {
|
|
|
19598
19598
|
priceStopLoss: data.priceStopLoss,
|
|
19599
19599
|
originalPriceTakeProfit: data.originalPriceTakeProfit,
|
|
19600
19600
|
originalPriceStopLoss: data.originalPriceStopLoss,
|
|
19601
|
-
|
|
19601
|
+
partialExecuted: data.partialExecuted,
|
|
19602
19602
|
note: data.note,
|
|
19603
19603
|
backtest,
|
|
19604
19604
|
});
|
|
@@ -20695,7 +20695,7 @@ let ReportStorage$2 = class ReportStorage {
|
|
|
20695
20695
|
priceStopLoss: data.priceStopLoss,
|
|
20696
20696
|
originalPriceTakeProfit: data.originalPriceTakeProfit,
|
|
20697
20697
|
originalPriceStopLoss: data.originalPriceStopLoss,
|
|
20698
|
-
|
|
20698
|
+
partialExecuted: data.partialExecuted,
|
|
20699
20699
|
note: data.note,
|
|
20700
20700
|
backtest,
|
|
20701
20701
|
});
|
|
@@ -22278,7 +22278,7 @@ class BacktestReportService {
|
|
|
22278
22278
|
priceStopLoss: data.signal?.priceStopLoss,
|
|
22279
22279
|
originalPriceTakeProfit: data.signal?.originalPriceTakeProfit,
|
|
22280
22280
|
originalPriceStopLoss: data.signal?.originalPriceStopLoss,
|
|
22281
|
-
|
|
22281
|
+
partialExecuted: data.signal?.partialExecuted,
|
|
22282
22282
|
openTime: data.signal?.pendingAt,
|
|
22283
22283
|
scheduledAt: data.signal?.scheduledAt,
|
|
22284
22284
|
minuteEstimatedTime: data.signal?.minuteEstimatedTime,
|
|
@@ -22296,7 +22296,7 @@ class BacktestReportService {
|
|
|
22296
22296
|
originalPriceTakeProfit: data.signal?.originalPriceTakeProfit,
|
|
22297
22297
|
originalPriceStopLoss: data.signal?.originalPriceStopLoss,
|
|
22298
22298
|
_partial: data.signal?._partial,
|
|
22299
|
-
|
|
22299
|
+
partialExecuted: data.signal?.partialExecuted,
|
|
22300
22300
|
openTime: data.signal?.pendingAt,
|
|
22301
22301
|
scheduledAt: data.signal?.scheduledAt,
|
|
22302
22302
|
minuteEstimatedTime: data.signal?.minuteEstimatedTime,
|
|
@@ -22321,7 +22321,7 @@ class BacktestReportService {
|
|
|
22321
22321
|
originalPriceTakeProfit: data.signal?.originalPriceTakeProfit,
|
|
22322
22322
|
originalPriceStopLoss: data.signal?.originalPriceStopLoss,
|
|
22323
22323
|
_partial: data.signal?._partial,
|
|
22324
|
-
|
|
22324
|
+
partialExecuted: data.signal?.partialExecuted,
|
|
22325
22325
|
openTime: data.signal?.pendingAt,
|
|
22326
22326
|
scheduledAt: data.signal?.scheduledAt,
|
|
22327
22327
|
minuteEstimatedTime: data.signal?.minuteEstimatedTime,
|
|
@@ -22457,7 +22457,7 @@ class LiveReportService {
|
|
|
22457
22457
|
priceStopLoss: data.signal?.priceStopLoss,
|
|
22458
22458
|
originalPriceTakeProfit: data.signal?.originalPriceTakeProfit,
|
|
22459
22459
|
originalPriceStopLoss: data.signal?.originalPriceStopLoss,
|
|
22460
|
-
|
|
22460
|
+
partialExecuted: data.signal?.partialExecuted,
|
|
22461
22461
|
scheduledAt: data.signal?.scheduledAt,
|
|
22462
22462
|
minuteEstimatedTime: data.signal?.minuteEstimatedTime,
|
|
22463
22463
|
}, { ...searchOptions, signalId: data.signal?.id });
|
|
@@ -22473,7 +22473,7 @@ class LiveReportService {
|
|
|
22473
22473
|
priceStopLoss: data.signal?.priceStopLoss,
|
|
22474
22474
|
originalPriceTakeProfit: data.signal?.originalPriceTakeProfit,
|
|
22475
22475
|
originalPriceStopLoss: data.signal?.originalPriceStopLoss,
|
|
22476
|
-
|
|
22476
|
+
partialExecuted: data.signal?.partialExecuted,
|
|
22477
22477
|
scheduledAt: data.signal?.scheduledAt,
|
|
22478
22478
|
minuteEstimatedTime: data.signal?.minuteEstimatedTime,
|
|
22479
22479
|
percentTp: data.percentTp,
|
|
@@ -22494,7 +22494,7 @@ class LiveReportService {
|
|
|
22494
22494
|
priceStopLoss: data.signal?.priceStopLoss,
|
|
22495
22495
|
originalPriceTakeProfit: data.signal?.originalPriceTakeProfit,
|
|
22496
22496
|
originalPriceStopLoss: data.signal?.originalPriceStopLoss,
|
|
22497
|
-
|
|
22497
|
+
partialExecuted: data.signal?.partialExecuted,
|
|
22498
22498
|
openTime: data.signal?.pendingAt,
|
|
22499
22499
|
scheduledAt: data.signal?.scheduledAt,
|
|
22500
22500
|
minuteEstimatedTime: data.signal?.minuteEstimatedTime,
|
|
@@ -22512,7 +22512,7 @@ class LiveReportService {
|
|
|
22512
22512
|
originalPriceTakeProfit: data.signal?.originalPriceTakeProfit,
|
|
22513
22513
|
originalPriceStopLoss: data.signal?.originalPriceStopLoss,
|
|
22514
22514
|
_partial: data.signal?._partial,
|
|
22515
|
-
|
|
22515
|
+
partialExecuted: data.signal?.partialExecuted,
|
|
22516
22516
|
openTime: data.signal?.pendingAt,
|
|
22517
22517
|
scheduledAt: data.signal?.scheduledAt,
|
|
22518
22518
|
minuteEstimatedTime: data.signal?.minuteEstimatedTime,
|
|
@@ -22537,7 +22537,7 @@ class LiveReportService {
|
|
|
22537
22537
|
originalPriceTakeProfit: data.signal?.originalPriceTakeProfit,
|
|
22538
22538
|
originalPriceStopLoss: data.signal?.originalPriceStopLoss,
|
|
22539
22539
|
_partial: data.signal?._partial,
|
|
22540
|
-
|
|
22540
|
+
partialExecuted: data.signal?.partialExecuted,
|
|
22541
22541
|
openTime: data.signal?.pendingAt,
|
|
22542
22542
|
scheduledAt: data.signal?.scheduledAt,
|
|
22543
22543
|
minuteEstimatedTime: data.signal?.minuteEstimatedTime,
|
|
@@ -22560,7 +22560,7 @@ class LiveReportService {
|
|
|
22560
22560
|
priceStopLoss: data.signal?.priceStopLoss,
|
|
22561
22561
|
originalPriceTakeProfit: data.signal?.originalPriceTakeProfit,
|
|
22562
22562
|
originalPriceStopLoss: data.signal?.originalPriceStopLoss,
|
|
22563
|
-
|
|
22563
|
+
partialExecuted: data.signal?.partialExecuted,
|
|
22564
22564
|
scheduledAt: data.signal?.scheduledAt,
|
|
22565
22565
|
minuteEstimatedTime: data.signal?.minuteEstimatedTime,
|
|
22566
22566
|
cancelReason: data.reason,
|
|
@@ -22689,7 +22689,7 @@ class ScheduleReportService {
|
|
|
22689
22689
|
priceStopLoss: data.signal?.priceStopLoss,
|
|
22690
22690
|
originalPriceTakeProfit: data.signal?.originalPriceTakeProfit,
|
|
22691
22691
|
originalPriceStopLoss: data.signal?.originalPriceStopLoss,
|
|
22692
|
-
|
|
22692
|
+
partialExecuted: data.signal?.partialExecuted,
|
|
22693
22693
|
pendingAt: data.signal?.pendingAt,
|
|
22694
22694
|
minuteEstimatedTime: data.signal?.minuteEstimatedTime,
|
|
22695
22695
|
}, searchOptions);
|
|
@@ -22710,7 +22710,7 @@ class ScheduleReportService {
|
|
|
22710
22710
|
priceStopLoss: data.signal?.priceStopLoss,
|
|
22711
22711
|
originalPriceTakeProfit: data.signal?.originalPriceTakeProfit,
|
|
22712
22712
|
originalPriceStopLoss: data.signal?.originalPriceStopLoss,
|
|
22713
|
-
|
|
22713
|
+
partialExecuted: data.signal?.partialExecuted,
|
|
22714
22714
|
scheduledAt: data.signal?.scheduledAt,
|
|
22715
22715
|
pendingAt: data.signal?.pendingAt,
|
|
22716
22716
|
minuteEstimatedTime: data.signal?.minuteEstimatedTime,
|
|
@@ -22733,7 +22733,7 @@ class ScheduleReportService {
|
|
|
22733
22733
|
priceStopLoss: data.signal?.priceStopLoss,
|
|
22734
22734
|
originalPriceTakeProfit: data.signal?.originalPriceTakeProfit,
|
|
22735
22735
|
originalPriceStopLoss: data.signal?.originalPriceStopLoss,
|
|
22736
|
-
|
|
22736
|
+
partialExecuted: data.signal?.partialExecuted,
|
|
22737
22737
|
scheduledAt: data.signal?.scheduledAt,
|
|
22738
22738
|
pendingAt: data.signal?.pendingAt,
|
|
22739
22739
|
minuteEstimatedTime: data.signal?.minuteEstimatedTime,
|
|
@@ -23204,7 +23204,7 @@ class PartialReportService {
|
|
|
23204
23204
|
priceStopLoss: data.data.priceStopLoss,
|
|
23205
23205
|
originalPriceTakeProfit: data.data.originalPriceTakeProfit,
|
|
23206
23206
|
originalPriceStopLoss: data.data.originalPriceStopLoss,
|
|
23207
|
-
|
|
23207
|
+
partialExecuted: data.data.partialExecuted,
|
|
23208
23208
|
_partial: data.data._partial,
|
|
23209
23209
|
note: data.data.note,
|
|
23210
23210
|
pendingAt: data.data.pendingAt,
|
|
@@ -23245,7 +23245,7 @@ class PartialReportService {
|
|
|
23245
23245
|
priceStopLoss: data.data.priceStopLoss,
|
|
23246
23246
|
originalPriceTakeProfit: data.data.originalPriceTakeProfit,
|
|
23247
23247
|
originalPriceStopLoss: data.data.originalPriceStopLoss,
|
|
23248
|
-
|
|
23248
|
+
partialExecuted: data.data.partialExecuted,
|
|
23249
23249
|
_partial: data.data._partial,
|
|
23250
23250
|
note: data.data.note,
|
|
23251
23251
|
pendingAt: data.data.pendingAt,
|
|
@@ -23367,7 +23367,7 @@ class BreakevenReportService {
|
|
|
23367
23367
|
priceStopLoss: data.data.priceStopLoss,
|
|
23368
23368
|
originalPriceTakeProfit: data.data.originalPriceTakeProfit,
|
|
23369
23369
|
originalPriceStopLoss: data.data.originalPriceStopLoss,
|
|
23370
|
-
|
|
23370
|
+
partialExecuted: data.data.partialExecuted,
|
|
23371
23371
|
_partial: data.data._partial,
|
|
23372
23372
|
note: data.data.note,
|
|
23373
23373
|
pendingAt: data.data.pendingAt,
|
|
@@ -23491,7 +23491,7 @@ class RiskReportService {
|
|
|
23491
23491
|
priceStopLoss: data.pendingSignal?.priceStopLoss,
|
|
23492
23492
|
originalPriceTakeProfit: data.pendingSignal?.originalPriceTakeProfit,
|
|
23493
23493
|
originalPriceStopLoss: data.pendingSignal?.originalPriceStopLoss,
|
|
23494
|
-
|
|
23494
|
+
partialExecuted: data.pendingSignal?.partialExecuted,
|
|
23495
23495
|
note: data.pendingSignal?.note,
|
|
23496
23496
|
minuteEstimatedTime: data.pendingSignal?.minuteEstimatedTime,
|
|
23497
23497
|
}, {
|
package/build/index.mjs
CHANGED
|
@@ -1540,7 +1540,7 @@ class PersistCandleUtils {
|
|
|
1540
1540
|
this.PersistCandlesFactory = PersistBase;
|
|
1541
1541
|
this.getCandlesStorage = memoize(([symbol, interval, exchangeName]) => `${symbol}:${interval}:${exchangeName}`, (symbol, interval, exchangeName) => Reflect.construct(this.PersistCandlesFactory, [
|
|
1542
1542
|
`${exchangeName}/${symbol}/${interval}`,
|
|
1543
|
-
`./dump/data/
|
|
1543
|
+
`./dump/data/candle/`,
|
|
1544
1544
|
]));
|
|
1545
1545
|
/**
|
|
1546
1546
|
* Reads cached candles for a specific exchange, symbol, and interval.
|
|
@@ -1681,7 +1681,7 @@ class PersistStorageUtils {
|
|
|
1681
1681
|
this.PersistStorageFactory = PersistBase;
|
|
1682
1682
|
this.getStorageStorage = memoize(([backtest]) => backtest ? `backtest` : `live`, (backtest) => Reflect.construct(this.PersistStorageFactory, [
|
|
1683
1683
|
backtest ? `backtest` : `live`,
|
|
1684
|
-
`./dump/data/
|
|
1684
|
+
`./dump/data/storage/`,
|
|
1685
1685
|
]));
|
|
1686
1686
|
/**
|
|
1687
1687
|
* Reads persisted signals data.
|
|
@@ -2859,7 +2859,7 @@ const TIMEOUT_SYMBOL = Symbol('timeout');
|
|
|
2859
2859
|
const TO_PUBLIC_SIGNAL = (signal) => {
|
|
2860
2860
|
const hasTrailingSL = "_trailingPriceStopLoss" in signal && signal._trailingPriceStopLoss !== undefined;
|
|
2861
2861
|
const hasTrailingTP = "_trailingPriceTakeProfit" in signal && signal._trailingPriceTakeProfit !== undefined;
|
|
2862
|
-
const
|
|
2862
|
+
const partialExecuted = ("_partial" in signal && Array.isArray(signal._partial))
|
|
2863
2863
|
? signal._partial.reduce((sum, partial) => sum + partial.percent, 0)
|
|
2864
2864
|
: 0;
|
|
2865
2865
|
return {
|
|
@@ -2868,7 +2868,7 @@ const TO_PUBLIC_SIGNAL = (signal) => {
|
|
|
2868
2868
|
priceTakeProfit: hasTrailingTP ? signal._trailingPriceTakeProfit : signal.priceTakeProfit,
|
|
2869
2869
|
originalPriceStopLoss: signal.priceStopLoss,
|
|
2870
2870
|
originalPriceTakeProfit: signal.priceTakeProfit,
|
|
2871
|
-
|
|
2871
|
+
partialExecuted,
|
|
2872
2872
|
};
|
|
2873
2873
|
};
|
|
2874
2874
|
const VALIDATE_SIGNAL_FN = (signal, currentPrice, isScheduled) => {
|
|
@@ -7846,7 +7846,7 @@ const POSITION_NEED_FETCH = Symbol("risk-need-fetch");
|
|
|
7846
7846
|
const TO_RISK_SIGNAL = (signal, currentPrice) => {
|
|
7847
7847
|
const hasTrailingSL = "_trailingPriceStopLoss" in signal && signal._trailingPriceStopLoss !== undefined;
|
|
7848
7848
|
const hasTrailingTP = "_trailingPriceTakeProfit" in signal && signal._trailingPriceTakeProfit !== undefined;
|
|
7849
|
-
const
|
|
7849
|
+
const partialExecuted = ("_partial" in signal && Array.isArray(signal._partial))
|
|
7850
7850
|
? signal._partial.reduce((sum, partial) => sum + partial.percent, 0)
|
|
7851
7851
|
: 0;
|
|
7852
7852
|
return {
|
|
@@ -7856,7 +7856,7 @@ const TO_RISK_SIGNAL = (signal, currentPrice) => {
|
|
|
7856
7856
|
priceTakeProfit: hasTrailingTP ? signal._trailingPriceTakeProfit : signal.priceTakeProfit,
|
|
7857
7857
|
originalPriceStopLoss: signal.priceStopLoss,
|
|
7858
7858
|
originalPriceTakeProfit: signal.priceTakeProfit,
|
|
7859
|
-
|
|
7859
|
+
partialExecuted,
|
|
7860
7860
|
};
|
|
7861
7861
|
};
|
|
7862
7862
|
/** Key generator for active position map */
|
|
@@ -13311,9 +13311,9 @@ const backtest_columns = [
|
|
|
13311
13311
|
isVisible: () => true,
|
|
13312
13312
|
},
|
|
13313
13313
|
{
|
|
13314
|
-
key: "
|
|
13315
|
-
label: "
|
|
13316
|
-
format: (data) => `${data.signal.
|
|
13314
|
+
key: "partialExecuted",
|
|
13315
|
+
label: "Partial Executed %",
|
|
13316
|
+
format: (data) => `${data.signal.partialExecuted.toFixed(1)}%`,
|
|
13317
13317
|
isVisible: () => true,
|
|
13318
13318
|
},
|
|
13319
13319
|
{
|
|
@@ -13587,9 +13587,9 @@ const live_columns = [
|
|
|
13587
13587
|
isVisible: () => true,
|
|
13588
13588
|
},
|
|
13589
13589
|
{
|
|
13590
|
-
key: "
|
|
13591
|
-
label: "
|
|
13592
|
-
format: (data) => data.
|
|
13590
|
+
key: "partialExecuted",
|
|
13591
|
+
label: "Partial Executed %",
|
|
13592
|
+
format: (data) => data.partialExecuted !== undefined ? `${data.partialExecuted.toFixed(1)}%` : "N/A",
|
|
13593
13593
|
isVisible: () => true,
|
|
13594
13594
|
},
|
|
13595
13595
|
{
|
|
@@ -13739,9 +13739,9 @@ const partial_columns = [
|
|
|
13739
13739
|
isVisible: () => true,
|
|
13740
13740
|
},
|
|
13741
13741
|
{
|
|
13742
|
-
key: "
|
|
13743
|
-
label: "
|
|
13744
|
-
format: (data) => (data.
|
|
13742
|
+
key: "partialExecuted",
|
|
13743
|
+
label: "Partial Executed %",
|
|
13744
|
+
format: (data) => (data.partialExecuted !== undefined ? `${data.partialExecuted.toFixed(2)}%` : "N/A"),
|
|
13745
13745
|
isVisible: () => true,
|
|
13746
13746
|
},
|
|
13747
13747
|
{
|
|
@@ -13861,9 +13861,9 @@ const breakeven_columns = [
|
|
|
13861
13861
|
isVisible: () => true,
|
|
13862
13862
|
},
|
|
13863
13863
|
{
|
|
13864
|
-
key: "
|
|
13865
|
-
label: "
|
|
13866
|
-
format: (data) => (data.
|
|
13864
|
+
key: "partialExecuted",
|
|
13865
|
+
label: "Partial Executed %",
|
|
13866
|
+
format: (data) => (data.partialExecuted !== undefined ? `${data.partialExecuted.toFixed(2)}%` : "N/A"),
|
|
13867
13867
|
isVisible: () => true,
|
|
13868
13868
|
},
|
|
13869
13869
|
{
|
|
@@ -14119,10 +14119,10 @@ const risk_columns = [
|
|
|
14119
14119
|
isVisible: () => true,
|
|
14120
14120
|
},
|
|
14121
14121
|
{
|
|
14122
|
-
key: "
|
|
14123
|
-
label: "
|
|
14124
|
-
format: (data) => data.pendingSignal.
|
|
14125
|
-
? `${data.pendingSignal.
|
|
14122
|
+
key: "partialExecuted",
|
|
14123
|
+
label: "Partial Executed %",
|
|
14124
|
+
format: (data) => data.pendingSignal.partialExecuted !== undefined
|
|
14125
|
+
? `${data.pendingSignal.partialExecuted.toFixed(1)}%`
|
|
14126
14126
|
: "N/A",
|
|
14127
14127
|
isVisible: () => true,
|
|
14128
14128
|
},
|
|
@@ -14277,9 +14277,9 @@ const schedule_columns = [
|
|
|
14277
14277
|
isVisible: () => true,
|
|
14278
14278
|
},
|
|
14279
14279
|
{
|
|
14280
|
-
key: "
|
|
14281
|
-
label: "
|
|
14282
|
-
format: (data) => data.
|
|
14280
|
+
key: "partialExecuted",
|
|
14281
|
+
label: "Partial Executed %",
|
|
14282
|
+
format: (data) => data.partialExecuted !== undefined ? `${data.partialExecuted.toFixed(1)}%` : "N/A",
|
|
14283
14283
|
isVisible: () => true,
|
|
14284
14284
|
},
|
|
14285
14285
|
{
|
|
@@ -15690,7 +15690,7 @@ let ReportStorage$6 = class ReportStorage {
|
|
|
15690
15690
|
priceStopLoss: data.signal.priceStopLoss,
|
|
15691
15691
|
originalPriceTakeProfit: data.signal.originalPriceTakeProfit,
|
|
15692
15692
|
originalPriceStopLoss: data.signal.originalPriceStopLoss,
|
|
15693
|
-
|
|
15693
|
+
partialExecuted: data.signal.partialExecuted,
|
|
15694
15694
|
});
|
|
15695
15695
|
// Trim queue if exceeded MAX_EVENTS
|
|
15696
15696
|
if (this._eventList.length > MAX_EVENTS$7) {
|
|
@@ -15717,7 +15717,7 @@ let ReportStorage$6 = class ReportStorage {
|
|
|
15717
15717
|
priceStopLoss: data.signal.priceStopLoss,
|
|
15718
15718
|
originalPriceTakeProfit: data.signal.originalPriceTakeProfit,
|
|
15719
15719
|
originalPriceStopLoss: data.signal.originalPriceStopLoss,
|
|
15720
|
-
|
|
15720
|
+
partialExecuted: data.signal.partialExecuted,
|
|
15721
15721
|
percentTp: data.percentTp,
|
|
15722
15722
|
percentSl: data.percentSl,
|
|
15723
15723
|
pnl: data.pnl.pnlPercentage,
|
|
@@ -15757,7 +15757,7 @@ let ReportStorage$6 = class ReportStorage {
|
|
|
15757
15757
|
priceStopLoss: data.signal.priceStopLoss,
|
|
15758
15758
|
originalPriceTakeProfit: data.signal.originalPriceTakeProfit,
|
|
15759
15759
|
originalPriceStopLoss: data.signal.originalPriceStopLoss,
|
|
15760
|
-
|
|
15760
|
+
partialExecuted: data.signal.partialExecuted,
|
|
15761
15761
|
pnl: data.pnl.pnlPercentage,
|
|
15762
15762
|
closeReason: data.closeReason,
|
|
15763
15763
|
duration: durationMin,
|
|
@@ -15787,7 +15787,7 @@ let ReportStorage$6 = class ReportStorage {
|
|
|
15787
15787
|
priceStopLoss: data.signal.priceStopLoss,
|
|
15788
15788
|
originalPriceTakeProfit: data.signal.originalPriceTakeProfit,
|
|
15789
15789
|
originalPriceStopLoss: data.signal.originalPriceStopLoss,
|
|
15790
|
-
|
|
15790
|
+
partialExecuted: data.signal.partialExecuted,
|
|
15791
15791
|
});
|
|
15792
15792
|
// Trim queue if exceeded MAX_EVENTS
|
|
15793
15793
|
if (this._eventList.length > MAX_EVENTS$7) {
|
|
@@ -15814,7 +15814,7 @@ let ReportStorage$6 = class ReportStorage {
|
|
|
15814
15814
|
priceStopLoss: data.signal.priceStopLoss,
|
|
15815
15815
|
originalPriceTakeProfit: data.signal.originalPriceTakeProfit,
|
|
15816
15816
|
originalPriceStopLoss: data.signal.originalPriceStopLoss,
|
|
15817
|
-
|
|
15817
|
+
partialExecuted: data.signal.partialExecuted,
|
|
15818
15818
|
percentTp: data.percentTp,
|
|
15819
15819
|
percentSl: data.percentSl,
|
|
15820
15820
|
pnl: data.pnl.pnlPercentage,
|
|
@@ -15852,7 +15852,7 @@ let ReportStorage$6 = class ReportStorage {
|
|
|
15852
15852
|
priceStopLoss: data.signal.priceStopLoss,
|
|
15853
15853
|
originalPriceTakeProfit: data.signal.originalPriceTakeProfit,
|
|
15854
15854
|
originalPriceStopLoss: data.signal.originalPriceStopLoss,
|
|
15855
|
-
|
|
15855
|
+
partialExecuted: data.signal.partialExecuted,
|
|
15856
15856
|
cancelReason: data.reason,
|
|
15857
15857
|
});
|
|
15858
15858
|
// Trim queue if exceeded MAX_EVENTS
|
|
@@ -16344,7 +16344,7 @@ let ReportStorage$5 = class ReportStorage {
|
|
|
16344
16344
|
priceStopLoss: data.signal.priceStopLoss,
|
|
16345
16345
|
originalPriceTakeProfit: data.signal.originalPriceTakeProfit,
|
|
16346
16346
|
originalPriceStopLoss: data.signal.originalPriceStopLoss,
|
|
16347
|
-
|
|
16347
|
+
partialExecuted: data.signal.partialExecuted,
|
|
16348
16348
|
});
|
|
16349
16349
|
// Trim queue if exceeded MAX_EVENTS
|
|
16350
16350
|
if (this._eventList.length > MAX_EVENTS$6) {
|
|
@@ -16372,7 +16372,7 @@ let ReportStorage$5 = class ReportStorage {
|
|
|
16372
16372
|
priceStopLoss: data.signal.priceStopLoss,
|
|
16373
16373
|
originalPriceTakeProfit: data.signal.originalPriceTakeProfit,
|
|
16374
16374
|
originalPriceStopLoss: data.signal.originalPriceStopLoss,
|
|
16375
|
-
|
|
16375
|
+
partialExecuted: data.signal.partialExecuted,
|
|
16376
16376
|
duration: durationMin,
|
|
16377
16377
|
};
|
|
16378
16378
|
this._eventList.unshift(newEvent);
|
|
@@ -16402,7 +16402,7 @@ let ReportStorage$5 = class ReportStorage {
|
|
|
16402
16402
|
priceStopLoss: data.signal.priceStopLoss,
|
|
16403
16403
|
originalPriceTakeProfit: data.signal.originalPriceTakeProfit,
|
|
16404
16404
|
originalPriceStopLoss: data.signal.originalPriceStopLoss,
|
|
16405
|
-
|
|
16405
|
+
partialExecuted: data.signal.partialExecuted,
|
|
16406
16406
|
closeTimestamp: data.closeTimestamp,
|
|
16407
16407
|
duration: durationMin,
|
|
16408
16408
|
cancelReason: data.reason,
|
|
@@ -19546,7 +19546,7 @@ let ReportStorage$3 = class ReportStorage {
|
|
|
19546
19546
|
priceStopLoss: data.priceStopLoss,
|
|
19547
19547
|
originalPriceTakeProfit: data.originalPriceTakeProfit,
|
|
19548
19548
|
originalPriceStopLoss: data.originalPriceStopLoss,
|
|
19549
|
-
|
|
19549
|
+
partialExecuted: data.partialExecuted,
|
|
19550
19550
|
note: data.note,
|
|
19551
19551
|
backtest,
|
|
19552
19552
|
});
|
|
@@ -19578,7 +19578,7 @@ let ReportStorage$3 = class ReportStorage {
|
|
|
19578
19578
|
priceStopLoss: data.priceStopLoss,
|
|
19579
19579
|
originalPriceTakeProfit: data.originalPriceTakeProfit,
|
|
19580
19580
|
originalPriceStopLoss: data.originalPriceStopLoss,
|
|
19581
|
-
|
|
19581
|
+
partialExecuted: data.partialExecuted,
|
|
19582
19582
|
note: data.note,
|
|
19583
19583
|
backtest,
|
|
19584
19584
|
});
|
|
@@ -20675,7 +20675,7 @@ let ReportStorage$2 = class ReportStorage {
|
|
|
20675
20675
|
priceStopLoss: data.priceStopLoss,
|
|
20676
20676
|
originalPriceTakeProfit: data.originalPriceTakeProfit,
|
|
20677
20677
|
originalPriceStopLoss: data.originalPriceStopLoss,
|
|
20678
|
-
|
|
20678
|
+
partialExecuted: data.partialExecuted,
|
|
20679
20679
|
note: data.note,
|
|
20680
20680
|
backtest,
|
|
20681
20681
|
});
|
|
@@ -22258,7 +22258,7 @@ class BacktestReportService {
|
|
|
22258
22258
|
priceStopLoss: data.signal?.priceStopLoss,
|
|
22259
22259
|
originalPriceTakeProfit: data.signal?.originalPriceTakeProfit,
|
|
22260
22260
|
originalPriceStopLoss: data.signal?.originalPriceStopLoss,
|
|
22261
|
-
|
|
22261
|
+
partialExecuted: data.signal?.partialExecuted,
|
|
22262
22262
|
openTime: data.signal?.pendingAt,
|
|
22263
22263
|
scheduledAt: data.signal?.scheduledAt,
|
|
22264
22264
|
minuteEstimatedTime: data.signal?.minuteEstimatedTime,
|
|
@@ -22276,7 +22276,7 @@ class BacktestReportService {
|
|
|
22276
22276
|
originalPriceTakeProfit: data.signal?.originalPriceTakeProfit,
|
|
22277
22277
|
originalPriceStopLoss: data.signal?.originalPriceStopLoss,
|
|
22278
22278
|
_partial: data.signal?._partial,
|
|
22279
|
-
|
|
22279
|
+
partialExecuted: data.signal?.partialExecuted,
|
|
22280
22280
|
openTime: data.signal?.pendingAt,
|
|
22281
22281
|
scheduledAt: data.signal?.scheduledAt,
|
|
22282
22282
|
minuteEstimatedTime: data.signal?.minuteEstimatedTime,
|
|
@@ -22301,7 +22301,7 @@ class BacktestReportService {
|
|
|
22301
22301
|
originalPriceTakeProfit: data.signal?.originalPriceTakeProfit,
|
|
22302
22302
|
originalPriceStopLoss: data.signal?.originalPriceStopLoss,
|
|
22303
22303
|
_partial: data.signal?._partial,
|
|
22304
|
-
|
|
22304
|
+
partialExecuted: data.signal?.partialExecuted,
|
|
22305
22305
|
openTime: data.signal?.pendingAt,
|
|
22306
22306
|
scheduledAt: data.signal?.scheduledAt,
|
|
22307
22307
|
minuteEstimatedTime: data.signal?.minuteEstimatedTime,
|
|
@@ -22437,7 +22437,7 @@ class LiveReportService {
|
|
|
22437
22437
|
priceStopLoss: data.signal?.priceStopLoss,
|
|
22438
22438
|
originalPriceTakeProfit: data.signal?.originalPriceTakeProfit,
|
|
22439
22439
|
originalPriceStopLoss: data.signal?.originalPriceStopLoss,
|
|
22440
|
-
|
|
22440
|
+
partialExecuted: data.signal?.partialExecuted,
|
|
22441
22441
|
scheduledAt: data.signal?.scheduledAt,
|
|
22442
22442
|
minuteEstimatedTime: data.signal?.minuteEstimatedTime,
|
|
22443
22443
|
}, { ...searchOptions, signalId: data.signal?.id });
|
|
@@ -22453,7 +22453,7 @@ class LiveReportService {
|
|
|
22453
22453
|
priceStopLoss: data.signal?.priceStopLoss,
|
|
22454
22454
|
originalPriceTakeProfit: data.signal?.originalPriceTakeProfit,
|
|
22455
22455
|
originalPriceStopLoss: data.signal?.originalPriceStopLoss,
|
|
22456
|
-
|
|
22456
|
+
partialExecuted: data.signal?.partialExecuted,
|
|
22457
22457
|
scheduledAt: data.signal?.scheduledAt,
|
|
22458
22458
|
minuteEstimatedTime: data.signal?.minuteEstimatedTime,
|
|
22459
22459
|
percentTp: data.percentTp,
|
|
@@ -22474,7 +22474,7 @@ class LiveReportService {
|
|
|
22474
22474
|
priceStopLoss: data.signal?.priceStopLoss,
|
|
22475
22475
|
originalPriceTakeProfit: data.signal?.originalPriceTakeProfit,
|
|
22476
22476
|
originalPriceStopLoss: data.signal?.originalPriceStopLoss,
|
|
22477
|
-
|
|
22477
|
+
partialExecuted: data.signal?.partialExecuted,
|
|
22478
22478
|
openTime: data.signal?.pendingAt,
|
|
22479
22479
|
scheduledAt: data.signal?.scheduledAt,
|
|
22480
22480
|
minuteEstimatedTime: data.signal?.minuteEstimatedTime,
|
|
@@ -22492,7 +22492,7 @@ class LiveReportService {
|
|
|
22492
22492
|
originalPriceTakeProfit: data.signal?.originalPriceTakeProfit,
|
|
22493
22493
|
originalPriceStopLoss: data.signal?.originalPriceStopLoss,
|
|
22494
22494
|
_partial: data.signal?._partial,
|
|
22495
|
-
|
|
22495
|
+
partialExecuted: data.signal?.partialExecuted,
|
|
22496
22496
|
openTime: data.signal?.pendingAt,
|
|
22497
22497
|
scheduledAt: data.signal?.scheduledAt,
|
|
22498
22498
|
minuteEstimatedTime: data.signal?.minuteEstimatedTime,
|
|
@@ -22517,7 +22517,7 @@ class LiveReportService {
|
|
|
22517
22517
|
originalPriceTakeProfit: data.signal?.originalPriceTakeProfit,
|
|
22518
22518
|
originalPriceStopLoss: data.signal?.originalPriceStopLoss,
|
|
22519
22519
|
_partial: data.signal?._partial,
|
|
22520
|
-
|
|
22520
|
+
partialExecuted: data.signal?.partialExecuted,
|
|
22521
22521
|
openTime: data.signal?.pendingAt,
|
|
22522
22522
|
scheduledAt: data.signal?.scheduledAt,
|
|
22523
22523
|
minuteEstimatedTime: data.signal?.minuteEstimatedTime,
|
|
@@ -22540,7 +22540,7 @@ class LiveReportService {
|
|
|
22540
22540
|
priceStopLoss: data.signal?.priceStopLoss,
|
|
22541
22541
|
originalPriceTakeProfit: data.signal?.originalPriceTakeProfit,
|
|
22542
22542
|
originalPriceStopLoss: data.signal?.originalPriceStopLoss,
|
|
22543
|
-
|
|
22543
|
+
partialExecuted: data.signal?.partialExecuted,
|
|
22544
22544
|
scheduledAt: data.signal?.scheduledAt,
|
|
22545
22545
|
minuteEstimatedTime: data.signal?.minuteEstimatedTime,
|
|
22546
22546
|
cancelReason: data.reason,
|
|
@@ -22669,7 +22669,7 @@ class ScheduleReportService {
|
|
|
22669
22669
|
priceStopLoss: data.signal?.priceStopLoss,
|
|
22670
22670
|
originalPriceTakeProfit: data.signal?.originalPriceTakeProfit,
|
|
22671
22671
|
originalPriceStopLoss: data.signal?.originalPriceStopLoss,
|
|
22672
|
-
|
|
22672
|
+
partialExecuted: data.signal?.partialExecuted,
|
|
22673
22673
|
pendingAt: data.signal?.pendingAt,
|
|
22674
22674
|
minuteEstimatedTime: data.signal?.minuteEstimatedTime,
|
|
22675
22675
|
}, searchOptions);
|
|
@@ -22690,7 +22690,7 @@ class ScheduleReportService {
|
|
|
22690
22690
|
priceStopLoss: data.signal?.priceStopLoss,
|
|
22691
22691
|
originalPriceTakeProfit: data.signal?.originalPriceTakeProfit,
|
|
22692
22692
|
originalPriceStopLoss: data.signal?.originalPriceStopLoss,
|
|
22693
|
-
|
|
22693
|
+
partialExecuted: data.signal?.partialExecuted,
|
|
22694
22694
|
scheduledAt: data.signal?.scheduledAt,
|
|
22695
22695
|
pendingAt: data.signal?.pendingAt,
|
|
22696
22696
|
minuteEstimatedTime: data.signal?.minuteEstimatedTime,
|
|
@@ -22713,7 +22713,7 @@ class ScheduleReportService {
|
|
|
22713
22713
|
priceStopLoss: data.signal?.priceStopLoss,
|
|
22714
22714
|
originalPriceTakeProfit: data.signal?.originalPriceTakeProfit,
|
|
22715
22715
|
originalPriceStopLoss: data.signal?.originalPriceStopLoss,
|
|
22716
|
-
|
|
22716
|
+
partialExecuted: data.signal?.partialExecuted,
|
|
22717
22717
|
scheduledAt: data.signal?.scheduledAt,
|
|
22718
22718
|
pendingAt: data.signal?.pendingAt,
|
|
22719
22719
|
minuteEstimatedTime: data.signal?.minuteEstimatedTime,
|
|
@@ -23184,7 +23184,7 @@ class PartialReportService {
|
|
|
23184
23184
|
priceStopLoss: data.data.priceStopLoss,
|
|
23185
23185
|
originalPriceTakeProfit: data.data.originalPriceTakeProfit,
|
|
23186
23186
|
originalPriceStopLoss: data.data.originalPriceStopLoss,
|
|
23187
|
-
|
|
23187
|
+
partialExecuted: data.data.partialExecuted,
|
|
23188
23188
|
_partial: data.data._partial,
|
|
23189
23189
|
note: data.data.note,
|
|
23190
23190
|
pendingAt: data.data.pendingAt,
|
|
@@ -23225,7 +23225,7 @@ class PartialReportService {
|
|
|
23225
23225
|
priceStopLoss: data.data.priceStopLoss,
|
|
23226
23226
|
originalPriceTakeProfit: data.data.originalPriceTakeProfit,
|
|
23227
23227
|
originalPriceStopLoss: data.data.originalPriceStopLoss,
|
|
23228
|
-
|
|
23228
|
+
partialExecuted: data.data.partialExecuted,
|
|
23229
23229
|
_partial: data.data._partial,
|
|
23230
23230
|
note: data.data.note,
|
|
23231
23231
|
pendingAt: data.data.pendingAt,
|
|
@@ -23347,7 +23347,7 @@ class BreakevenReportService {
|
|
|
23347
23347
|
priceStopLoss: data.data.priceStopLoss,
|
|
23348
23348
|
originalPriceTakeProfit: data.data.originalPriceTakeProfit,
|
|
23349
23349
|
originalPriceStopLoss: data.data.originalPriceStopLoss,
|
|
23350
|
-
|
|
23350
|
+
partialExecuted: data.data.partialExecuted,
|
|
23351
23351
|
_partial: data.data._partial,
|
|
23352
23352
|
note: data.data.note,
|
|
23353
23353
|
pendingAt: data.data.pendingAt,
|
|
@@ -23471,7 +23471,7 @@ class RiskReportService {
|
|
|
23471
23471
|
priceStopLoss: data.pendingSignal?.priceStopLoss,
|
|
23472
23472
|
originalPriceTakeProfit: data.pendingSignal?.originalPriceTakeProfit,
|
|
23473
23473
|
originalPriceStopLoss: data.pendingSignal?.originalPriceStopLoss,
|
|
23474
|
-
|
|
23474
|
+
partialExecuted: data.pendingSignal?.partialExecuted,
|
|
23475
23475
|
note: data.pendingSignal?.note,
|
|
23476
23476
|
minuteEstimatedTime: data.pendingSignal?.minuteEstimatedTime,
|
|
23477
23477
|
}, {
|
package/package.json
CHANGED
package/types.d.ts
CHANGED
|
@@ -1128,7 +1128,7 @@ interface IPublicSignalRow extends ISignalRow {
|
|
|
1128
1128
|
* Represents the total portion of the position that has been closed through partial executions.
|
|
1129
1129
|
* Range: 0-100. Value of 0 means no partial closes, 100 means position fully closed through partials.
|
|
1130
1130
|
*/
|
|
1131
|
-
|
|
1131
|
+
partialExecuted: number;
|
|
1132
1132
|
}
|
|
1133
1133
|
/**
|
|
1134
1134
|
* Storage signal row with creation timestamp taken from IStrategyTickResult.
|
|
@@ -1913,7 +1913,7 @@ interface BreakevenContract {
|
|
|
1913
1913
|
frameName: FrameName;
|
|
1914
1914
|
/**
|
|
1915
1915
|
* Complete signal row data with original prices.
|
|
1916
|
-
* Contains all signal information including originalPriceStopLoss, originalPriceTakeProfit, and
|
|
1916
|
+
* Contains all signal information including originalPriceStopLoss, originalPriceTakeProfit, and partialExecuted.
|
|
1917
1917
|
*/
|
|
1918
1918
|
data: IPublicSignalRow;
|
|
1919
1919
|
/**
|
|
@@ -1997,7 +1997,7 @@ interface PartialProfitContract {
|
|
|
1997
1997
|
frameName: FrameName;
|
|
1998
1998
|
/**
|
|
1999
1999
|
* Complete signal row data with original prices.
|
|
2000
|
-
* Contains all signal information including originalPriceStopLoss, originalPriceTakeProfit, and
|
|
2000
|
+
* Contains all signal information including originalPriceStopLoss, originalPriceTakeProfit, and partialExecuted.
|
|
2001
2001
|
*/
|
|
2002
2002
|
data: IPublicSignalRow;
|
|
2003
2003
|
/**
|
|
@@ -2097,7 +2097,7 @@ interface PartialLossContract {
|
|
|
2097
2097
|
frameName: FrameName;
|
|
2098
2098
|
/**
|
|
2099
2099
|
* Complete signal row data with original prices.
|
|
2100
|
-
* Contains all signal information including originalPriceStopLoss, originalPriceTakeProfit, and
|
|
2100
|
+
* Contains all signal information including originalPriceStopLoss, originalPriceTakeProfit, and partialExecuted.
|
|
2101
2101
|
*/
|
|
2102
2102
|
data: IPublicSignalRow;
|
|
2103
2103
|
/**
|
|
@@ -3664,7 +3664,7 @@ interface BreakevenEvent {
|
|
|
3664
3664
|
/** Original stop loss price set at signal creation */
|
|
3665
3665
|
originalPriceStopLoss?: number;
|
|
3666
3666
|
/** Total executed percentage from partial closes */
|
|
3667
|
-
|
|
3667
|
+
partialExecuted?: number;
|
|
3668
3668
|
/** Human-readable description of signal reason */
|
|
3669
3669
|
note?: string;
|
|
3670
3670
|
/** True if backtest mode, false if live mode */
|
|
@@ -6941,7 +6941,7 @@ interface TickEvent {
|
|
|
6941
6941
|
/** Original stop loss price before modifications (only for scheduled/waiting/opened/active/closed/cancelled) */
|
|
6942
6942
|
originalPriceStopLoss?: number;
|
|
6943
6943
|
/** Total executed percentage from partial closes (only for scheduled/waiting/opened/active/closed/cancelled) */
|
|
6944
|
-
|
|
6944
|
+
partialExecuted?: number;
|
|
6945
6945
|
/** Percentage progress towards take profit (only for active/waiting) */
|
|
6946
6946
|
percentTp?: number;
|
|
6947
6947
|
/** Percentage progress towards stop loss (only for active/waiting) */
|
|
@@ -7054,7 +7054,7 @@ interface ScheduledEvent {
|
|
|
7054
7054
|
/** Original stop loss price before modifications */
|
|
7055
7055
|
originalPriceStopLoss?: number;
|
|
7056
7056
|
/** Total executed percentage from partial closes */
|
|
7057
|
-
|
|
7057
|
+
partialExecuted?: number;
|
|
7058
7058
|
/** Close timestamp (only for cancelled) */
|
|
7059
7059
|
closeTimestamp?: number;
|
|
7060
7060
|
/** Duration in minutes (only for cancelled/opened) */
|
|
@@ -7232,7 +7232,7 @@ interface PartialEvent {
|
|
|
7232
7232
|
/** Original stop loss price set at signal creation */
|
|
7233
7233
|
originalPriceStopLoss?: number;
|
|
7234
7234
|
/** Total executed percentage from partial closes */
|
|
7235
|
-
|
|
7235
|
+
partialExecuted?: number;
|
|
7236
7236
|
/** Human-readable description of signal reason */
|
|
7237
7237
|
note?: string;
|
|
7238
7238
|
/** True if backtest mode, false if live mode */
|