@backtest-kit/cli 9.5.0 → 9.7.0

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.
Files changed (34) hide show
  1. package/README.md +1854 -1738
  2. package/build/index.cjs +302 -207
  3. package/build/index.mjs +302 -207
  4. package/config/notification.config.mjs +13 -13
  5. package/config/symbol.config.mjs +460 -460
  6. package/docker/.env.example +2 -2
  7. package/docker/README.md +1 -0
  8. package/docker/content/feb_2026/feb_2026.strategy.ts +11 -11
  9. package/docker/content/feb_2026/modules/backtest.module.ts +83 -83
  10. package/docker/docker-compose.yaml +46 -46
  11. package/docker/package.json +38 -38
  12. package/docker/tsconfig.json +36 -36
  13. package/package.json +126 -126
  14. package/template/average-buy.mustache +22 -22
  15. package/template/breakeven.mustache +21 -21
  16. package/template/cancel-scheduled.mustache +14 -14
  17. package/template/cancelled.mustache +21 -21
  18. package/template/close-pending.mustache +16 -16
  19. package/template/closed.mustache +23 -23
  20. package/template/opened.mustache +22 -22
  21. package/template/partial-loss.mustache +22 -22
  22. package/template/partial-profit.mustache +22 -22
  23. package/template/project/README.md +1 -0
  24. package/template/project/config/symbol.config.ts +460 -460
  25. package/template/project/package.mustache +28 -28
  26. package/template/risk.mustache +19 -19
  27. package/template/scheduled.mustache +22 -22
  28. package/template/signal-close.mustache +22 -22
  29. package/template/signal-info.mustache +20 -20
  30. package/template/signal-open.mustache +22 -22
  31. package/template/source/CLAUDE.md +160 -160
  32. package/template/trailing-stop.mustache +21 -21
  33. package/template/trailing-take.mustache +21 -21
  34. package/types.d.ts +1 -6
