@backtest-kit/ui 5.5.3 → 5.6.2
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 +1135 -46
- package/build/index.mjs +1136 -47
- package/build/modules/frontend/build/assets/{Background-BnanDjno.js → Background-B8kVLoJC.js} +1 -1
- package/build/modules/frontend/build/assets/{IconPhoto-Cf_hSu3z.js → IconPhoto-yqTcSjsj.js} +1 -1
- package/build/modules/frontend/build/assets/{KeyboardArrowLeft-C5vKOcAm.js → KeyboardArrowLeft-NcptneCW.js} +1 -1
- package/build/modules/frontend/build/assets/{Refresh-AyInXuzX.js → Refresh-B-6VzYmL.js} +1 -1
- package/build/modules/frontend/build/assets/hasRouteMatch-Cap76DHx.js +1 -0
- package/build/modules/frontend/build/assets/html2canvas-AeHV6o40.js +1 -0
- package/build/modules/frontend/build/assets/{index-DkX_NvhV.js → index-3FabZvCh.js} +1 -1
- package/build/modules/frontend/build/assets/{index-yCZPy3N-.js → index-BSt5rIe0.js} +9 -9
- package/build/modules/frontend/build/assets/index-BfdHWVzz.js +1331 -0
- package/build/modules/frontend/build/assets/{index-CXkLpGEW.js → index-BjR0gQPx.js} +1 -1
- package/build/modules/frontend/build/assets/index-Bov2Mvu5.js +1 -0
- package/build/modules/frontend/build/assets/{index-CE-T-vGF.js → index-DTb7GKw2.js} +1 -1
- package/build/modules/frontend/build/assets/{index-DoIVKvQl.js → index-eGg7QpVp.js} +1 -1
- package/build/modules/frontend/build/assets/index-mEY60b54.js +1 -0
- package/build/modules/frontend/build/assets/index.es-BkDLGtAB.js +16 -0
- package/build/modules/frontend/build/assets/markdownit-_uLqTUbF.js +1 -0
- package/build/modules/frontend/build/assets/purify.es-DpMHVkxQ.js +2 -0
- package/build/modules/frontend/build/index.html +1 -1
- package/package.json +3 -3
- package/types.d.ts +84 -0
- package/build/modules/frontend/build/assets/index-Cq_yjKn2.js +0 -1
- package/build/modules/frontend/build/assets/index-DLUKIYme.js +0 -1
package/build/index.cjs
CHANGED
|
@@ -20,10 +20,10 @@ const CC_WWWROOT_HOST = process.env.CC_WWWROOT_HOST || "0.0.0.0";
|
|
|
20
20
|
const CC_WWWROOT_PORT = parseInt(process.env.CC_WWWROOT_PORT) || 60050;
|
|
21
21
|
const CC_ENABLE_MOCK = !!parseInt(process.env.CC_ENABLE_MOCK) || false;
|
|
22
22
|
|
|
23
|
-
const router$
|
|
23
|
+
const router$9 = Router({
|
|
24
24
|
params: true,
|
|
25
25
|
});
|
|
26
|
-
router$
|
|
26
|
+
router$9.get("/api/v1/health/health_check", async (req, res) => {
|
|
27
27
|
const [cpuLoad] = os.loadavg();
|
|
28
28
|
return await micro.send(res, 200, {
|
|
29
29
|
uptime: process.uptime(),
|
|
@@ -62,6 +62,8 @@ const connectionServices$1 = {
|
|
|
62
62
|
};
|
|
63
63
|
const metaServices$1 = {
|
|
64
64
|
symbolMetaService: Symbol("symbolMetaService"),
|
|
65
|
+
backtestMetaService: Symbol("backtestMetaService"),
|
|
66
|
+
liveMetaService: Symbol("liveMetaService"),
|
|
65
67
|
};
|
|
66
68
|
const mockServices$1 = {
|
|
67
69
|
notificationMockService: Symbol("notificationMockService"),
|
|
@@ -69,6 +71,7 @@ const mockServices$1 = {
|
|
|
69
71
|
exchangeMockService: Symbol("exchangeMockService"),
|
|
70
72
|
logMockService: Symbol("logMockService"),
|
|
71
73
|
statusMockService: Symbol("statusMockService"),
|
|
74
|
+
markdownMockService: Symbol("markdownMockService"),
|
|
72
75
|
};
|
|
73
76
|
const viewServices$1 = {
|
|
74
77
|
notificationViewService: Symbol("notificationViewService"),
|
|
@@ -76,6 +79,7 @@ const viewServices$1 = {
|
|
|
76
79
|
exchangeViewService: Symbol("exchangeViewService"),
|
|
77
80
|
logViewService: Symbol("logViewService"),
|
|
78
81
|
statusViewService: Symbol("statusViewService"),
|
|
82
|
+
markdownViewService: Symbol("markdownViewService"),
|
|
79
83
|
};
|
|
80
84
|
const TYPES = {
|
|
81
85
|
...baseServices$1,
|
|
@@ -435,6 +439,147 @@ class StatusMockService {
|
|
|
435
439
|
}
|
|
436
440
|
}
|
|
437
441
|
|
|
442
|
+
const MOCK_DIR = "./mock/markdown";
|
|
443
|
+
const makeReader = (fileName) => functoolsKit.singleshot(() => fs.readFile(path.join(MOCK_DIR, fileName), "utf-8"));
|
|
444
|
+
const makeDataReader = (fileName) => functoolsKit.singleshot(async () => JSON.parse(await fs.readFile(path.join(MOCK_DIR, "data", fileName), "utf-8")));
|
|
445
|
+
const readBacktest = makeReader("backtest.md");
|
|
446
|
+
const readStrategy = makeReader("strategy.md");
|
|
447
|
+
const readLive = makeReader("live.md");
|
|
448
|
+
const readBreakeven = makeReader("breakeven.md");
|
|
449
|
+
const readRisk = makeReader("risk.md");
|
|
450
|
+
const readPartial = makeReader("partial.md");
|
|
451
|
+
const readHighestProfit = makeReader("highest_profit.md");
|
|
452
|
+
const readSchedule = makeReader("schedule.md");
|
|
453
|
+
const readPerformance = makeReader("performance.md");
|
|
454
|
+
const readSync = makeReader("sync.md");
|
|
455
|
+
const readHeat = makeReader("heat.md");
|
|
456
|
+
const readWalker = makeReader("walker.md");
|
|
457
|
+
const readBacktestData = makeDataReader("backtest.json");
|
|
458
|
+
const readStrategyData = makeDataReader("strategy.json");
|
|
459
|
+
const readLiveData = makeDataReader("live.json");
|
|
460
|
+
const readBreakevenData = makeDataReader("breakeven.json");
|
|
461
|
+
const readRiskData = makeDataReader("risk.json");
|
|
462
|
+
const readPartialData = makeDataReader("partial.json");
|
|
463
|
+
const readHighestProfitData = makeDataReader("highest_profit.json");
|
|
464
|
+
const readScheduleData = makeDataReader("schedule.json");
|
|
465
|
+
const readPerformanceData = makeDataReader("performance.json");
|
|
466
|
+
const readSyncData = makeDataReader("sync.json");
|
|
467
|
+
const readHeatData = makeDataReader("heat.json");
|
|
468
|
+
const readWalkerData = makeDataReader("walker.json");
|
|
469
|
+
class MarkdownMockService {
|
|
470
|
+
constructor() {
|
|
471
|
+
this.loggerService = inject(TYPES.loggerService);
|
|
472
|
+
// Strategy
|
|
473
|
+
this.getStrategyData = async (symbol, strategyName, exchangeName, frameName) => {
|
|
474
|
+
this.loggerService.log("markdownMockService getStrategyData", { symbol, strategyName, exchangeName, frameName });
|
|
475
|
+
return readStrategyData();
|
|
476
|
+
};
|
|
477
|
+
this.getStrategyReport = async (symbol, strategyName, exchangeName, frameName) => {
|
|
478
|
+
this.loggerService.log("markdownMockService getStrategyReport", { symbol, strategyName, exchangeName, frameName });
|
|
479
|
+
return readStrategy();
|
|
480
|
+
};
|
|
481
|
+
// Backtest
|
|
482
|
+
this.getBacktestData = async (symbol, strategyName, exchangeName, frameName) => {
|
|
483
|
+
this.loggerService.log("markdownMockService getBacktestData", { symbol, strategyName, exchangeName, frameName });
|
|
484
|
+
return readBacktestData();
|
|
485
|
+
};
|
|
486
|
+
this.getBacktestReport = async (symbol, strategyName, exchangeName, frameName) => {
|
|
487
|
+
this.loggerService.log("markdownMockService getBacktestReport", { symbol, strategyName, exchangeName, frameName });
|
|
488
|
+
return readBacktest();
|
|
489
|
+
};
|
|
490
|
+
// Live
|
|
491
|
+
this.getLiveData = async (symbol, strategyName, exchangeName) => {
|
|
492
|
+
this.loggerService.log("markdownMockService getLiveData", { symbol, strategyName, exchangeName });
|
|
493
|
+
return readLiveData();
|
|
494
|
+
};
|
|
495
|
+
this.getLiveReport = async (symbol, strategyName, exchangeName) => {
|
|
496
|
+
this.loggerService.log("markdownMockService getLiveReport", { symbol, strategyName, exchangeName });
|
|
497
|
+
return readLive();
|
|
498
|
+
};
|
|
499
|
+
// Breakeven
|
|
500
|
+
this.getBreakevenData = async (symbol, strategyName, exchangeName, frameName) => {
|
|
501
|
+
this.loggerService.log("markdownMockService getBreakevenData", { symbol, strategyName, exchangeName, frameName });
|
|
502
|
+
return readBreakevenData();
|
|
503
|
+
};
|
|
504
|
+
this.getBreakevenReport = async (symbol, strategyName, exchangeName, frameName) => {
|
|
505
|
+
this.loggerService.log("markdownMockService getBreakevenReport", { symbol, strategyName, exchangeName, frameName });
|
|
506
|
+
return readBreakeven();
|
|
507
|
+
};
|
|
508
|
+
// Risk
|
|
509
|
+
this.getRiskData = async (symbol, strategyName, exchangeName, frameName) => {
|
|
510
|
+
this.loggerService.log("markdownMockService getRiskData", { symbol, strategyName, exchangeName, frameName });
|
|
511
|
+
return readRiskData();
|
|
512
|
+
};
|
|
513
|
+
this.getRiskReport = async (symbol, strategyName, exchangeName, frameName) => {
|
|
514
|
+
this.loggerService.log("markdownMockService getRiskReport", { symbol, strategyName, exchangeName, frameName });
|
|
515
|
+
return readRisk();
|
|
516
|
+
};
|
|
517
|
+
// Partial
|
|
518
|
+
this.getPartialData = async (symbol, strategyName, exchangeName, frameName) => {
|
|
519
|
+
this.loggerService.log("markdownMockService getPartialData", { symbol, strategyName, exchangeName, frameName });
|
|
520
|
+
return readPartialData();
|
|
521
|
+
};
|
|
522
|
+
this.getPartialReport = async (symbol, strategyName, exchangeName, frameName) => {
|
|
523
|
+
this.loggerService.log("markdownMockService getPartialReport", { symbol, strategyName, exchangeName, frameName });
|
|
524
|
+
return readPartial();
|
|
525
|
+
};
|
|
526
|
+
// HighestProfit
|
|
527
|
+
this.getHighestProfitData = async (symbol, strategyName, exchangeName, frameName) => {
|
|
528
|
+
this.loggerService.log("markdownMockService getHighestProfitData", { symbol, strategyName, exchangeName, frameName });
|
|
529
|
+
return readHighestProfitData();
|
|
530
|
+
};
|
|
531
|
+
this.getHighestProfitReport = async (symbol, strategyName, exchangeName, frameName) => {
|
|
532
|
+
this.loggerService.log("markdownMockService getHighestProfitReport", { symbol, strategyName, exchangeName, frameName });
|
|
533
|
+
return readHighestProfit();
|
|
534
|
+
};
|
|
535
|
+
// Schedule
|
|
536
|
+
this.getScheduleData = async (symbol, strategyName, exchangeName, frameName) => {
|
|
537
|
+
this.loggerService.log("markdownMockService getScheduleData", { symbol, strategyName, exchangeName, frameName });
|
|
538
|
+
return readScheduleData();
|
|
539
|
+
};
|
|
540
|
+
this.getScheduleReport = async (symbol, strategyName, exchangeName, frameName) => {
|
|
541
|
+
this.loggerService.log("markdownMockService getScheduleReport", { symbol, strategyName, exchangeName, frameName });
|
|
542
|
+
return readSchedule();
|
|
543
|
+
};
|
|
544
|
+
// Performance
|
|
545
|
+
this.getPerformanceData = async (symbol, strategyName, exchangeName, frameName) => {
|
|
546
|
+
this.loggerService.log("markdownMockService getPerformanceData", { symbol, strategyName, exchangeName, frameName });
|
|
547
|
+
return readPerformanceData();
|
|
548
|
+
};
|
|
549
|
+
this.getPerformanceReport = async (symbol, strategyName, exchangeName, frameName) => {
|
|
550
|
+
this.loggerService.log("markdownMockService getPerformanceReport", { symbol, strategyName, exchangeName, frameName });
|
|
551
|
+
return readPerformance();
|
|
552
|
+
};
|
|
553
|
+
// Sync
|
|
554
|
+
this.getSyncData = async (symbol, strategyName, exchangeName, frameName) => {
|
|
555
|
+
this.loggerService.log("markdownMockService getSyncData", { symbol, strategyName, exchangeName, frameName });
|
|
556
|
+
return readSyncData();
|
|
557
|
+
};
|
|
558
|
+
this.getSyncReport = async (symbol, strategyName, exchangeName, frameName) => {
|
|
559
|
+
this.loggerService.log("markdownMockService getSyncReport", { symbol, strategyName, exchangeName, frameName });
|
|
560
|
+
return readSync();
|
|
561
|
+
};
|
|
562
|
+
// Heat
|
|
563
|
+
this.getHeatData = async (strategyName, exchangeName, frameName) => {
|
|
564
|
+
this.loggerService.log("markdownMockService getHeatData", { strategyName, exchangeName, frameName });
|
|
565
|
+
return readHeatData();
|
|
566
|
+
};
|
|
567
|
+
this.getHeatReport = async (strategyName, exchangeName, frameName) => {
|
|
568
|
+
this.loggerService.log("markdownMockService getHeatReport", { strategyName, exchangeName, frameName });
|
|
569
|
+
return readHeat();
|
|
570
|
+
};
|
|
571
|
+
// Walker
|
|
572
|
+
this.getWalkerData = async (symbol, walkerName) => {
|
|
573
|
+
this.loggerService.log("markdownMockService getWalkerData", { symbol, walkerName });
|
|
574
|
+
return readWalkerData();
|
|
575
|
+
};
|
|
576
|
+
this.getWalkerReport = async (symbol, walkerName) => {
|
|
577
|
+
this.loggerService.log("markdownMockService getWalkerReport", { symbol, walkerName });
|
|
578
|
+
return readWalker();
|
|
579
|
+
};
|
|
580
|
+
}
|
|
581
|
+
}
|
|
582
|
+
|
|
438
583
|
const DEFAULT_LIMIT$1 = 25;
|
|
439
584
|
const DEFAULT_OFFSET$1 = 0;
|
|
440
585
|
const CREATE_FILTER_LIST_FN$1 = (filterData) => Object.keys(filterData).map((key) => (row) => new RegExp(filterData[key], "i").test(row[key]));
|
|
@@ -781,6 +926,193 @@ class StatusViewService {
|
|
|
781
926
|
}
|
|
782
927
|
}
|
|
783
928
|
|
|
929
|
+
class MarkdownViewService {
|
|
930
|
+
constructor() {
|
|
931
|
+
this.loggerService = inject(TYPES.loggerService);
|
|
932
|
+
this.markdownMockService = inject(TYPES.markdownMockService);
|
|
933
|
+
// Strategy
|
|
934
|
+
this.getStrategyData = async (symbol, strategyName, exchangeName, frameName, backtest = false) => {
|
|
935
|
+
this.loggerService.log("markdownViewService getStrategyData", { symbol, strategyName, exchangeName, frameName, backtest });
|
|
936
|
+
if (CC_ENABLE_MOCK) {
|
|
937
|
+
return await this.markdownMockService.getStrategyData(symbol, strategyName, exchangeName, frameName);
|
|
938
|
+
}
|
|
939
|
+
return await backtestKit.Strategy.getData(symbol, { strategyName, exchangeName, frameName }, backtest);
|
|
940
|
+
};
|
|
941
|
+
this.getStrategyReport = async (symbol, strategyName, exchangeName, frameName, backtest = false) => {
|
|
942
|
+
this.loggerService.log("markdownViewService getStrategyReport", { symbol, strategyName, exchangeName, frameName, backtest });
|
|
943
|
+
if (CC_ENABLE_MOCK) {
|
|
944
|
+
return await this.markdownMockService.getStrategyReport(symbol, strategyName, exchangeName, frameName);
|
|
945
|
+
}
|
|
946
|
+
return await backtestKit.Strategy.getReport(symbol, { strategyName, exchangeName, frameName }, backtest);
|
|
947
|
+
};
|
|
948
|
+
// Backtest
|
|
949
|
+
this.getBacktestData = async (symbol, strategyName, exchangeName, frameName) => {
|
|
950
|
+
this.loggerService.log("markdownViewService getBacktestData", { symbol, strategyName, exchangeName, frameName });
|
|
951
|
+
if (CC_ENABLE_MOCK) {
|
|
952
|
+
return await this.markdownMockService.getBacktestData(symbol, strategyName, exchangeName, frameName);
|
|
953
|
+
}
|
|
954
|
+
return await backtestKit.Backtest.getData(symbol, { strategyName, exchangeName, frameName });
|
|
955
|
+
};
|
|
956
|
+
this.getBacktestReport = async (symbol, strategyName, exchangeName, frameName) => {
|
|
957
|
+
this.loggerService.log("markdownViewService getBacktestReport", { symbol, strategyName, exchangeName, frameName });
|
|
958
|
+
if (CC_ENABLE_MOCK) {
|
|
959
|
+
return await this.markdownMockService.getBacktestReport(symbol, strategyName, exchangeName, frameName);
|
|
960
|
+
}
|
|
961
|
+
return await backtestKit.Backtest.getReport(symbol, { strategyName, exchangeName, frameName });
|
|
962
|
+
};
|
|
963
|
+
// Live
|
|
964
|
+
this.getLiveData = async (symbol, strategyName, exchangeName) => {
|
|
965
|
+
this.loggerService.log("markdownViewService getLiveData", { symbol, strategyName, exchangeName });
|
|
966
|
+
if (CC_ENABLE_MOCK) {
|
|
967
|
+
return await this.markdownMockService.getLiveData(symbol, strategyName, exchangeName);
|
|
968
|
+
}
|
|
969
|
+
return await backtestKit.Live.getData(symbol, { strategyName, exchangeName });
|
|
970
|
+
};
|
|
971
|
+
this.getLiveReport = async (symbol, strategyName, exchangeName) => {
|
|
972
|
+
this.loggerService.log("markdownViewService getLiveReport", { symbol, strategyName, exchangeName });
|
|
973
|
+
if (CC_ENABLE_MOCK) {
|
|
974
|
+
return await this.markdownMockService.getLiveReport(symbol, strategyName, exchangeName);
|
|
975
|
+
}
|
|
976
|
+
return await backtestKit.Live.getReport(symbol, { strategyName, exchangeName });
|
|
977
|
+
};
|
|
978
|
+
// Breakeven
|
|
979
|
+
this.getBreakevenData = async (symbol, strategyName, exchangeName, frameName, backtest = false) => {
|
|
980
|
+
this.loggerService.log("markdownViewService getBreakevenData", { symbol, strategyName, exchangeName, frameName, backtest });
|
|
981
|
+
if (CC_ENABLE_MOCK) {
|
|
982
|
+
return await this.markdownMockService.getBreakevenData(symbol, strategyName, exchangeName, frameName);
|
|
983
|
+
}
|
|
984
|
+
return await backtestKit.Breakeven.getData(symbol, { strategyName, exchangeName, frameName }, backtest);
|
|
985
|
+
};
|
|
986
|
+
this.getBreakevenReport = async (symbol, strategyName, exchangeName, frameName, backtest = false) => {
|
|
987
|
+
this.loggerService.log("markdownViewService getBreakevenReport", { symbol, strategyName, exchangeName, frameName, backtest });
|
|
988
|
+
if (CC_ENABLE_MOCK) {
|
|
989
|
+
return await this.markdownMockService.getBreakevenReport(symbol, strategyName, exchangeName, frameName);
|
|
990
|
+
}
|
|
991
|
+
return await backtestKit.Breakeven.getReport(symbol, { strategyName, exchangeName, frameName }, backtest);
|
|
992
|
+
};
|
|
993
|
+
// Risk
|
|
994
|
+
this.getRiskData = async (symbol, strategyName, exchangeName, frameName, backtest = false) => {
|
|
995
|
+
this.loggerService.log("markdownViewService getRiskData", { symbol, strategyName, exchangeName, frameName, backtest });
|
|
996
|
+
if (CC_ENABLE_MOCK) {
|
|
997
|
+
return await this.markdownMockService.getRiskData(symbol, strategyName, exchangeName, frameName);
|
|
998
|
+
}
|
|
999
|
+
return await backtestKit.Risk.getData(symbol, { strategyName, exchangeName, frameName }, backtest);
|
|
1000
|
+
};
|
|
1001
|
+
this.getRiskReport = async (symbol, strategyName, exchangeName, frameName, backtest = false) => {
|
|
1002
|
+
this.loggerService.log("markdownViewService getRiskReport", { symbol, strategyName, exchangeName, frameName, backtest });
|
|
1003
|
+
if (CC_ENABLE_MOCK) {
|
|
1004
|
+
return await this.markdownMockService.getRiskReport(symbol, strategyName, exchangeName, frameName);
|
|
1005
|
+
}
|
|
1006
|
+
return await backtestKit.Risk.getReport(symbol, { strategyName, exchangeName, frameName }, backtest);
|
|
1007
|
+
};
|
|
1008
|
+
// Partial
|
|
1009
|
+
this.getPartialData = async (symbol, strategyName, exchangeName, frameName, backtest = false) => {
|
|
1010
|
+
this.loggerService.log("markdownViewService getPartialData", { symbol, strategyName, exchangeName, frameName, backtest });
|
|
1011
|
+
if (CC_ENABLE_MOCK) {
|
|
1012
|
+
return await this.markdownMockService.getPartialData(symbol, strategyName, exchangeName, frameName);
|
|
1013
|
+
}
|
|
1014
|
+
return await backtestKit.Partial.getData(symbol, { strategyName, exchangeName, frameName }, backtest);
|
|
1015
|
+
};
|
|
1016
|
+
this.getPartialReport = async (symbol, strategyName, exchangeName, frameName, backtest = false) => {
|
|
1017
|
+
this.loggerService.log("markdownViewService getPartialReport", { symbol, strategyName, exchangeName, frameName, backtest });
|
|
1018
|
+
if (CC_ENABLE_MOCK) {
|
|
1019
|
+
return await this.markdownMockService.getPartialReport(symbol, strategyName, exchangeName, frameName);
|
|
1020
|
+
}
|
|
1021
|
+
return await backtestKit.Partial.getReport(symbol, { strategyName, exchangeName, frameName }, backtest);
|
|
1022
|
+
};
|
|
1023
|
+
// HighestProfit
|
|
1024
|
+
this.getHighestProfitData = async (symbol, strategyName, exchangeName, frameName, backtest = false) => {
|
|
1025
|
+
this.loggerService.log("markdownViewService getHighestProfitData", { symbol, strategyName, exchangeName, frameName, backtest });
|
|
1026
|
+
if (CC_ENABLE_MOCK) {
|
|
1027
|
+
return await this.markdownMockService.getHighestProfitData(symbol, strategyName, exchangeName, frameName);
|
|
1028
|
+
}
|
|
1029
|
+
return await backtestKit.HighestProfit.getData(symbol, { strategyName, exchangeName, frameName }, backtest);
|
|
1030
|
+
};
|
|
1031
|
+
this.getHighestProfitReport = async (symbol, strategyName, exchangeName, frameName, backtest = false) => {
|
|
1032
|
+
this.loggerService.log("markdownViewService getHighestProfitReport", { symbol, strategyName, exchangeName, frameName, backtest });
|
|
1033
|
+
if (CC_ENABLE_MOCK) {
|
|
1034
|
+
return await this.markdownMockService.getHighestProfitReport(symbol, strategyName, exchangeName, frameName);
|
|
1035
|
+
}
|
|
1036
|
+
return await backtestKit.HighestProfit.getReport(symbol, { strategyName, exchangeName, frameName }, backtest);
|
|
1037
|
+
};
|
|
1038
|
+
// Schedule
|
|
1039
|
+
this.getScheduleData = async (symbol, strategyName, exchangeName, frameName, backtest = false) => {
|
|
1040
|
+
this.loggerService.log("markdownViewService getScheduleData", { symbol, strategyName, exchangeName, frameName, backtest });
|
|
1041
|
+
if (CC_ENABLE_MOCK) {
|
|
1042
|
+
return await this.markdownMockService.getScheduleData(symbol, strategyName, exchangeName, frameName);
|
|
1043
|
+
}
|
|
1044
|
+
return await backtestKit.Schedule.getData(symbol, { strategyName, exchangeName, frameName }, backtest);
|
|
1045
|
+
};
|
|
1046
|
+
this.getScheduleReport = async (symbol, strategyName, exchangeName, frameName, backtest = false) => {
|
|
1047
|
+
this.loggerService.log("markdownViewService getScheduleReport", { symbol, strategyName, exchangeName, frameName, backtest });
|
|
1048
|
+
if (CC_ENABLE_MOCK) {
|
|
1049
|
+
return await this.markdownMockService.getScheduleReport(symbol, strategyName, exchangeName, frameName);
|
|
1050
|
+
}
|
|
1051
|
+
return await backtestKit.Schedule.getReport(symbol, { strategyName, exchangeName, frameName }, backtest);
|
|
1052
|
+
};
|
|
1053
|
+
// Performance
|
|
1054
|
+
this.getPerformanceData = async (symbol, strategyName, exchangeName, frameName, backtest = false) => {
|
|
1055
|
+
this.loggerService.log("markdownViewService getPerformanceData", { symbol, strategyName, exchangeName, frameName, backtest });
|
|
1056
|
+
if (CC_ENABLE_MOCK) {
|
|
1057
|
+
return await this.markdownMockService.getPerformanceData(symbol, strategyName, exchangeName, frameName);
|
|
1058
|
+
}
|
|
1059
|
+
return await backtestKit.Performance.getData(symbol, { strategyName, exchangeName, frameName }, backtest);
|
|
1060
|
+
};
|
|
1061
|
+
this.getPerformanceReport = async (symbol, strategyName, exchangeName, frameName, backtest = false) => {
|
|
1062
|
+
this.loggerService.log("markdownViewService getPerformanceReport", { symbol, strategyName, exchangeName, frameName, backtest });
|
|
1063
|
+
if (CC_ENABLE_MOCK) {
|
|
1064
|
+
return await this.markdownMockService.getPerformanceReport(symbol, strategyName, exchangeName, frameName);
|
|
1065
|
+
}
|
|
1066
|
+
return await backtestKit.Performance.getReport(symbol, { strategyName, exchangeName, frameName }, backtest);
|
|
1067
|
+
};
|
|
1068
|
+
// Sync
|
|
1069
|
+
this.getSyncData = async (symbol, strategyName, exchangeName, frameName, backtest = false) => {
|
|
1070
|
+
this.loggerService.log("markdownViewService getSyncData", { symbol, strategyName, exchangeName, frameName, backtest });
|
|
1071
|
+
if (CC_ENABLE_MOCK) {
|
|
1072
|
+
return await this.markdownMockService.getSyncData(symbol, strategyName, exchangeName, frameName);
|
|
1073
|
+
}
|
|
1074
|
+
return await backtestKit.Sync.getData(symbol, { strategyName, exchangeName, frameName }, backtest);
|
|
1075
|
+
};
|
|
1076
|
+
this.getSyncReport = async (symbol, strategyName, exchangeName, frameName, backtest = false) => {
|
|
1077
|
+
this.loggerService.log("markdownViewService getSyncReport", { symbol, strategyName, exchangeName, frameName, backtest });
|
|
1078
|
+
if (CC_ENABLE_MOCK) {
|
|
1079
|
+
return await this.markdownMockService.getSyncReport(symbol, strategyName, exchangeName, frameName);
|
|
1080
|
+
}
|
|
1081
|
+
return await backtestKit.Sync.getReport(symbol, { strategyName, exchangeName, frameName }, backtest);
|
|
1082
|
+
};
|
|
1083
|
+
// Heat
|
|
1084
|
+
this.getHeatData = async (strategyName, exchangeName, frameName, backtest = false) => {
|
|
1085
|
+
this.loggerService.log("markdownViewService getHeatData", { strategyName, exchangeName, frameName, backtest });
|
|
1086
|
+
if (CC_ENABLE_MOCK) {
|
|
1087
|
+
return await this.markdownMockService.getHeatData(strategyName, exchangeName, frameName);
|
|
1088
|
+
}
|
|
1089
|
+
return await backtestKit.Heat.getData({ strategyName, exchangeName, frameName }, backtest);
|
|
1090
|
+
};
|
|
1091
|
+
this.getHeatReport = async (strategyName, exchangeName, frameName, backtest = false) => {
|
|
1092
|
+
this.loggerService.log("markdownViewService getHeatReport", { strategyName, exchangeName, frameName, backtest });
|
|
1093
|
+
if (CC_ENABLE_MOCK) {
|
|
1094
|
+
return await this.markdownMockService.getHeatReport(strategyName, exchangeName, frameName);
|
|
1095
|
+
}
|
|
1096
|
+
return await backtestKit.Heat.getReport({ strategyName, exchangeName, frameName }, backtest);
|
|
1097
|
+
};
|
|
1098
|
+
// Walker
|
|
1099
|
+
this.getWalkerData = async (symbol, walkerName) => {
|
|
1100
|
+
this.loggerService.log("markdownViewService getWalkerData", { symbol, walkerName });
|
|
1101
|
+
if (CC_ENABLE_MOCK) {
|
|
1102
|
+
return await this.markdownMockService.getWalkerData(symbol, walkerName);
|
|
1103
|
+
}
|
|
1104
|
+
return await backtestKit.Walker.getData(symbol, { walkerName });
|
|
1105
|
+
};
|
|
1106
|
+
this.getWalkerReport = async (symbol, walkerName) => {
|
|
1107
|
+
this.loggerService.log("markdownViewService getWalkerReport", { symbol, walkerName });
|
|
1108
|
+
if (CC_ENABLE_MOCK) {
|
|
1109
|
+
return await this.markdownMockService.getWalkerReport(symbol, walkerName);
|
|
1110
|
+
}
|
|
1111
|
+
return await backtestKit.Walker.getReport(symbol, { walkerName });
|
|
1112
|
+
};
|
|
1113
|
+
}
|
|
1114
|
+
}
|
|
1115
|
+
|
|
784
1116
|
const symbol_list = [
|
|
785
1117
|
{
|
|
786
1118
|
icon: "/icon/btc.png",
|
|
@@ -922,6 +1254,41 @@ class PriceConnectionService {
|
|
|
922
1254
|
}
|
|
923
1255
|
}
|
|
924
1256
|
|
|
1257
|
+
const BACKTEST_LIST = [
|
|
1258
|
+
{ id: "mock-backtest-1", symbol: "BTCUSDT", strategyName: "mock-strategy", exchangeName: "binance", frameName: "1m", status: "done" },
|
|
1259
|
+
{ id: "mock-backtest-2", symbol: "ETHUSDT", strategyName: "mock-strategy", exchangeName: "binance", frameName: "1m", status: "running" },
|
|
1260
|
+
{ id: "mock-backtest-3", symbol: "BNBUSDT", strategyName: "mock-strategy", exchangeName: "binance", frameName: "1m", status: "idle" },
|
|
1261
|
+
];
|
|
1262
|
+
class BacktestMetaService {
|
|
1263
|
+
constructor() {
|
|
1264
|
+
this.loggerService = inject(TYPES.loggerService);
|
|
1265
|
+
this.list = async () => {
|
|
1266
|
+
this.loggerService.log("backtestMetaService list");
|
|
1267
|
+
if (CC_ENABLE_MOCK) {
|
|
1268
|
+
return BACKTEST_LIST;
|
|
1269
|
+
}
|
|
1270
|
+
return await backtestKit.Backtest.list();
|
|
1271
|
+
};
|
|
1272
|
+
}
|
|
1273
|
+
}
|
|
1274
|
+
|
|
1275
|
+
const LIVE_LIST = [
|
|
1276
|
+
{ id: "mock-live-1", symbol: "BTCUSDT", strategyName: "mock-strategy", exchangeName: "binance", status: "running" },
|
|
1277
|
+
{ id: "mock-live-2", symbol: "ETHUSDT", strategyName: "mock-strategy", exchangeName: "binance", status: "idle" },
|
|
1278
|
+
];
|
|
1279
|
+
class LiveMetaService {
|
|
1280
|
+
constructor() {
|
|
1281
|
+
this.loggerService = inject(TYPES.loggerService);
|
|
1282
|
+
this.list = async () => {
|
|
1283
|
+
this.loggerService.log("liveMetaService list");
|
|
1284
|
+
if (CC_ENABLE_MOCK) {
|
|
1285
|
+
return LIVE_LIST;
|
|
1286
|
+
}
|
|
1287
|
+
return await backtestKit.Live.list();
|
|
1288
|
+
};
|
|
1289
|
+
}
|
|
1290
|
+
}
|
|
1291
|
+
|
|
925
1292
|
{
|
|
926
1293
|
provide(TYPES.loggerService, () => new LoggerService());
|
|
927
1294
|
provide(TYPES.exchangeService, () => new ExchangeService());
|
|
@@ -931,7 +1298,9 @@ class PriceConnectionService {
|
|
|
931
1298
|
provide(TYPES.priceConnectionService, () => new PriceConnectionService());
|
|
932
1299
|
}
|
|
933
1300
|
{
|
|
1301
|
+
provide(TYPES.liveMetaService, () => new LiveMetaService());
|
|
934
1302
|
provide(TYPES.symbolMetaService, () => new SymbolMetaService());
|
|
1303
|
+
provide(TYPES.backtestMetaService, () => new BacktestMetaService());
|
|
935
1304
|
}
|
|
936
1305
|
{
|
|
937
1306
|
provide(TYPES.notificationMockService, () => new NotificationMockService());
|
|
@@ -939,6 +1308,7 @@ class PriceConnectionService {
|
|
|
939
1308
|
provide(TYPES.exchangeMockService, () => new ExchangeMockService());
|
|
940
1309
|
provide(TYPES.logMockService, () => new LogMockService());
|
|
941
1310
|
provide(TYPES.statusMockService, () => new StatusMockService());
|
|
1311
|
+
provide(TYPES.markdownMockService, () => new MarkdownMockService());
|
|
942
1312
|
}
|
|
943
1313
|
{
|
|
944
1314
|
provide(TYPES.notificationViewService, () => new NotificationViewService());
|
|
@@ -946,6 +1316,7 @@ class PriceConnectionService {
|
|
|
946
1316
|
provide(TYPES.exchangeViewService, () => new ExchangeViewService());
|
|
947
1317
|
provide(TYPES.logViewService, () => new LogViewService());
|
|
948
1318
|
provide(TYPES.statusViewService, () => new StatusViewService());
|
|
1319
|
+
provide(TYPES.markdownViewService, () => new MarkdownViewService());
|
|
949
1320
|
}
|
|
950
1321
|
|
|
951
1322
|
const baseServices = {
|
|
@@ -957,7 +1328,9 @@ const connectionServices = {
|
|
|
957
1328
|
priceConnectionService: inject(TYPES.priceConnectionService),
|
|
958
1329
|
};
|
|
959
1330
|
const metaServices = {
|
|
1331
|
+
liveMetaService: inject(TYPES.liveMetaService),
|
|
960
1332
|
symbolMetaService: inject(TYPES.symbolMetaService),
|
|
1333
|
+
backtestMetaService: inject(TYPES.backtestMetaService),
|
|
961
1334
|
};
|
|
962
1335
|
const mockServices = {
|
|
963
1336
|
notificationMockService: inject(TYPES.notificationMockService),
|
|
@@ -965,6 +1338,7 @@ const mockServices = {
|
|
|
965
1338
|
exchangeMockService: inject(TYPES.exchangeMockService),
|
|
966
1339
|
logMockService: inject(TYPES.logMockService),
|
|
967
1340
|
statusMockService: inject(TYPES.statusMockService),
|
|
1341
|
+
markdownMockService: inject(TYPES.markdownMockService),
|
|
968
1342
|
};
|
|
969
1343
|
const viewServices = {
|
|
970
1344
|
notificationViewService: inject(TYPES.notificationViewService),
|
|
@@ -972,6 +1346,7 @@ const viewServices = {
|
|
|
972
1346
|
exchangeViewService: inject(TYPES.exchangeViewService),
|
|
973
1347
|
logViewService: inject(TYPES.logViewService),
|
|
974
1348
|
statusViewService: inject(TYPES.statusViewService),
|
|
1349
|
+
markdownViewService: inject(TYPES.markdownViewService),
|
|
975
1350
|
};
|
|
976
1351
|
const ioc = {
|
|
977
1352
|
...baseServices,
|
|
@@ -982,11 +1357,11 @@ const ioc = {
|
|
|
982
1357
|
};
|
|
983
1358
|
init();
|
|
984
1359
|
|
|
985
|
-
const router$
|
|
1360
|
+
const router$8 = Router({
|
|
986
1361
|
params: true,
|
|
987
1362
|
});
|
|
988
1363
|
// ExchangeMockService endpoints
|
|
989
|
-
router$
|
|
1364
|
+
router$8.post("/api/v1/mock/candles_signal", async (req, res) => {
|
|
990
1365
|
try {
|
|
991
1366
|
const request = await micro.json(req);
|
|
992
1367
|
const { signalId, interval, requestId, serviceName } = request;
|
|
@@ -1014,7 +1389,7 @@ router$6.post("/api/v1/mock/candles_signal", async (req, res) => {
|
|
|
1014
1389
|
});
|
|
1015
1390
|
}
|
|
1016
1391
|
});
|
|
1017
|
-
router$
|
|
1392
|
+
router$8.post("/api/v1/mock/candles_point", async (req, res) => {
|
|
1018
1393
|
try {
|
|
1019
1394
|
const request = await micro.json(req);
|
|
1020
1395
|
const { currentTime, interval, requestId, serviceName, symbol, exchangeName } = request;
|
|
@@ -1048,7 +1423,7 @@ router$6.post("/api/v1/mock/candles_point", async (req, res) => {
|
|
|
1048
1423
|
}
|
|
1049
1424
|
});
|
|
1050
1425
|
// NotificationMockService endpoints
|
|
1051
|
-
router$
|
|
1426
|
+
router$8.post("/api/v1/mock/notification_list", async (req, res) => {
|
|
1052
1427
|
try {
|
|
1053
1428
|
const request = await micro.json(req);
|
|
1054
1429
|
const { requestId, serviceName } = request;
|
|
@@ -1076,7 +1451,7 @@ router$6.post("/api/v1/mock/notification_list", async (req, res) => {
|
|
|
1076
1451
|
});
|
|
1077
1452
|
}
|
|
1078
1453
|
});
|
|
1079
|
-
router$
|
|
1454
|
+
router$8.post("/api/v1/mock/notification_one/:id", async (req, res) => {
|
|
1080
1455
|
try {
|
|
1081
1456
|
const request = await micro.json(req);
|
|
1082
1457
|
const { requestId, serviceName } = request;
|
|
@@ -1105,7 +1480,7 @@ router$6.post("/api/v1/mock/notification_one/:id", async (req, res) => {
|
|
|
1105
1480
|
});
|
|
1106
1481
|
}
|
|
1107
1482
|
});
|
|
1108
|
-
router$
|
|
1483
|
+
router$8.post("/api/v1/mock/notification_filter", async (req, res) => {
|
|
1109
1484
|
try {
|
|
1110
1485
|
const request = await micro.json(req);
|
|
1111
1486
|
const { requestId, serviceName, filterData, limit, offset } = request;
|
|
@@ -1134,7 +1509,7 @@ router$6.post("/api/v1/mock/notification_filter", async (req, res) => {
|
|
|
1134
1509
|
}
|
|
1135
1510
|
});
|
|
1136
1511
|
// StorageMockService endpoints
|
|
1137
|
-
router$
|
|
1512
|
+
router$8.post("/api/v1/mock/storage_one/:id", async (req, res) => {
|
|
1138
1513
|
try {
|
|
1139
1514
|
const request = await micro.json(req);
|
|
1140
1515
|
const { requestId, serviceName } = request;
|
|
@@ -1163,7 +1538,7 @@ router$6.post("/api/v1/mock/storage_one/:id", async (req, res) => {
|
|
|
1163
1538
|
});
|
|
1164
1539
|
}
|
|
1165
1540
|
});
|
|
1166
|
-
router$
|
|
1541
|
+
router$8.post("/api/v1/mock/storage_list/live", async (req, res) => {
|
|
1167
1542
|
try {
|
|
1168
1543
|
const request = await micro.json(req);
|
|
1169
1544
|
const { requestId, serviceName } = request;
|
|
@@ -1191,7 +1566,7 @@ router$6.post("/api/v1/mock/storage_list/live", async (req, res) => {
|
|
|
1191
1566
|
});
|
|
1192
1567
|
}
|
|
1193
1568
|
});
|
|
1194
|
-
router$
|
|
1569
|
+
router$8.post("/api/v1/mock/storage_list/backtest", async (req, res) => {
|
|
1195
1570
|
try {
|
|
1196
1571
|
const request = await micro.json(req);
|
|
1197
1572
|
const { requestId, serviceName } = request;
|
|
@@ -1220,7 +1595,7 @@ router$6.post("/api/v1/mock/storage_list/backtest", async (req, res) => {
|
|
|
1220
1595
|
}
|
|
1221
1596
|
});
|
|
1222
1597
|
// LogMockService endpoints
|
|
1223
|
-
router$
|
|
1598
|
+
router$8.post("/api/v1/mock/log_list", async (req, res) => {
|
|
1224
1599
|
try {
|
|
1225
1600
|
const request = await micro.json(req);
|
|
1226
1601
|
const { requestId, serviceName } = request;
|
|
@@ -1248,7 +1623,7 @@ router$6.post("/api/v1/mock/log_list", async (req, res) => {
|
|
|
1248
1623
|
});
|
|
1249
1624
|
}
|
|
1250
1625
|
});
|
|
1251
|
-
router$
|
|
1626
|
+
router$8.post("/api/v1/mock/log_one/:id", async (req, res) => {
|
|
1252
1627
|
try {
|
|
1253
1628
|
const request = await micro.json(req);
|
|
1254
1629
|
const { requestId, serviceName } = request;
|
|
@@ -1277,7 +1652,7 @@ router$6.post("/api/v1/mock/log_one/:id", async (req, res) => {
|
|
|
1277
1652
|
});
|
|
1278
1653
|
}
|
|
1279
1654
|
});
|
|
1280
|
-
router$
|
|
1655
|
+
router$8.post("/api/v1/mock/log_filter", async (req, res) => {
|
|
1281
1656
|
try {
|
|
1282
1657
|
const request = await micro.json(req);
|
|
1283
1658
|
const { requestId, serviceName, filterData, limit, offset } = request;
|
|
@@ -1305,7 +1680,7 @@ router$6.post("/api/v1/mock/log_filter", async (req, res) => {
|
|
|
1305
1680
|
});
|
|
1306
1681
|
}
|
|
1307
1682
|
});
|
|
1308
|
-
router$
|
|
1683
|
+
router$8.post("/api/v1/mock/candles_live", async (req, res) => {
|
|
1309
1684
|
try {
|
|
1310
1685
|
const request = await micro.json(req);
|
|
1311
1686
|
const { signalId, interval, requestId, serviceName } = request;
|
|
@@ -1334,7 +1709,7 @@ router$6.post("/api/v1/mock/candles_live", async (req, res) => {
|
|
|
1334
1709
|
}
|
|
1335
1710
|
});
|
|
1336
1711
|
// StatusMockService endpoints
|
|
1337
|
-
router$
|
|
1712
|
+
router$8.post("/api/v1/mock/status_list", async (req, res) => {
|
|
1338
1713
|
try {
|
|
1339
1714
|
const request = await micro.json(req);
|
|
1340
1715
|
const { requestId, serviceName } = request;
|
|
@@ -1362,7 +1737,7 @@ router$6.post("/api/v1/mock/status_list", async (req, res) => {
|
|
|
1362
1737
|
});
|
|
1363
1738
|
}
|
|
1364
1739
|
});
|
|
1365
|
-
router$
|
|
1740
|
+
router$8.post("/api/v1/mock/status_one/:id", async (req, res) => {
|
|
1366
1741
|
try {
|
|
1367
1742
|
const request = await micro.json(req);
|
|
1368
1743
|
const { requestId, serviceName } = request;
|
|
@@ -1392,11 +1767,11 @@ router$6.post("/api/v1/mock/status_one/:id", async (req, res) => {
|
|
|
1392
1767
|
}
|
|
1393
1768
|
});
|
|
1394
1769
|
|
|
1395
|
-
const router$
|
|
1770
|
+
const router$7 = Router({
|
|
1396
1771
|
params: true,
|
|
1397
1772
|
});
|
|
1398
1773
|
// ExchangeViewService endpoints
|
|
1399
|
-
router$
|
|
1774
|
+
router$7.post("/api/v1/view/candles_signal", async (req, res) => {
|
|
1400
1775
|
try {
|
|
1401
1776
|
const request = await micro.json(req);
|
|
1402
1777
|
const { signalId, interval, requestId, serviceName } = request;
|
|
@@ -1424,7 +1799,7 @@ router$5.post("/api/v1/view/candles_signal", async (req, res) => {
|
|
|
1424
1799
|
});
|
|
1425
1800
|
}
|
|
1426
1801
|
});
|
|
1427
|
-
router$
|
|
1802
|
+
router$7.post("/api/v1/view/candles_point", async (req, res) => {
|
|
1428
1803
|
try {
|
|
1429
1804
|
const request = await micro.json(req);
|
|
1430
1805
|
const { currentTime, interval, requestId, serviceName, symbol, exchangeName } = request;
|
|
@@ -1457,7 +1832,7 @@ router$5.post("/api/v1/view/candles_point", async (req, res) => {
|
|
|
1457
1832
|
});
|
|
1458
1833
|
}
|
|
1459
1834
|
});
|
|
1460
|
-
router$
|
|
1835
|
+
router$7.post("/api/v1/view/candles_live", async (req, res) => {
|
|
1461
1836
|
try {
|
|
1462
1837
|
const request = await micro.json(req);
|
|
1463
1838
|
const { signalId, interval, requestId, serviceName } = request;
|
|
@@ -1486,7 +1861,7 @@ router$5.post("/api/v1/view/candles_live", async (req, res) => {
|
|
|
1486
1861
|
}
|
|
1487
1862
|
});
|
|
1488
1863
|
// NotificationViewService endpoints
|
|
1489
|
-
router$
|
|
1864
|
+
router$7.post("/api/v1/view/notification_list", async (req, res) => {
|
|
1490
1865
|
try {
|
|
1491
1866
|
const request = await micro.json(req);
|
|
1492
1867
|
const { requestId, serviceName } = request;
|
|
@@ -1514,7 +1889,7 @@ router$5.post("/api/v1/view/notification_list", async (req, res) => {
|
|
|
1514
1889
|
});
|
|
1515
1890
|
}
|
|
1516
1891
|
});
|
|
1517
|
-
router$
|
|
1892
|
+
router$7.post("/api/v1/view/notification_one/:id", async (req, res) => {
|
|
1518
1893
|
try {
|
|
1519
1894
|
const request = await micro.json(req);
|
|
1520
1895
|
const { requestId, serviceName } = request;
|
|
@@ -1543,7 +1918,7 @@ router$5.post("/api/v1/view/notification_one/:id", async (req, res) => {
|
|
|
1543
1918
|
});
|
|
1544
1919
|
}
|
|
1545
1920
|
});
|
|
1546
|
-
router$
|
|
1921
|
+
router$7.post("/api/v1/view/notification_filter", async (req, res) => {
|
|
1547
1922
|
try {
|
|
1548
1923
|
const request = await micro.json(req);
|
|
1549
1924
|
const { requestId, serviceName, filterData, limit, offset } = request;
|
|
@@ -1572,7 +1947,7 @@ router$5.post("/api/v1/view/notification_filter", async (req, res) => {
|
|
|
1572
1947
|
}
|
|
1573
1948
|
});
|
|
1574
1949
|
// StorageViewService endpoints
|
|
1575
|
-
router$
|
|
1950
|
+
router$7.post("/api/v1/view/storage_one/:id", async (req, res) => {
|
|
1576
1951
|
try {
|
|
1577
1952
|
const request = await micro.json(req);
|
|
1578
1953
|
const { requestId, serviceName } = request;
|
|
@@ -1601,7 +1976,7 @@ router$5.post("/api/v1/view/storage_one/:id", async (req, res) => {
|
|
|
1601
1976
|
});
|
|
1602
1977
|
}
|
|
1603
1978
|
});
|
|
1604
|
-
router$
|
|
1979
|
+
router$7.post("/api/v1/view/storage_list/live", async (req, res) => {
|
|
1605
1980
|
try {
|
|
1606
1981
|
const request = await micro.json(req);
|
|
1607
1982
|
const { requestId, serviceName } = request;
|
|
@@ -1629,7 +2004,7 @@ router$5.post("/api/v1/view/storage_list/live", async (req, res) => {
|
|
|
1629
2004
|
});
|
|
1630
2005
|
}
|
|
1631
2006
|
});
|
|
1632
|
-
router$
|
|
2007
|
+
router$7.post("/api/v1/view/storage_list/backtest", async (req, res) => {
|
|
1633
2008
|
try {
|
|
1634
2009
|
const request = await micro.json(req);
|
|
1635
2010
|
const { requestId, serviceName } = request;
|
|
@@ -1658,7 +2033,7 @@ router$5.post("/api/v1/view/storage_list/backtest", async (req, res) => {
|
|
|
1658
2033
|
}
|
|
1659
2034
|
});
|
|
1660
2035
|
// LogViewService endpoints
|
|
1661
|
-
router$
|
|
2036
|
+
router$7.post("/api/v1/view/log_list", async (req, res) => {
|
|
1662
2037
|
try {
|
|
1663
2038
|
const request = await micro.json(req);
|
|
1664
2039
|
const { requestId, serviceName } = request;
|
|
@@ -1686,7 +2061,7 @@ router$5.post("/api/v1/view/log_list", async (req, res) => {
|
|
|
1686
2061
|
});
|
|
1687
2062
|
}
|
|
1688
2063
|
});
|
|
1689
|
-
router$
|
|
2064
|
+
router$7.post("/api/v1/view/log_one/:id", async (req, res) => {
|
|
1690
2065
|
try {
|
|
1691
2066
|
const request = await micro.json(req);
|
|
1692
2067
|
const { requestId, serviceName } = request;
|
|
@@ -1715,7 +2090,7 @@ router$5.post("/api/v1/view/log_one/:id", async (req, res) => {
|
|
|
1715
2090
|
});
|
|
1716
2091
|
}
|
|
1717
2092
|
});
|
|
1718
|
-
router$
|
|
2093
|
+
router$7.post("/api/v1/view/log_filter", async (req, res) => {
|
|
1719
2094
|
try {
|
|
1720
2095
|
const request = await micro.json(req);
|
|
1721
2096
|
const { requestId, serviceName, filterData, limit, offset } = request;
|
|
@@ -1744,7 +2119,7 @@ router$5.post("/api/v1/view/log_filter", async (req, res) => {
|
|
|
1744
2119
|
}
|
|
1745
2120
|
});
|
|
1746
2121
|
// StatusViewService endpoints
|
|
1747
|
-
router$
|
|
2122
|
+
router$7.post("/api/v1/view/status_list", async (req, res) => {
|
|
1748
2123
|
try {
|
|
1749
2124
|
const request = await micro.json(req);
|
|
1750
2125
|
const { requestId, serviceName } = request;
|
|
@@ -1772,7 +2147,7 @@ router$5.post("/api/v1/view/status_list", async (req, res) => {
|
|
|
1772
2147
|
});
|
|
1773
2148
|
}
|
|
1774
2149
|
});
|
|
1775
|
-
router$
|
|
2150
|
+
router$7.post("/api/v1/view/status_one/:id", async (req, res) => {
|
|
1776
2151
|
try {
|
|
1777
2152
|
const request = await micro.json(req);
|
|
1778
2153
|
const { requestId, serviceName } = request;
|
|
@@ -1809,7 +2184,7 @@ function getModulesPath() {
|
|
|
1809
2184
|
return path.join(basePath, "../../../");
|
|
1810
2185
|
}
|
|
1811
2186
|
|
|
1812
|
-
const router$
|
|
2187
|
+
const router$6 = Router({
|
|
1813
2188
|
params: true,
|
|
1814
2189
|
});
|
|
1815
2190
|
// getModulesPath
|
|
@@ -1826,7 +2201,7 @@ const ASSET_32 = CC_ENABLE_MOCK
|
|
|
1826
2201
|
const cache128 = new Map();
|
|
1827
2202
|
const cache32 = new Map();
|
|
1828
2203
|
const cacheSvg = new Map();
|
|
1829
|
-
router$
|
|
2204
|
+
router$6.get("/icon/128/:filename", async (req, res) => {
|
|
1830
2205
|
const filename = req.params.filename;
|
|
1831
2206
|
// Check cache first
|
|
1832
2207
|
if (cache128.has(filename)) {
|
|
@@ -1842,7 +2217,7 @@ router$4.get("/icon/128/:filename", async (req, res) => {
|
|
|
1842
2217
|
}
|
|
1843
2218
|
return await micro.send(res, 404, "File not found (128)");
|
|
1844
2219
|
});
|
|
1845
|
-
router$
|
|
2220
|
+
router$6.get("/icon/32/:filename", async (req, res) => {
|
|
1846
2221
|
const filename = req.params.filename;
|
|
1847
2222
|
// Check cache first
|
|
1848
2223
|
if (cache32.has(filename)) {
|
|
@@ -1858,7 +2233,7 @@ router$4.get("/icon/32/:filename", async (req, res) => {
|
|
|
1858
2233
|
}
|
|
1859
2234
|
return await micro.send(res, 404, "File not found (32)");
|
|
1860
2235
|
});
|
|
1861
|
-
router$
|
|
2236
|
+
router$6.get("/icon/svg/:filename", async (req, res) => {
|
|
1862
2237
|
const filename = req.params.filename;
|
|
1863
2238
|
// Check cache first
|
|
1864
2239
|
if (cacheSvg.has(filename)) {
|
|
@@ -1874,7 +2249,7 @@ router$4.get("/icon/svg/:filename", async (req, res) => {
|
|
|
1874
2249
|
}
|
|
1875
2250
|
return await micro.send(res, 404, "File not found (svg)");
|
|
1876
2251
|
});
|
|
1877
|
-
router$
|
|
2252
|
+
router$6.get("/icon/:filename", async (req, res) => {
|
|
1878
2253
|
const filename = req.params.filename;
|
|
1879
2254
|
// Check cache first
|
|
1880
2255
|
if (cache32.has(filename)) {
|
|
@@ -1891,10 +2266,10 @@ router$4.get("/icon/:filename", async (req, res) => {
|
|
|
1891
2266
|
return await micro.send(res, 404, "File not found (root)");
|
|
1892
2267
|
});
|
|
1893
2268
|
|
|
1894
|
-
const router$
|
|
2269
|
+
const router$5 = Router({
|
|
1895
2270
|
params: true,
|
|
1896
2271
|
});
|
|
1897
|
-
router$
|
|
2272
|
+
router$5.post("/api/v1/dict/symbol/list", async (req, res) => {
|
|
1898
2273
|
try {
|
|
1899
2274
|
const request = await micro.json(req);
|
|
1900
2275
|
const { requestId, serviceName } = request;
|
|
@@ -1922,7 +2297,7 @@ router$3.post("/api/v1/dict/symbol/list", async (req, res) => {
|
|
|
1922
2297
|
});
|
|
1923
2298
|
}
|
|
1924
2299
|
});
|
|
1925
|
-
router$
|
|
2300
|
+
router$5.post("/api/v1/dict/symbol/map", async (req, res) => {
|
|
1926
2301
|
try {
|
|
1927
2302
|
const request = await micro.json(req);
|
|
1928
2303
|
const { requestId, serviceName } = request;
|
|
@@ -1950,7 +2325,7 @@ router$3.post("/api/v1/dict/symbol/map", async (req, res) => {
|
|
|
1950
2325
|
});
|
|
1951
2326
|
}
|
|
1952
2327
|
});
|
|
1953
|
-
router$
|
|
2328
|
+
router$5.post("/api/v1/dict/symbol/one", async (req, res) => {
|
|
1954
2329
|
try {
|
|
1955
2330
|
const request = await micro.json(req);
|
|
1956
2331
|
const { requestId, serviceName, id } = request;
|
|
@@ -1979,6 +2354,686 @@ router$3.post("/api/v1/dict/symbol/one", async (req, res) => {
|
|
|
1979
2354
|
}
|
|
1980
2355
|
});
|
|
1981
2356
|
|
|
2357
|
+
const router$4 = Router({
|
|
2358
|
+
params: true,
|
|
2359
|
+
});
|
|
2360
|
+
router$4.post("/api/v1/markdown_mock/strategy_data", async (req, res) => {
|
|
2361
|
+
try {
|
|
2362
|
+
const request = await micro.json(req);
|
|
2363
|
+
const { requestId, serviceName, symbol, strategyName, exchangeName, frameName } = request;
|
|
2364
|
+
const data = await ioc.markdownMockService.getStrategyData(symbol, strategyName, exchangeName, frameName);
|
|
2365
|
+
const result = { data, status: "ok", error: "", requestId, serviceName };
|
|
2366
|
+
ioc.loggerService.log("/api/v1/markdown_mock/strategy_data ok", { request, result: omit(result, "data") });
|
|
2367
|
+
return await micro.send(res, 200, result);
|
|
2368
|
+
}
|
|
2369
|
+
catch (error) {
|
|
2370
|
+
ioc.loggerService.log("/api/v1/markdown_mock/strategy_data error", { error: functoolsKit.errorData(error) });
|
|
2371
|
+
return await micro.send(res, 200, { status: "error", error: functoolsKit.getErrorMessage(error) });
|
|
2372
|
+
}
|
|
2373
|
+
});
|
|
2374
|
+
router$4.post("/api/v1/markdown_mock/strategy_report", async (req, res) => {
|
|
2375
|
+
try {
|
|
2376
|
+
const request = await micro.json(req);
|
|
2377
|
+
const { requestId, serviceName, symbol, strategyName, exchangeName, frameName } = request;
|
|
2378
|
+
const data = await ioc.markdownMockService.getStrategyReport(symbol, strategyName, exchangeName, frameName);
|
|
2379
|
+
const result = { data, status: "ok", error: "", requestId, serviceName };
|
|
2380
|
+
ioc.loggerService.log("/api/v1/markdown_mock/strategy_report ok", { request, result: omit(result, "data") });
|
|
2381
|
+
return await micro.send(res, 200, result);
|
|
2382
|
+
}
|
|
2383
|
+
catch (error) {
|
|
2384
|
+
ioc.loggerService.log("/api/v1/markdown_mock/strategy_report error", { error: functoolsKit.errorData(error) });
|
|
2385
|
+
return await micro.send(res, 200, { status: "error", error: functoolsKit.getErrorMessage(error) });
|
|
2386
|
+
}
|
|
2387
|
+
});
|
|
2388
|
+
router$4.post("/api/v1/markdown_mock/backtest_data", async (req, res) => {
|
|
2389
|
+
try {
|
|
2390
|
+
const request = await micro.json(req);
|
|
2391
|
+
const { requestId, serviceName, symbol, strategyName, exchangeName, frameName } = request;
|
|
2392
|
+
const data = await ioc.markdownMockService.getBacktestData(symbol, strategyName, exchangeName, frameName);
|
|
2393
|
+
const result = { data, status: "ok", error: "", requestId, serviceName };
|
|
2394
|
+
ioc.loggerService.log("/api/v1/markdown_mock/backtest_data ok", { request, result: omit(result, "data") });
|
|
2395
|
+
return await micro.send(res, 200, result);
|
|
2396
|
+
}
|
|
2397
|
+
catch (error) {
|
|
2398
|
+
ioc.loggerService.log("/api/v1/markdown_mock/backtest_data error", { error: functoolsKit.errorData(error) });
|
|
2399
|
+
return await micro.send(res, 200, { status: "error", error: functoolsKit.getErrorMessage(error) });
|
|
2400
|
+
}
|
|
2401
|
+
});
|
|
2402
|
+
router$4.post("/api/v1/markdown_mock/backtest_report", async (req, res) => {
|
|
2403
|
+
try {
|
|
2404
|
+
const request = await micro.json(req);
|
|
2405
|
+
const { requestId, serviceName, symbol, strategyName, exchangeName, frameName } = request;
|
|
2406
|
+
const data = await ioc.markdownMockService.getBacktestReport(symbol, strategyName, exchangeName, frameName);
|
|
2407
|
+
const result = { data, status: "ok", error: "", requestId, serviceName };
|
|
2408
|
+
ioc.loggerService.log("/api/v1/markdown_mock/backtest_report ok", { request, result: omit(result, "data") });
|
|
2409
|
+
return await micro.send(res, 200, result);
|
|
2410
|
+
}
|
|
2411
|
+
catch (error) {
|
|
2412
|
+
ioc.loggerService.log("/api/v1/markdown_mock/backtest_report error", { error: functoolsKit.errorData(error) });
|
|
2413
|
+
return await micro.send(res, 200, { status: "error", error: functoolsKit.getErrorMessage(error) });
|
|
2414
|
+
}
|
|
2415
|
+
});
|
|
2416
|
+
router$4.post("/api/v1/markdown_mock/live_data", async (req, res) => {
|
|
2417
|
+
try {
|
|
2418
|
+
const request = await micro.json(req);
|
|
2419
|
+
const { requestId, serviceName, symbol, strategyName, exchangeName } = request;
|
|
2420
|
+
const data = await ioc.markdownMockService.getLiveData(symbol, strategyName, exchangeName);
|
|
2421
|
+
const result = { data, status: "ok", error: "", requestId, serviceName };
|
|
2422
|
+
ioc.loggerService.log("/api/v1/markdown_mock/live_data ok", { request, result: omit(result, "data") });
|
|
2423
|
+
return await micro.send(res, 200, result);
|
|
2424
|
+
}
|
|
2425
|
+
catch (error) {
|
|
2426
|
+
ioc.loggerService.log("/api/v1/markdown_mock/live_data error", { error: functoolsKit.errorData(error) });
|
|
2427
|
+
return await micro.send(res, 200, { status: "error", error: functoolsKit.getErrorMessage(error) });
|
|
2428
|
+
}
|
|
2429
|
+
});
|
|
2430
|
+
router$4.post("/api/v1/markdown_mock/live_report", async (req, res) => {
|
|
2431
|
+
try {
|
|
2432
|
+
const request = await micro.json(req);
|
|
2433
|
+
const { requestId, serviceName, symbol, strategyName, exchangeName } = request;
|
|
2434
|
+
const data = await ioc.markdownMockService.getLiveReport(symbol, strategyName, exchangeName);
|
|
2435
|
+
const result = { data, status: "ok", error: "", requestId, serviceName };
|
|
2436
|
+
ioc.loggerService.log("/api/v1/markdown_mock/live_report ok", { request, result: omit(result, "data") });
|
|
2437
|
+
return await micro.send(res, 200, result);
|
|
2438
|
+
}
|
|
2439
|
+
catch (error) {
|
|
2440
|
+
ioc.loggerService.log("/api/v1/markdown_mock/live_report error", { error: functoolsKit.errorData(error) });
|
|
2441
|
+
return await micro.send(res, 200, { status: "error", error: functoolsKit.getErrorMessage(error) });
|
|
2442
|
+
}
|
|
2443
|
+
});
|
|
2444
|
+
router$4.post("/api/v1/markdown_mock/breakeven_data", async (req, res) => {
|
|
2445
|
+
try {
|
|
2446
|
+
const request = await micro.json(req);
|
|
2447
|
+
const { requestId, serviceName, symbol, strategyName, exchangeName, frameName } = request;
|
|
2448
|
+
const data = await ioc.markdownMockService.getBreakevenData(symbol, strategyName, exchangeName, frameName);
|
|
2449
|
+
const result = { data, status: "ok", error: "", requestId, serviceName };
|
|
2450
|
+
ioc.loggerService.log("/api/v1/markdown_mock/breakeven_data ok", { request, result: omit(result, "data") });
|
|
2451
|
+
return await micro.send(res, 200, result);
|
|
2452
|
+
}
|
|
2453
|
+
catch (error) {
|
|
2454
|
+
ioc.loggerService.log("/api/v1/markdown_mock/breakeven_data error", { error: functoolsKit.errorData(error) });
|
|
2455
|
+
return await micro.send(res, 200, { status: "error", error: functoolsKit.getErrorMessage(error) });
|
|
2456
|
+
}
|
|
2457
|
+
});
|
|
2458
|
+
router$4.post("/api/v1/markdown_mock/breakeven_report", async (req, res) => {
|
|
2459
|
+
try {
|
|
2460
|
+
const request = await micro.json(req);
|
|
2461
|
+
const { requestId, serviceName, symbol, strategyName, exchangeName, frameName } = request;
|
|
2462
|
+
const data = await ioc.markdownMockService.getBreakevenReport(symbol, strategyName, exchangeName, frameName);
|
|
2463
|
+
const result = { data, status: "ok", error: "", requestId, serviceName };
|
|
2464
|
+
ioc.loggerService.log("/api/v1/markdown_mock/breakeven_report ok", { request, result: omit(result, "data") });
|
|
2465
|
+
return await micro.send(res, 200, result);
|
|
2466
|
+
}
|
|
2467
|
+
catch (error) {
|
|
2468
|
+
ioc.loggerService.log("/api/v1/markdown_mock/breakeven_report error", { error: functoolsKit.errorData(error) });
|
|
2469
|
+
return await micro.send(res, 200, { status: "error", error: functoolsKit.getErrorMessage(error) });
|
|
2470
|
+
}
|
|
2471
|
+
});
|
|
2472
|
+
router$4.post("/api/v1/markdown_mock/risk_data", async (req, res) => {
|
|
2473
|
+
try {
|
|
2474
|
+
const request = await micro.json(req);
|
|
2475
|
+
const { requestId, serviceName, symbol, strategyName, exchangeName, frameName } = request;
|
|
2476
|
+
const data = await ioc.markdownMockService.getRiskData(symbol, strategyName, exchangeName, frameName);
|
|
2477
|
+
const result = { data, status: "ok", error: "", requestId, serviceName };
|
|
2478
|
+
ioc.loggerService.log("/api/v1/markdown_mock/risk_data ok", { request, result: omit(result, "data") });
|
|
2479
|
+
return await micro.send(res, 200, result);
|
|
2480
|
+
}
|
|
2481
|
+
catch (error) {
|
|
2482
|
+
ioc.loggerService.log("/api/v1/markdown_mock/risk_data error", { error: functoolsKit.errorData(error) });
|
|
2483
|
+
return await micro.send(res, 200, { status: "error", error: functoolsKit.getErrorMessage(error) });
|
|
2484
|
+
}
|
|
2485
|
+
});
|
|
2486
|
+
router$4.post("/api/v1/markdown_mock/risk_report", async (req, res) => {
|
|
2487
|
+
try {
|
|
2488
|
+
const request = await micro.json(req);
|
|
2489
|
+
const { requestId, serviceName, symbol, strategyName, exchangeName, frameName } = request;
|
|
2490
|
+
const data = await ioc.markdownMockService.getRiskReport(symbol, strategyName, exchangeName, frameName);
|
|
2491
|
+
const result = { data, status: "ok", error: "", requestId, serviceName };
|
|
2492
|
+
ioc.loggerService.log("/api/v1/markdown_mock/risk_report ok", { request, result: omit(result, "data") });
|
|
2493
|
+
return await micro.send(res, 200, result);
|
|
2494
|
+
}
|
|
2495
|
+
catch (error) {
|
|
2496
|
+
ioc.loggerService.log("/api/v1/markdown_mock/risk_report error", { error: functoolsKit.errorData(error) });
|
|
2497
|
+
return await micro.send(res, 200, { status: "error", error: functoolsKit.getErrorMessage(error) });
|
|
2498
|
+
}
|
|
2499
|
+
});
|
|
2500
|
+
router$4.post("/api/v1/markdown_mock/partial_data", async (req, res) => {
|
|
2501
|
+
try {
|
|
2502
|
+
const request = await micro.json(req);
|
|
2503
|
+
const { requestId, serviceName, symbol, strategyName, exchangeName, frameName } = request;
|
|
2504
|
+
const data = await ioc.markdownMockService.getPartialData(symbol, strategyName, exchangeName, frameName);
|
|
2505
|
+
const result = { data, status: "ok", error: "", requestId, serviceName };
|
|
2506
|
+
ioc.loggerService.log("/api/v1/markdown_mock/partial_data ok", { request, result: omit(result, "data") });
|
|
2507
|
+
return await micro.send(res, 200, result);
|
|
2508
|
+
}
|
|
2509
|
+
catch (error) {
|
|
2510
|
+
ioc.loggerService.log("/api/v1/markdown_mock/partial_data error", { error: functoolsKit.errorData(error) });
|
|
2511
|
+
return await micro.send(res, 200, { status: "error", error: functoolsKit.getErrorMessage(error) });
|
|
2512
|
+
}
|
|
2513
|
+
});
|
|
2514
|
+
router$4.post("/api/v1/markdown_mock/partial_report", async (req, res) => {
|
|
2515
|
+
try {
|
|
2516
|
+
const request = await micro.json(req);
|
|
2517
|
+
const { requestId, serviceName, symbol, strategyName, exchangeName, frameName } = request;
|
|
2518
|
+
const data = await ioc.markdownMockService.getPartialReport(symbol, strategyName, exchangeName, frameName);
|
|
2519
|
+
const result = { data, status: "ok", error: "", requestId, serviceName };
|
|
2520
|
+
ioc.loggerService.log("/api/v1/markdown_mock/partial_report ok", { request, result: omit(result, "data") });
|
|
2521
|
+
return await micro.send(res, 200, result);
|
|
2522
|
+
}
|
|
2523
|
+
catch (error) {
|
|
2524
|
+
ioc.loggerService.log("/api/v1/markdown_mock/partial_report error", { error: functoolsKit.errorData(error) });
|
|
2525
|
+
return await micro.send(res, 200, { status: "error", error: functoolsKit.getErrorMessage(error) });
|
|
2526
|
+
}
|
|
2527
|
+
});
|
|
2528
|
+
router$4.post("/api/v1/markdown_mock/highest_profit_data", async (req, res) => {
|
|
2529
|
+
try {
|
|
2530
|
+
const request = await micro.json(req);
|
|
2531
|
+
const { requestId, serviceName, symbol, strategyName, exchangeName, frameName } = request;
|
|
2532
|
+
const data = await ioc.markdownMockService.getHighestProfitData(symbol, strategyName, exchangeName, frameName);
|
|
2533
|
+
const result = { data, status: "ok", error: "", requestId, serviceName };
|
|
2534
|
+
ioc.loggerService.log("/api/v1/markdown_mock/highest_profit_data ok", { request, result: omit(result, "data") });
|
|
2535
|
+
return await micro.send(res, 200, result);
|
|
2536
|
+
}
|
|
2537
|
+
catch (error) {
|
|
2538
|
+
ioc.loggerService.log("/api/v1/markdown_mock/highest_profit_data error", { error: functoolsKit.errorData(error) });
|
|
2539
|
+
return await micro.send(res, 200, { status: "error", error: functoolsKit.getErrorMessage(error) });
|
|
2540
|
+
}
|
|
2541
|
+
});
|
|
2542
|
+
router$4.post("/api/v1/markdown_mock/highest_profit_report", async (req, res) => {
|
|
2543
|
+
try {
|
|
2544
|
+
const request = await micro.json(req);
|
|
2545
|
+
const { requestId, serviceName, symbol, strategyName, exchangeName, frameName } = request;
|
|
2546
|
+
const data = await ioc.markdownMockService.getHighestProfitReport(symbol, strategyName, exchangeName, frameName);
|
|
2547
|
+
const result = { data, status: "ok", error: "", requestId, serviceName };
|
|
2548
|
+
ioc.loggerService.log("/api/v1/markdown_mock/highest_profit_report ok", { request, result: omit(result, "data") });
|
|
2549
|
+
return await micro.send(res, 200, result);
|
|
2550
|
+
}
|
|
2551
|
+
catch (error) {
|
|
2552
|
+
ioc.loggerService.log("/api/v1/markdown_mock/highest_profit_report error", { error: functoolsKit.errorData(error) });
|
|
2553
|
+
return await micro.send(res, 200, { status: "error", error: functoolsKit.getErrorMessage(error) });
|
|
2554
|
+
}
|
|
2555
|
+
});
|
|
2556
|
+
router$4.post("/api/v1/markdown_mock/schedule_data", async (req, res) => {
|
|
2557
|
+
try {
|
|
2558
|
+
const request = await micro.json(req);
|
|
2559
|
+
const { requestId, serviceName, symbol, strategyName, exchangeName, frameName } = request;
|
|
2560
|
+
const data = await ioc.markdownMockService.getScheduleData(symbol, strategyName, exchangeName, frameName);
|
|
2561
|
+
const result = { data, status: "ok", error: "", requestId, serviceName };
|
|
2562
|
+
ioc.loggerService.log("/api/v1/markdown_mock/schedule_data ok", { request, result: omit(result, "data") });
|
|
2563
|
+
return await micro.send(res, 200, result);
|
|
2564
|
+
}
|
|
2565
|
+
catch (error) {
|
|
2566
|
+
ioc.loggerService.log("/api/v1/markdown_mock/schedule_data error", { error: functoolsKit.errorData(error) });
|
|
2567
|
+
return await micro.send(res, 200, { status: "error", error: functoolsKit.getErrorMessage(error) });
|
|
2568
|
+
}
|
|
2569
|
+
});
|
|
2570
|
+
router$4.post("/api/v1/markdown_mock/schedule_report", async (req, res) => {
|
|
2571
|
+
try {
|
|
2572
|
+
const request = await micro.json(req);
|
|
2573
|
+
const { requestId, serviceName, symbol, strategyName, exchangeName, frameName } = request;
|
|
2574
|
+
const data = await ioc.markdownMockService.getScheduleReport(symbol, strategyName, exchangeName, frameName);
|
|
2575
|
+
const result = { data, status: "ok", error: "", requestId, serviceName };
|
|
2576
|
+
ioc.loggerService.log("/api/v1/markdown_mock/schedule_report ok", { request, result: omit(result, "data") });
|
|
2577
|
+
return await micro.send(res, 200, result);
|
|
2578
|
+
}
|
|
2579
|
+
catch (error) {
|
|
2580
|
+
ioc.loggerService.log("/api/v1/markdown_mock/schedule_report error", { error: functoolsKit.errorData(error) });
|
|
2581
|
+
return await micro.send(res, 200, { status: "error", error: functoolsKit.getErrorMessage(error) });
|
|
2582
|
+
}
|
|
2583
|
+
});
|
|
2584
|
+
router$4.post("/api/v1/markdown_mock/performance_data", async (req, res) => {
|
|
2585
|
+
try {
|
|
2586
|
+
const request = await micro.json(req);
|
|
2587
|
+
const { requestId, serviceName, symbol, strategyName, exchangeName, frameName } = request;
|
|
2588
|
+
const data = await ioc.markdownMockService.getPerformanceData(symbol, strategyName, exchangeName, frameName);
|
|
2589
|
+
const result = { data, status: "ok", error: "", requestId, serviceName };
|
|
2590
|
+
ioc.loggerService.log("/api/v1/markdown_mock/performance_data ok", { request, result: omit(result, "data") });
|
|
2591
|
+
return await micro.send(res, 200, result);
|
|
2592
|
+
}
|
|
2593
|
+
catch (error) {
|
|
2594
|
+
ioc.loggerService.log("/api/v1/markdown_mock/performance_data error", { error: functoolsKit.errorData(error) });
|
|
2595
|
+
return await micro.send(res, 200, { status: "error", error: functoolsKit.getErrorMessage(error) });
|
|
2596
|
+
}
|
|
2597
|
+
});
|
|
2598
|
+
router$4.post("/api/v1/markdown_mock/performance_report", async (req, res) => {
|
|
2599
|
+
try {
|
|
2600
|
+
const request = await micro.json(req);
|
|
2601
|
+
const { requestId, serviceName, symbol, strategyName, exchangeName, frameName } = request;
|
|
2602
|
+
const data = await ioc.markdownMockService.getPerformanceReport(symbol, strategyName, exchangeName, frameName);
|
|
2603
|
+
const result = { data, status: "ok", error: "", requestId, serviceName };
|
|
2604
|
+
ioc.loggerService.log("/api/v1/markdown_mock/performance_report ok", { request, result: omit(result, "data") });
|
|
2605
|
+
return await micro.send(res, 200, result);
|
|
2606
|
+
}
|
|
2607
|
+
catch (error) {
|
|
2608
|
+
ioc.loggerService.log("/api/v1/markdown_mock/performance_report error", { error: functoolsKit.errorData(error) });
|
|
2609
|
+
return await micro.send(res, 200, { status: "error", error: functoolsKit.getErrorMessage(error) });
|
|
2610
|
+
}
|
|
2611
|
+
});
|
|
2612
|
+
router$4.post("/api/v1/markdown_mock/sync_data", async (req, res) => {
|
|
2613
|
+
try {
|
|
2614
|
+
const request = await micro.json(req);
|
|
2615
|
+
const { requestId, serviceName, symbol, strategyName, exchangeName, frameName } = request;
|
|
2616
|
+
const data = await ioc.markdownMockService.getSyncData(symbol, strategyName, exchangeName, frameName);
|
|
2617
|
+
const result = { data, status: "ok", error: "", requestId, serviceName };
|
|
2618
|
+
ioc.loggerService.log("/api/v1/markdown_mock/sync_data ok", { request, result: omit(result, "data") });
|
|
2619
|
+
return await micro.send(res, 200, result);
|
|
2620
|
+
}
|
|
2621
|
+
catch (error) {
|
|
2622
|
+
ioc.loggerService.log("/api/v1/markdown_mock/sync_data error", { error: functoolsKit.errorData(error) });
|
|
2623
|
+
return await micro.send(res, 200, { status: "error", error: functoolsKit.getErrorMessage(error) });
|
|
2624
|
+
}
|
|
2625
|
+
});
|
|
2626
|
+
router$4.post("/api/v1/markdown_mock/sync_report", async (req, res) => {
|
|
2627
|
+
try {
|
|
2628
|
+
const request = await micro.json(req);
|
|
2629
|
+
const { requestId, serviceName, symbol, strategyName, exchangeName, frameName } = request;
|
|
2630
|
+
const data = await ioc.markdownMockService.getSyncReport(symbol, strategyName, exchangeName, frameName);
|
|
2631
|
+
const result = { data, status: "ok", error: "", requestId, serviceName };
|
|
2632
|
+
ioc.loggerService.log("/api/v1/markdown_mock/sync_report ok", { request, result: omit(result, "data") });
|
|
2633
|
+
return await micro.send(res, 200, result);
|
|
2634
|
+
}
|
|
2635
|
+
catch (error) {
|
|
2636
|
+
ioc.loggerService.log("/api/v1/markdown_mock/sync_report error", { error: functoolsKit.errorData(error) });
|
|
2637
|
+
return await micro.send(res, 200, { status: "error", error: functoolsKit.getErrorMessage(error) });
|
|
2638
|
+
}
|
|
2639
|
+
});
|
|
2640
|
+
router$4.post("/api/v1/markdown_mock/heat_data", async (req, res) => {
|
|
2641
|
+
try {
|
|
2642
|
+
const request = await micro.json(req);
|
|
2643
|
+
const { requestId, serviceName, strategyName, exchangeName, frameName } = request;
|
|
2644
|
+
const data = await ioc.markdownMockService.getHeatData(strategyName, exchangeName, frameName);
|
|
2645
|
+
const result = { data, status: "ok", error: "", requestId, serviceName };
|
|
2646
|
+
ioc.loggerService.log("/api/v1/markdown_mock/heat_data ok", { request, result: omit(result, "data") });
|
|
2647
|
+
return await micro.send(res, 200, result);
|
|
2648
|
+
}
|
|
2649
|
+
catch (error) {
|
|
2650
|
+
ioc.loggerService.log("/api/v1/markdown_mock/heat_data error", { error: functoolsKit.errorData(error) });
|
|
2651
|
+
return await micro.send(res, 200, { status: "error", error: functoolsKit.getErrorMessage(error) });
|
|
2652
|
+
}
|
|
2653
|
+
});
|
|
2654
|
+
router$4.post("/api/v1/markdown_mock/heat_report", async (req, res) => {
|
|
2655
|
+
try {
|
|
2656
|
+
const request = await micro.json(req);
|
|
2657
|
+
const { requestId, serviceName, strategyName, exchangeName, frameName } = request;
|
|
2658
|
+
const data = await ioc.markdownMockService.getHeatReport(strategyName, exchangeName, frameName);
|
|
2659
|
+
const result = { data, status: "ok", error: "", requestId, serviceName };
|
|
2660
|
+
ioc.loggerService.log("/api/v1/markdown_mock/heat_report ok", { request, result: omit(result, "data") });
|
|
2661
|
+
return await micro.send(res, 200, result);
|
|
2662
|
+
}
|
|
2663
|
+
catch (error) {
|
|
2664
|
+
ioc.loggerService.log("/api/v1/markdown_mock/heat_report error", { error: functoolsKit.errorData(error) });
|
|
2665
|
+
return await micro.send(res, 200, { status: "error", error: functoolsKit.getErrorMessage(error) });
|
|
2666
|
+
}
|
|
2667
|
+
});
|
|
2668
|
+
router$4.post("/api/v1/markdown_mock/walker_data", async (req, res) => {
|
|
2669
|
+
try {
|
|
2670
|
+
const request = await micro.json(req);
|
|
2671
|
+
const { requestId, serviceName, symbol, walkerName } = request;
|
|
2672
|
+
const data = await ioc.markdownMockService.getWalkerData(symbol, walkerName);
|
|
2673
|
+
const result = { data, status: "ok", error: "", requestId, serviceName };
|
|
2674
|
+
ioc.loggerService.log("/api/v1/markdown_mock/walker_data ok", { request, result: omit(result, "data") });
|
|
2675
|
+
return await micro.send(res, 200, result);
|
|
2676
|
+
}
|
|
2677
|
+
catch (error) {
|
|
2678
|
+
ioc.loggerService.log("/api/v1/markdown_mock/walker_data error", { error: functoolsKit.errorData(error) });
|
|
2679
|
+
return await micro.send(res, 200, { status: "error", error: functoolsKit.getErrorMessage(error) });
|
|
2680
|
+
}
|
|
2681
|
+
});
|
|
2682
|
+
router$4.post("/api/v1/markdown_mock/walker_report", async (req, res) => {
|
|
2683
|
+
try {
|
|
2684
|
+
const request = await micro.json(req);
|
|
2685
|
+
const { requestId, serviceName, symbol, walkerName } = request;
|
|
2686
|
+
const data = await ioc.markdownMockService.getWalkerReport(symbol, walkerName);
|
|
2687
|
+
const result = { data, status: "ok", error: "", requestId, serviceName };
|
|
2688
|
+
ioc.loggerService.log("/api/v1/markdown_mock/walker_report ok", { request, result: omit(result, "data") });
|
|
2689
|
+
return await micro.send(res, 200, result);
|
|
2690
|
+
}
|
|
2691
|
+
catch (error) {
|
|
2692
|
+
ioc.loggerService.log("/api/v1/markdown_mock/walker_report error", { error: functoolsKit.errorData(error) });
|
|
2693
|
+
return await micro.send(res, 200, { status: "error", error: functoolsKit.getErrorMessage(error) });
|
|
2694
|
+
}
|
|
2695
|
+
});
|
|
2696
|
+
|
|
2697
|
+
const router$3 = Router({
|
|
2698
|
+
params: true,
|
|
2699
|
+
});
|
|
2700
|
+
router$3.post("/api/v1/markdown_view/strategy_data", async (req, res) => {
|
|
2701
|
+
try {
|
|
2702
|
+
const request = await micro.json(req);
|
|
2703
|
+
const { requestId, serviceName, symbol, strategyName, exchangeName, frameName, backtest } = request;
|
|
2704
|
+
const data = await ioc.markdownViewService.getStrategyData(symbol, strategyName, exchangeName, frameName, backtest);
|
|
2705
|
+
const result = { data, status: "ok", error: "", requestId, serviceName };
|
|
2706
|
+
ioc.loggerService.log("/api/v1/markdown_view/strategy_data ok", { request, result: omit(result, "data") });
|
|
2707
|
+
return await micro.send(res, 200, result);
|
|
2708
|
+
}
|
|
2709
|
+
catch (error) {
|
|
2710
|
+
ioc.loggerService.log("/api/v1/markdown_view/strategy_data error", { error: functoolsKit.errorData(error) });
|
|
2711
|
+
return await micro.send(res, 200, { status: "error", error: functoolsKit.getErrorMessage(error) });
|
|
2712
|
+
}
|
|
2713
|
+
});
|
|
2714
|
+
router$3.post("/api/v1/markdown_view/strategy_report", async (req, res) => {
|
|
2715
|
+
try {
|
|
2716
|
+
const request = await micro.json(req);
|
|
2717
|
+
const { requestId, serviceName, symbol, strategyName, exchangeName, frameName, backtest } = request;
|
|
2718
|
+
const data = await ioc.markdownViewService.getStrategyReport(symbol, strategyName, exchangeName, frameName, backtest);
|
|
2719
|
+
const result = { data, status: "ok", error: "", requestId, serviceName };
|
|
2720
|
+
ioc.loggerService.log("/api/v1/markdown_view/strategy_report ok", { request, result: omit(result, "data") });
|
|
2721
|
+
return await micro.send(res, 200, result);
|
|
2722
|
+
}
|
|
2723
|
+
catch (error) {
|
|
2724
|
+
ioc.loggerService.log("/api/v1/markdown_view/strategy_report error", { error: functoolsKit.errorData(error) });
|
|
2725
|
+
return await micro.send(res, 200, { status: "error", error: functoolsKit.getErrorMessage(error) });
|
|
2726
|
+
}
|
|
2727
|
+
});
|
|
2728
|
+
router$3.post("/api/v1/markdown_view/backtest_data", async (req, res) => {
|
|
2729
|
+
try {
|
|
2730
|
+
const request = await micro.json(req);
|
|
2731
|
+
const { requestId, serviceName, symbol, strategyName, exchangeName, frameName } = request;
|
|
2732
|
+
const data = await ioc.markdownViewService.getBacktestData(symbol, strategyName, exchangeName, frameName);
|
|
2733
|
+
const result = { data, status: "ok", error: "", requestId, serviceName };
|
|
2734
|
+
ioc.loggerService.log("/api/v1/markdown_view/backtest_data ok", { request, result: omit(result, "data") });
|
|
2735
|
+
return await micro.send(res, 200, result);
|
|
2736
|
+
}
|
|
2737
|
+
catch (error) {
|
|
2738
|
+
ioc.loggerService.log("/api/v1/markdown_view/backtest_data error", { error: functoolsKit.errorData(error) });
|
|
2739
|
+
return await micro.send(res, 200, { status: "error", error: functoolsKit.getErrorMessage(error) });
|
|
2740
|
+
}
|
|
2741
|
+
});
|
|
2742
|
+
router$3.post("/api/v1/markdown_view/backtest_report", async (req, res) => {
|
|
2743
|
+
try {
|
|
2744
|
+
const request = await micro.json(req);
|
|
2745
|
+
const { requestId, serviceName, symbol, strategyName, exchangeName, frameName } = request;
|
|
2746
|
+
const data = await ioc.markdownViewService.getBacktestReport(symbol, strategyName, exchangeName, frameName);
|
|
2747
|
+
const result = { data, status: "ok", error: "", requestId, serviceName };
|
|
2748
|
+
ioc.loggerService.log("/api/v1/markdown_view/backtest_report ok", { request, result: omit(result, "data") });
|
|
2749
|
+
return await micro.send(res, 200, result);
|
|
2750
|
+
}
|
|
2751
|
+
catch (error) {
|
|
2752
|
+
ioc.loggerService.log("/api/v1/markdown_view/backtest_report error", { error: functoolsKit.errorData(error) });
|
|
2753
|
+
return await micro.send(res, 200, { status: "error", error: functoolsKit.getErrorMessage(error) });
|
|
2754
|
+
}
|
|
2755
|
+
});
|
|
2756
|
+
router$3.post("/api/v1/markdown_view/live_data", async (req, res) => {
|
|
2757
|
+
try {
|
|
2758
|
+
const request = await micro.json(req);
|
|
2759
|
+
const { requestId, serviceName, symbol, strategyName, exchangeName } = request;
|
|
2760
|
+
const data = await ioc.markdownViewService.getLiveData(symbol, strategyName, exchangeName);
|
|
2761
|
+
const result = { data, status: "ok", error: "", requestId, serviceName };
|
|
2762
|
+
ioc.loggerService.log("/api/v1/markdown_view/live_data ok", { request, result: omit(result, "data") });
|
|
2763
|
+
return await micro.send(res, 200, result);
|
|
2764
|
+
}
|
|
2765
|
+
catch (error) {
|
|
2766
|
+
ioc.loggerService.log("/api/v1/markdown_view/live_data error", { error: functoolsKit.errorData(error) });
|
|
2767
|
+
return await micro.send(res, 200, { status: "error", error: functoolsKit.getErrorMessage(error) });
|
|
2768
|
+
}
|
|
2769
|
+
});
|
|
2770
|
+
router$3.post("/api/v1/markdown_view/live_report", async (req, res) => {
|
|
2771
|
+
try {
|
|
2772
|
+
const request = await micro.json(req);
|
|
2773
|
+
const { requestId, serviceName, symbol, strategyName, exchangeName } = request;
|
|
2774
|
+
const data = await ioc.markdownViewService.getLiveReport(symbol, strategyName, exchangeName);
|
|
2775
|
+
const result = { data, status: "ok", error: "", requestId, serviceName };
|
|
2776
|
+
ioc.loggerService.log("/api/v1/markdown_view/live_report ok", { request, result: omit(result, "data") });
|
|
2777
|
+
return await micro.send(res, 200, result);
|
|
2778
|
+
}
|
|
2779
|
+
catch (error) {
|
|
2780
|
+
ioc.loggerService.log("/api/v1/markdown_view/live_report error", { error: functoolsKit.errorData(error) });
|
|
2781
|
+
return await micro.send(res, 200, { status: "error", error: functoolsKit.getErrorMessage(error) });
|
|
2782
|
+
}
|
|
2783
|
+
});
|
|
2784
|
+
router$3.post("/api/v1/markdown_view/breakeven_data", async (req, res) => {
|
|
2785
|
+
try {
|
|
2786
|
+
const request = await micro.json(req);
|
|
2787
|
+
const { requestId, serviceName, symbol, strategyName, exchangeName, frameName, backtest } = request;
|
|
2788
|
+
const data = await ioc.markdownViewService.getBreakevenData(symbol, strategyName, exchangeName, frameName, backtest);
|
|
2789
|
+
const result = { data, status: "ok", error: "", requestId, serviceName };
|
|
2790
|
+
ioc.loggerService.log("/api/v1/markdown_view/breakeven_data ok", { request, result: omit(result, "data") });
|
|
2791
|
+
return await micro.send(res, 200, result);
|
|
2792
|
+
}
|
|
2793
|
+
catch (error) {
|
|
2794
|
+
ioc.loggerService.log("/api/v1/markdown_view/breakeven_data error", { error: functoolsKit.errorData(error) });
|
|
2795
|
+
return await micro.send(res, 200, { status: "error", error: functoolsKit.getErrorMessage(error) });
|
|
2796
|
+
}
|
|
2797
|
+
});
|
|
2798
|
+
router$3.post("/api/v1/markdown_view/breakeven_report", async (req, res) => {
|
|
2799
|
+
try {
|
|
2800
|
+
const request = await micro.json(req);
|
|
2801
|
+
const { requestId, serviceName, symbol, strategyName, exchangeName, frameName, backtest } = request;
|
|
2802
|
+
const data = await ioc.markdownViewService.getBreakevenReport(symbol, strategyName, exchangeName, frameName, backtest);
|
|
2803
|
+
const result = { data, status: "ok", error: "", requestId, serviceName };
|
|
2804
|
+
ioc.loggerService.log("/api/v1/markdown_view/breakeven_report ok", { request, result: omit(result, "data") });
|
|
2805
|
+
return await micro.send(res, 200, result);
|
|
2806
|
+
}
|
|
2807
|
+
catch (error) {
|
|
2808
|
+
ioc.loggerService.log("/api/v1/markdown_view/breakeven_report error", { error: functoolsKit.errorData(error) });
|
|
2809
|
+
return await micro.send(res, 200, { status: "error", error: functoolsKit.getErrorMessage(error) });
|
|
2810
|
+
}
|
|
2811
|
+
});
|
|
2812
|
+
router$3.post("/api/v1/markdown_view/risk_data", async (req, res) => {
|
|
2813
|
+
try {
|
|
2814
|
+
const request = await micro.json(req);
|
|
2815
|
+
const { requestId, serviceName, symbol, strategyName, exchangeName, frameName, backtest } = request;
|
|
2816
|
+
const data = await ioc.markdownViewService.getRiskData(symbol, strategyName, exchangeName, frameName, backtest);
|
|
2817
|
+
const result = { data, status: "ok", error: "", requestId, serviceName };
|
|
2818
|
+
ioc.loggerService.log("/api/v1/markdown_view/risk_data ok", { request, result: omit(result, "data") });
|
|
2819
|
+
return await micro.send(res, 200, result);
|
|
2820
|
+
}
|
|
2821
|
+
catch (error) {
|
|
2822
|
+
ioc.loggerService.log("/api/v1/markdown_view/risk_data error", { error: functoolsKit.errorData(error) });
|
|
2823
|
+
return await micro.send(res, 200, { status: "error", error: functoolsKit.getErrorMessage(error) });
|
|
2824
|
+
}
|
|
2825
|
+
});
|
|
2826
|
+
router$3.post("/api/v1/markdown_view/risk_report", async (req, res) => {
|
|
2827
|
+
try {
|
|
2828
|
+
const request = await micro.json(req);
|
|
2829
|
+
const { requestId, serviceName, symbol, strategyName, exchangeName, frameName, backtest } = request;
|
|
2830
|
+
const data = await ioc.markdownViewService.getRiskReport(symbol, strategyName, exchangeName, frameName, backtest);
|
|
2831
|
+
const result = { data, status: "ok", error: "", requestId, serviceName };
|
|
2832
|
+
ioc.loggerService.log("/api/v1/markdown_view/risk_report ok", { request, result: omit(result, "data") });
|
|
2833
|
+
return await micro.send(res, 200, result);
|
|
2834
|
+
}
|
|
2835
|
+
catch (error) {
|
|
2836
|
+
ioc.loggerService.log("/api/v1/markdown_view/risk_report error", { error: functoolsKit.errorData(error) });
|
|
2837
|
+
return await micro.send(res, 200, { status: "error", error: functoolsKit.getErrorMessage(error) });
|
|
2838
|
+
}
|
|
2839
|
+
});
|
|
2840
|
+
router$3.post("/api/v1/markdown_view/partial_data", async (req, res) => {
|
|
2841
|
+
try {
|
|
2842
|
+
const request = await micro.json(req);
|
|
2843
|
+
const { requestId, serviceName, symbol, strategyName, exchangeName, frameName, backtest } = request;
|
|
2844
|
+
const data = await ioc.markdownViewService.getPartialData(symbol, strategyName, exchangeName, frameName, backtest);
|
|
2845
|
+
const result = { data, status: "ok", error: "", requestId, serviceName };
|
|
2846
|
+
ioc.loggerService.log("/api/v1/markdown_view/partial_data ok", { request, result: omit(result, "data") });
|
|
2847
|
+
return await micro.send(res, 200, result);
|
|
2848
|
+
}
|
|
2849
|
+
catch (error) {
|
|
2850
|
+
ioc.loggerService.log("/api/v1/markdown_view/partial_data error", { error: functoolsKit.errorData(error) });
|
|
2851
|
+
return await micro.send(res, 200, { status: "error", error: functoolsKit.getErrorMessage(error) });
|
|
2852
|
+
}
|
|
2853
|
+
});
|
|
2854
|
+
router$3.post("/api/v1/markdown_view/partial_report", async (req, res) => {
|
|
2855
|
+
try {
|
|
2856
|
+
const request = await micro.json(req);
|
|
2857
|
+
const { requestId, serviceName, symbol, strategyName, exchangeName, frameName, backtest } = request;
|
|
2858
|
+
const data = await ioc.markdownViewService.getPartialReport(symbol, strategyName, exchangeName, frameName, backtest);
|
|
2859
|
+
const result = { data, status: "ok", error: "", requestId, serviceName };
|
|
2860
|
+
ioc.loggerService.log("/api/v1/markdown_view/partial_report ok", { request, result: omit(result, "data") });
|
|
2861
|
+
return await micro.send(res, 200, result);
|
|
2862
|
+
}
|
|
2863
|
+
catch (error) {
|
|
2864
|
+
ioc.loggerService.log("/api/v1/markdown_view/partial_report error", { error: functoolsKit.errorData(error) });
|
|
2865
|
+
return await micro.send(res, 200, { status: "error", error: functoolsKit.getErrorMessage(error) });
|
|
2866
|
+
}
|
|
2867
|
+
});
|
|
2868
|
+
router$3.post("/api/v1/markdown_view/highest_profit_data", async (req, res) => {
|
|
2869
|
+
try {
|
|
2870
|
+
const request = await micro.json(req);
|
|
2871
|
+
const { requestId, serviceName, symbol, strategyName, exchangeName, frameName, backtest } = request;
|
|
2872
|
+
const data = await ioc.markdownViewService.getHighestProfitData(symbol, strategyName, exchangeName, frameName, backtest);
|
|
2873
|
+
const result = { data, status: "ok", error: "", requestId, serviceName };
|
|
2874
|
+
ioc.loggerService.log("/api/v1/markdown_view/highest_profit_data ok", { request, result: omit(result, "data") });
|
|
2875
|
+
return await micro.send(res, 200, result);
|
|
2876
|
+
}
|
|
2877
|
+
catch (error) {
|
|
2878
|
+
ioc.loggerService.log("/api/v1/markdown_view/highest_profit_data error", { error: functoolsKit.errorData(error) });
|
|
2879
|
+
return await micro.send(res, 200, { status: "error", error: functoolsKit.getErrorMessage(error) });
|
|
2880
|
+
}
|
|
2881
|
+
});
|
|
2882
|
+
router$3.post("/api/v1/markdown_view/highest_profit_report", async (req, res) => {
|
|
2883
|
+
try {
|
|
2884
|
+
const request = await micro.json(req);
|
|
2885
|
+
const { requestId, serviceName, symbol, strategyName, exchangeName, frameName, backtest } = request;
|
|
2886
|
+
const data = await ioc.markdownViewService.getHighestProfitReport(symbol, strategyName, exchangeName, frameName, backtest);
|
|
2887
|
+
const result = { data, status: "ok", error: "", requestId, serviceName };
|
|
2888
|
+
ioc.loggerService.log("/api/v1/markdown_view/highest_profit_report ok", { request, result: omit(result, "data") });
|
|
2889
|
+
return await micro.send(res, 200, result);
|
|
2890
|
+
}
|
|
2891
|
+
catch (error) {
|
|
2892
|
+
ioc.loggerService.log("/api/v1/markdown_view/highest_profit_report error", { error: functoolsKit.errorData(error) });
|
|
2893
|
+
return await micro.send(res, 200, { status: "error", error: functoolsKit.getErrorMessage(error) });
|
|
2894
|
+
}
|
|
2895
|
+
});
|
|
2896
|
+
router$3.post("/api/v1/markdown_view/schedule_data", async (req, res) => {
|
|
2897
|
+
try {
|
|
2898
|
+
const request = await micro.json(req);
|
|
2899
|
+
const { requestId, serviceName, symbol, strategyName, exchangeName, frameName, backtest } = request;
|
|
2900
|
+
const data = await ioc.markdownViewService.getScheduleData(symbol, strategyName, exchangeName, frameName, backtest);
|
|
2901
|
+
const result = { data, status: "ok", error: "", requestId, serviceName };
|
|
2902
|
+
ioc.loggerService.log("/api/v1/markdown_view/schedule_data ok", { request, result: omit(result, "data") });
|
|
2903
|
+
return await micro.send(res, 200, result);
|
|
2904
|
+
}
|
|
2905
|
+
catch (error) {
|
|
2906
|
+
ioc.loggerService.log("/api/v1/markdown_view/schedule_data error", { error: functoolsKit.errorData(error) });
|
|
2907
|
+
return await micro.send(res, 200, { status: "error", error: functoolsKit.getErrorMessage(error) });
|
|
2908
|
+
}
|
|
2909
|
+
});
|
|
2910
|
+
router$3.post("/api/v1/markdown_view/schedule_report", async (req, res) => {
|
|
2911
|
+
try {
|
|
2912
|
+
const request = await micro.json(req);
|
|
2913
|
+
const { requestId, serviceName, symbol, strategyName, exchangeName, frameName, backtest } = request;
|
|
2914
|
+
const data = await ioc.markdownViewService.getScheduleReport(symbol, strategyName, exchangeName, frameName, backtest);
|
|
2915
|
+
const result = { data, status: "ok", error: "", requestId, serviceName };
|
|
2916
|
+
ioc.loggerService.log("/api/v1/markdown_view/schedule_report ok", { request, result: omit(result, "data") });
|
|
2917
|
+
return await micro.send(res, 200, result);
|
|
2918
|
+
}
|
|
2919
|
+
catch (error) {
|
|
2920
|
+
ioc.loggerService.log("/api/v1/markdown_view/schedule_report error", { error: functoolsKit.errorData(error) });
|
|
2921
|
+
return await micro.send(res, 200, { status: "error", error: functoolsKit.getErrorMessage(error) });
|
|
2922
|
+
}
|
|
2923
|
+
});
|
|
2924
|
+
router$3.post("/api/v1/markdown_view/performance_data", async (req, res) => {
|
|
2925
|
+
try {
|
|
2926
|
+
const request = await micro.json(req);
|
|
2927
|
+
const { requestId, serviceName, symbol, strategyName, exchangeName, frameName, backtest } = request;
|
|
2928
|
+
const data = await ioc.markdownViewService.getPerformanceData(symbol, strategyName, exchangeName, frameName, backtest);
|
|
2929
|
+
const result = { data, status: "ok", error: "", requestId, serviceName };
|
|
2930
|
+
ioc.loggerService.log("/api/v1/markdown_view/performance_data ok", { request, result: omit(result, "data") });
|
|
2931
|
+
return await micro.send(res, 200, result);
|
|
2932
|
+
}
|
|
2933
|
+
catch (error) {
|
|
2934
|
+
ioc.loggerService.log("/api/v1/markdown_view/performance_data error", { error: functoolsKit.errorData(error) });
|
|
2935
|
+
return await micro.send(res, 200, { status: "error", error: functoolsKit.getErrorMessage(error) });
|
|
2936
|
+
}
|
|
2937
|
+
});
|
|
2938
|
+
router$3.post("/api/v1/markdown_view/performance_report", async (req, res) => {
|
|
2939
|
+
try {
|
|
2940
|
+
const request = await micro.json(req);
|
|
2941
|
+
const { requestId, serviceName, symbol, strategyName, exchangeName, frameName, backtest } = request;
|
|
2942
|
+
const data = await ioc.markdownViewService.getPerformanceReport(symbol, strategyName, exchangeName, frameName, backtest);
|
|
2943
|
+
const result = { data, status: "ok", error: "", requestId, serviceName };
|
|
2944
|
+
ioc.loggerService.log("/api/v1/markdown_view/performance_report ok", { request, result: omit(result, "data") });
|
|
2945
|
+
return await micro.send(res, 200, result);
|
|
2946
|
+
}
|
|
2947
|
+
catch (error) {
|
|
2948
|
+
ioc.loggerService.log("/api/v1/markdown_view/performance_report error", { error: functoolsKit.errorData(error) });
|
|
2949
|
+
return await micro.send(res, 200, { status: "error", error: functoolsKit.getErrorMessage(error) });
|
|
2950
|
+
}
|
|
2951
|
+
});
|
|
2952
|
+
router$3.post("/api/v1/markdown_view/sync_data", async (req, res) => {
|
|
2953
|
+
try {
|
|
2954
|
+
const request = await micro.json(req);
|
|
2955
|
+
const { requestId, serviceName, symbol, strategyName, exchangeName, frameName, backtest } = request;
|
|
2956
|
+
const data = await ioc.markdownViewService.getSyncData(symbol, strategyName, exchangeName, frameName, backtest);
|
|
2957
|
+
const result = { data, status: "ok", error: "", requestId, serviceName };
|
|
2958
|
+
ioc.loggerService.log("/api/v1/markdown_view/sync_data ok", { request, result: omit(result, "data") });
|
|
2959
|
+
return await micro.send(res, 200, result);
|
|
2960
|
+
}
|
|
2961
|
+
catch (error) {
|
|
2962
|
+
ioc.loggerService.log("/api/v1/markdown_view/sync_data error", { error: functoolsKit.errorData(error) });
|
|
2963
|
+
return await micro.send(res, 200, { status: "error", error: functoolsKit.getErrorMessage(error) });
|
|
2964
|
+
}
|
|
2965
|
+
});
|
|
2966
|
+
router$3.post("/api/v1/markdown_view/sync_report", async (req, res) => {
|
|
2967
|
+
try {
|
|
2968
|
+
const request = await micro.json(req);
|
|
2969
|
+
const { requestId, serviceName, symbol, strategyName, exchangeName, frameName, backtest } = request;
|
|
2970
|
+
const data = await ioc.markdownViewService.getSyncReport(symbol, strategyName, exchangeName, frameName, backtest);
|
|
2971
|
+
const result = { data, status: "ok", error: "", requestId, serviceName };
|
|
2972
|
+
ioc.loggerService.log("/api/v1/markdown_view/sync_report ok", { request, result: omit(result, "data") });
|
|
2973
|
+
return await micro.send(res, 200, result);
|
|
2974
|
+
}
|
|
2975
|
+
catch (error) {
|
|
2976
|
+
ioc.loggerService.log("/api/v1/markdown_view/sync_report error", { error: functoolsKit.errorData(error) });
|
|
2977
|
+
return await micro.send(res, 200, { status: "error", error: functoolsKit.getErrorMessage(error) });
|
|
2978
|
+
}
|
|
2979
|
+
});
|
|
2980
|
+
router$3.post("/api/v1/markdown_view/heat_data", async (req, res) => {
|
|
2981
|
+
try {
|
|
2982
|
+
const request = await micro.json(req);
|
|
2983
|
+
const { requestId, serviceName, strategyName, exchangeName, frameName, backtest } = request;
|
|
2984
|
+
const data = await ioc.markdownViewService.getHeatData(strategyName, exchangeName, frameName, backtest);
|
|
2985
|
+
const result = { data, status: "ok", error: "", requestId, serviceName };
|
|
2986
|
+
ioc.loggerService.log("/api/v1/markdown_view/heat_data ok", { request, result: omit(result, "data") });
|
|
2987
|
+
return await micro.send(res, 200, result);
|
|
2988
|
+
}
|
|
2989
|
+
catch (error) {
|
|
2990
|
+
ioc.loggerService.log("/api/v1/markdown_view/heat_data error", { error: functoolsKit.errorData(error) });
|
|
2991
|
+
return await micro.send(res, 200, { status: "error", error: functoolsKit.getErrorMessage(error) });
|
|
2992
|
+
}
|
|
2993
|
+
});
|
|
2994
|
+
router$3.post("/api/v1/markdown_view/heat_report", async (req, res) => {
|
|
2995
|
+
try {
|
|
2996
|
+
const request = await micro.json(req);
|
|
2997
|
+
const { requestId, serviceName, strategyName, exchangeName, frameName, backtest } = request;
|
|
2998
|
+
const data = await ioc.markdownViewService.getHeatReport(strategyName, exchangeName, frameName, backtest);
|
|
2999
|
+
const result = { data, status: "ok", error: "", requestId, serviceName };
|
|
3000
|
+
ioc.loggerService.log("/api/v1/markdown_view/heat_report ok", { request, result: omit(result, "data") });
|
|
3001
|
+
return await micro.send(res, 200, result);
|
|
3002
|
+
}
|
|
3003
|
+
catch (error) {
|
|
3004
|
+
ioc.loggerService.log("/api/v1/markdown_view/heat_report error", { error: functoolsKit.errorData(error) });
|
|
3005
|
+
return await micro.send(res, 200, { status: "error", error: functoolsKit.getErrorMessage(error) });
|
|
3006
|
+
}
|
|
3007
|
+
});
|
|
3008
|
+
router$3.post("/api/v1/markdown_view/walker_data", async (req, res) => {
|
|
3009
|
+
try {
|
|
3010
|
+
const request = await micro.json(req);
|
|
3011
|
+
const { requestId, serviceName, symbol, walkerName } = request;
|
|
3012
|
+
const data = await ioc.markdownViewService.getWalkerData(symbol, walkerName);
|
|
3013
|
+
const result = { data, status: "ok", error: "", requestId, serviceName };
|
|
3014
|
+
ioc.loggerService.log("/api/v1/markdown_view/walker_data ok", { request, result: omit(result, "data") });
|
|
3015
|
+
return await micro.send(res, 200, result);
|
|
3016
|
+
}
|
|
3017
|
+
catch (error) {
|
|
3018
|
+
ioc.loggerService.log("/api/v1/markdown_view/walker_data error", { error: functoolsKit.errorData(error) });
|
|
3019
|
+
return await micro.send(res, 200, { status: "error", error: functoolsKit.getErrorMessage(error) });
|
|
3020
|
+
}
|
|
3021
|
+
});
|
|
3022
|
+
router$3.post("/api/v1/markdown_view/walker_report", async (req, res) => {
|
|
3023
|
+
try {
|
|
3024
|
+
const request = await micro.json(req);
|
|
3025
|
+
const { requestId, serviceName, symbol, walkerName } = request;
|
|
3026
|
+
const data = await ioc.markdownViewService.getWalkerReport(symbol, walkerName);
|
|
3027
|
+
const result = { data, status: "ok", error: "", requestId, serviceName };
|
|
3028
|
+
ioc.loggerService.log("/api/v1/markdown_view/walker_report ok", { request, result: omit(result, "data") });
|
|
3029
|
+
return await micro.send(res, 200, result);
|
|
3030
|
+
}
|
|
3031
|
+
catch (error) {
|
|
3032
|
+
ioc.loggerService.log("/api/v1/markdown_view/walker_report error", { error: functoolsKit.errorData(error) });
|
|
3033
|
+
return await micro.send(res, 200, { status: "error", error: functoolsKit.getErrorMessage(error) });
|
|
3034
|
+
}
|
|
3035
|
+
});
|
|
3036
|
+
|
|
1982
3037
|
const router$2 = Router({
|
|
1983
3038
|
params: true,
|
|
1984
3039
|
});
|
|
@@ -2010,6 +3065,34 @@ router$2.post("/api/v1/global/signal_pending_price", async (req, res) => {
|
|
|
2010
3065
|
});
|
|
2011
3066
|
}
|
|
2012
3067
|
});
|
|
3068
|
+
router$2.post("/api/v1/global/backtest_list", async (req, res) => {
|
|
3069
|
+
try {
|
|
3070
|
+
const request = await micro.json(req);
|
|
3071
|
+
const { requestId, serviceName } = request;
|
|
3072
|
+
const data = await ioc.backtestMetaService.list();
|
|
3073
|
+
const result = { data, status: "ok", error: "", requestId, serviceName };
|
|
3074
|
+
ioc.loggerService.log("/api/v1/global/backtest_list ok", { request, result: omit(result, "data") });
|
|
3075
|
+
return await micro.send(res, 200, result);
|
|
3076
|
+
}
|
|
3077
|
+
catch (error) {
|
|
3078
|
+
ioc.loggerService.log("/api/v1/global/backtest_list error", { error: functoolsKit.errorData(error) });
|
|
3079
|
+
return await micro.send(res, 200, { status: "error", error: functoolsKit.getErrorMessage(error) });
|
|
3080
|
+
}
|
|
3081
|
+
});
|
|
3082
|
+
router$2.post("/api/v1/global/live_list", async (req, res) => {
|
|
3083
|
+
try {
|
|
3084
|
+
const request = await micro.json(req);
|
|
3085
|
+
const { requestId, serviceName } = request;
|
|
3086
|
+
const data = await ioc.liveMetaService.list();
|
|
3087
|
+
const result = { data, status: "ok", error: "", requestId, serviceName };
|
|
3088
|
+
ioc.loggerService.log("/api/v1/global/live_list ok", { request, result: omit(result, "data") });
|
|
3089
|
+
return await micro.send(res, 200, result);
|
|
3090
|
+
}
|
|
3091
|
+
catch (error) {
|
|
3092
|
+
ioc.loggerService.log("/api/v1/global/live_list error", { error: functoolsKit.errorData(error) });
|
|
3093
|
+
return await micro.send(res, 200, { status: "error", error: functoolsKit.getErrorMessage(error) });
|
|
3094
|
+
}
|
|
3095
|
+
});
|
|
2013
3096
|
|
|
2014
3097
|
const require$1 = module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index.cjs', document.baseURI).href)));
|
|
2015
3098
|
function getPublicPath() {
|
|
@@ -2022,20 +3105,26 @@ const router = Router({
|
|
|
2022
3105
|
params: true,
|
|
2023
3106
|
});
|
|
2024
3107
|
router.all("/api/v1/health/*", (req, res) => {
|
|
2025
|
-
return router$
|
|
3108
|
+
return router$9(req, res, finalhandler(req, res));
|
|
2026
3109
|
});
|
|
2027
3110
|
router.all("/api/v1/mock/*", (req, res) => {
|
|
2028
|
-
return router$
|
|
3111
|
+
return router$8(req, res, finalhandler(req, res));
|
|
2029
3112
|
});
|
|
2030
3113
|
router.all("/api/v1/view/*", (req, res) => {
|
|
2031
|
-
return router$
|
|
3114
|
+
return router$7(req, res, finalhandler(req, res));
|
|
2032
3115
|
});
|
|
2033
|
-
router.all("/
|
|
3116
|
+
router.all("/api/v1/markdown_mock/*", (req, res) => {
|
|
2034
3117
|
return router$4(req, res, finalhandler(req, res));
|
|
2035
3118
|
});
|
|
2036
|
-
router.all("/api/v1/
|
|
3119
|
+
router.all("/api/v1/markdown_view/*", (req, res) => {
|
|
2037
3120
|
return router$3(req, res, finalhandler(req, res));
|
|
2038
3121
|
});
|
|
3122
|
+
router.all("/icon/*", (req, res) => {
|
|
3123
|
+
return router$6(req, res, finalhandler(req, res));
|
|
3124
|
+
});
|
|
3125
|
+
router.all("/api/v1/dict/*", (req, res) => {
|
|
3126
|
+
return router$5(req, res, finalhandler(req, res));
|
|
3127
|
+
});
|
|
2039
3128
|
router.all("/api/v1/global/*", (req, res) => {
|
|
2040
3129
|
return router$2(req, res, finalhandler(req, res));
|
|
2041
3130
|
});
|