@@ -1,22 +1,22 @@
1
- **🛡️ Trailing Stop**
2
-
3
- **Symbol:** `{{symbol}}` ({{position}})
4
-
5
- **Current:** `{{currentPrice}}`
6
- **Entry:** `{{priceOpen}}`
7
- **Orig Entry:** `{{originalPriceOpen}}`
8
- **Take Profit:** `{{priceTakeProfit}}`
9
- **Orig TP:** `{{originalPriceTakeProfit}}`
10
- **Old Stop Loss:** `{{originalPriceStopLoss}}`
11
- **New Stop Loss:** `{{priceStopLoss}}` ({{percentShift}}%)
12
- **DCA Entries:** `{{totalEntries}}`
13
- **Partials Done:** `{{totalPartials}}`
14
- **PnL:** {{pnl.pnlPercentage}}% ({{pnl.pnlCost}} / {{pnl.pnlEntries}})
15
- **Peak Profit:** {{peakProfit.pnlPercentage}}% ({{peakProfit.pnlCost}} / {{peakProfit.pnlEntries}})
16
- **Max Drawdown:** {{maxDrawdown.pnlPercentage}}% ({{maxDrawdown.pnlCost}} / {{maxDrawdown.pnlEntries}})
17
- **Signal ID:** `{{signalId}}`
18
- **Time:** `{{timestamp}}`
19
-
20
- {{#backtest}}
21
- _🧪 Backtest_
1
+ **🛡️ Trailing Stop**
2
+
3
+ **Symbol:** `{{symbol}}` ({{position}})
4
+
5
+ **Current:** `{{currentPrice}}`
6
+ **Entry:** `{{priceOpen}}`
7
+ **Orig Entry:** `{{originalPriceOpen}}`
8
+ **Take Profit:** `{{priceTakeProfit}}`
9
+ **Orig TP:** `{{originalPriceTakeProfit}}`
10
+ **Old Stop Loss:** `{{originalPriceStopLoss}}`
11
+ **New Stop Loss:** `{{priceStopLoss}}` ({{percentShift}}%)
12
+ **DCA Entries:** `{{totalEntries}}`
13
+ **Partials Done:** `{{totalPartials}}`
14
+ **PnL:** {{pnl.pnlPercentage}}% ({{pnl.pnlCost}} / {{pnl.pnlEntries}})
15
+ **Peak Profit:** {{peakProfit.pnlPercentage}}% ({{peakProfit.pnlCost}} / {{peakProfit.pnlEntries}})
16
+ **Max Drawdown:** {{maxDrawdown.pnlPercentage}}% ({{maxDrawdown.pnlCost}} / {{maxDrawdown.pnlEntries}})
17
+ **Signal ID:** `{{signalId}}`
18
+ **Time:** `{{timestamp}}`
19
+
20
+ {{#backtest}}
21
+ _🧪 Backtest_
22
22
  {{/backtest}}
@@ -1,22 +1,22 @@
1
- **🎯 Trailing Take**
2
-
3
- **Symbol:** `{{symbol}}` ({{position}})
4
-
5
- **Current:** `{{currentPrice}}`
6
- **Entry:** `{{priceOpen}}`
7
- **Orig Entry:** `{{originalPriceOpen}}`
8
- **Old Take Profit:** `{{originalPriceTakeProfit}}`
9
- **New Take Profit:** `{{priceTakeProfit}}` ({{percentShift}}%)
10
- **Stop Loss:** `{{priceStopLoss}}`
11
- **Orig SL:** `{{originalPriceStopLoss}}`
12
- **DCA Entries:** `{{totalEntries}}`
13
- **Partials Done:** `{{totalPartials}}`
14
- **PnL:** {{pnl.pnlPercentage}}% ({{pnl.pnlCost}} / {{pnl.pnlEntries}})
15
- **Peak Profit:** {{peakProfit.pnlPercentage}}% ({{peakProfit.pnlCost}} / {{peakProfit.pnlEntries}})
16
- **Max Drawdown:** {{maxDrawdown.pnlPercentage}}% ({{maxDrawdown.pnlCost}} / {{maxDrawdown.pnlEntries}})
17
- **Signal ID:** `{{signalId}}`
18
- **Time:** `{{timestamp}}`
19
-
20
- {{#backtest}}
21
- _🧪 Backtest_
1
+ **🎯 Trailing Take**
2
+
3
+ **Symbol:** `{{symbol}}` ({{position}})
4
+
5
+ **Current:** `{{currentPrice}}`
6
+ **Entry:** `{{priceOpen}}`
7
+ **Orig Entry:** `{{originalPriceOpen}}`
8
+ **Old Take Profit:** `{{originalPriceTakeProfit}}`
9
+ **New Take Profit:** `{{priceTakeProfit}}` ({{percentShift}}%)
10
+ **Stop Loss:** `{{priceStopLoss}}`
11
+ **Orig SL:** `{{originalPriceStopLoss}}`
12
+ **DCA Entries:** `{{totalEntries}}`
13
+ **Partials Done:** `{{totalPartials}}`
14
+ **PnL:** {{pnl.pnlPercentage}}% ({{pnl.pnlCost}} / {{pnl.pnlEntries}})
15
+ **Peak Profit:** {{peakProfit.pnlPercentage}}% ({{peakProfit.pnlCost}} / {{peakProfit.pnlEntries}})
16
+ **Max Drawdown:** {{maxDrawdown.pnlPercentage}}% ({{maxDrawdown.pnlCost}} / {{maxDrawdown.pnlEntries}})
17
+ **Signal ID:** `{{signalId}}`
18
+ **Time:** `{{timestamp}}`
19
+
20
+ {{#backtest}}
21
+ _🧪 Backtest_
22
22
  {{/backtest}}
package/types.d.ts CHANGED
@@ -240,17 +240,12 @@ declare class SymbolSchemaService {
240
240
  addSchema: (() => Promise<void>) & functools_kit.ISingleshotClearable<() => Promise<void>>;
241
241
  }
242
242
 
243
- type ModuleExports = {
244
- [key: string]: any;
245
- default?: any;
246
- };
247
-
248
243
  declare class ConfigConnectionService {
249
244
  readonly loggerService: LoggerService;
250
245
  readonly resolveService: ResolveService;
251
246
  readonly loaderService: LoaderService;
252
247
  hasConfig: (fileName: string) => boolean;
253
- loadConfig: ((fileName: string) => Promise<ModuleExports>) & functools_kit.IClearableMemoize<string> & functools_kit.IControlMemoize<string, Promise<ModuleExports>>;
248
+ loadConfig: ((fileName: string) => Promise<any>) & functools_kit.IClearableMemoize<string> & functools_kit.IControlMemoize<string, Promise<any>>;
254
249
  }
255
250
 
256
251
  declare class FrontendProviderService {