@backtest-kit/cli 3.7.0 → 4.0.1

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.
@@ -0,0 +1,21 @@
1
+ **📭 Order Filled (Close)**
2
+
3
+ **Symbol:** `{{symbol}}` ({{position}})
4
+
5
+ **Reason:** `{{closeReason}}`
6
+ **Current:** `{{currentPrice}}`
7
+ **Entry:** `{{priceOpen}}`
8
+ **Orig Entry:** `{{originalPriceOpen}}`
9
+ **Take Profit:** `{{priceTakeProfit}}`
10
+ **Stop Loss:** `{{priceStopLoss}}`
11
+ **Orig TP:** `{{originalPriceTakeProfit}}`
12
+ **Orig SL:** `{{originalPriceStopLoss}}`
13
+ **DCA Entries:** `{{totalEntries}}`
14
+ **Partials Done:** `{{totalPartials}}`
15
+ **PnL:** {{pnl.pnlPercentage}}% ({{pnl.pnlCost}} / {{pnl.pnlEntries}})
16
+ **Signal ID:** `{{signalId}}`
17
+ **Time:** `{{timestamp}}`
18
+
19
+ {{#backtest}}
20
+ _🧪 Backtest_
21
+ {{/backtest}}
@@ -0,0 +1,21 @@
1
+ **📬 Order Filled (Open)**
2
+
3
+ **Symbol:** `{{symbol}}` ({{position}})
4
+
5
+ **Current:** `{{currentPrice}}`
6
+ **Entry:** `{{priceOpen}}`
7
+ **Orig Entry:** `{{originalPriceOpen}}`
8
+ **Cost:** `{{cost}}`
9
+ **Take Profit:** `{{priceTakeProfit}}`
10
+ **Stop Loss:** `{{priceStopLoss}}`
11
+ **Orig TP:** `{{originalPriceTakeProfit}}`
12
+ **Orig SL:** `{{originalPriceStopLoss}}`
13
+ **DCA Entries:** `{{totalEntries}}`
14
+ **Partials Done:** `{{totalPartials}}`
15
+ **PnL:** {{pnl.pnlPercentage}}% ({{pnl.pnlCost}} / {{pnl.pnlEntries}})
16
+ **Signal ID:** `{{signalId}}`
17
+ **Time:** `{{timestamp}}`
18
+
19
+ {{#backtest}}
20
+ _🧪 Backtest_
21
+ {{/backtest}}
@@ -4,14 +4,17 @@
4
4
 
5
5
  **Current:** `{{currentPrice}}`
6
6
  **Entry:** `{{priceOpen}}`
7
+ **Orig Entry:** `{{originalPriceOpen}}`
7
8
  **Take Profit:** `{{priceTakeProfit}}`
9
+ **Orig TP:** `{{originalPriceTakeProfit}}`
8
10
  **Old Stop Loss:** `{{originalPriceStopLoss}}`
9
11
  **New Stop Loss:** `{{priceStopLoss}}` ({{percentShift}}%)
10
- **Orig Entry:** `{{originalPriceOpen}}`
11
12
  **DCA Entries:** `{{totalEntries}}`
13
+ **Partials Done:** `{{totalPartials}}`
14
+ **PnL:** {{pnl.pnlPercentage}}% ({{pnl.pnlCost}} / {{pnl.pnlEntries}})
12
15
  **Signal ID:** `{{signalId}}`
13
16
  **Time:** `{{timestamp}}`
14
17
 
15
18
  {{#backtest}}
16
19
  _🧪 Backtest_
17
- {{/backtest}}
20
+ {{/backtest}}
@@ -4,14 +4,17 @@
4
4
 
5
5
  **Current:** `{{currentPrice}}`
6
6
  **Entry:** `{{priceOpen}}`
7
+ **Orig Entry:** `{{originalPriceOpen}}`
7
8
  **Old Take Profit:** `{{originalPriceTakeProfit}}`
8
9
  **New Take Profit:** `{{priceTakeProfit}}` ({{percentShift}}%)
9
10
  **Stop Loss:** `{{priceStopLoss}}`
10
- **Orig Entry:** `{{originalPriceOpen}}`
11
+ **Orig SL:** `{{originalPriceStopLoss}}`
11
12
  **DCA Entries:** `{{totalEntries}}`
13
+ **Partials Done:** `{{totalPartials}}`
14
+ **PnL:** {{pnl.pnlPercentage}}% ({{pnl.pnlCost}} / {{pnl.pnlEntries}})
12
15
  **Signal ID:** `{{signalId}}`
13
16
  **Time:** `{{timestamp}}`
14
17
 
15
18
  {{#backtest}}
16
19
  _🧪 Backtest_
17
- {{/backtest}}
20
+ {{/backtest}}
package/types.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as functools_kit from 'functools-kit';
2
2
  import * as BacktestKit from 'backtest-kit';
3
- import { CandleInterval, TrailingTakeCommit, TrailingStopCommit, BreakevenCommit, PartialProfitCommit, PartialLossCommit, IStrategyTickResultScheduled, IStrategyTickResultCancelled, IStrategyTickResultOpened, IStrategyTickResultClosed, RiskContract, AverageBuyCommit } from 'backtest-kit';
3
+ import { CandleInterval, TrailingTakeCommit, TrailingStopCommit, BreakevenCommit, PartialProfitCommit, PartialLossCommit, IStrategyTickResultScheduled, IStrategyTickResultCancelled, IStrategyTickResultOpened, IStrategyTickResultClosed, RiskContract, AverageBuyCommit, SignalOpenContract, SignalCloseContract } from 'backtest-kit';
4
4
  import * as BacktestKitUi from '@backtest-kit/ui';
5
5
  import * as BacktestKitGraph from '@backtest-kit/graph';
6
6
  import * as BacktestKitOllama from '@backtest-kit/ollama';
@@ -31,6 +31,7 @@ declare class PaperMainService {
31
31
  private symbolSchemaService;
32
32
  private frontendProviderService;
33
33
  private telegramProviderService;
34
+ private moduleConnectionService;
34
35
  run: ((payload: {
35
36
  entryPoint: string;
36
37
  symbol: string;
@@ -48,7 +49,7 @@ declare class LiveMainService {
48
49
  private symbolSchemaService;
49
50
  private frontendProviderService;
50
51
  private telegramProviderService;
51
- private liveProviderService;
52
+ private moduleConnectionService;
52
53
  run: ((payload: {
53
54
  entryPoint: string;
54
55
  symbol: string;
@@ -68,6 +69,7 @@ declare class BacktestMainService {
68
69
  private cacheLogicService;
69
70
  private frontendProviderService;
70
71
  private telegramProviderService;
72
+ private moduleConnectionService;
71
73
  run: ((payload: {
72
74
  entryPoint: string;
73
75
  symbol: string;
@@ -197,6 +199,8 @@ declare class TelegramLogicService {
197
199
  private notifyClosed;
198
200
  private notifyRisk;
199
201
  private notifyAverageBuy;
202
+ private notifySignalOpen;
203
+ private notifySignalClose;
200
204
  connect: (() => () => void) & functools_kit.ISingleshotClearable;
201
205
  }
202
206
 
@@ -214,49 +218,15 @@ declare class TelegramTemplateService {
214
218
  getClosedMarkdown: (event: IStrategyTickResultClosed) => Promise<string>;
215
219
  getRiskMarkdown: (event: RiskContract) => Promise<string>;
216
220
  getAverageBuyMarkdown: (event: AverageBuyCommit) => Promise<string>;
221
+ getSignalOpenMarkdown: (event: SignalOpenContract) => Promise<string>;
222
+ getSignalCloseMarkdown: (event: SignalCloseContract) => Promise<string>;
217
223
  }
218
224
 
219
- interface ILiveModule {
220
- onTrailingTake(event: TrailingTakeCommit): Promise<void> | void;
221
- onTrailingStop(event: TrailingStopCommit): Promise<void> | void;
222
- onBreakeven(event: BreakevenCommit): Promise<void> | void;
223
- onPartialProfit(event: PartialProfitCommit): Promise<void> | void;
224
- onPartialLoss(event: PartialLossCommit): Promise<void> | void;
225
- onScheduled(event: IStrategyTickResultScheduled): Promise<void> | void;
226
- onCancelled(event: IStrategyTickResultCancelled): Promise<void> | void;
227
- onOpened(event: IStrategyTickResultOpened): Promise<void> | void;
228
- onClosed(event: IStrategyTickResultClosed): Promise<void> | void;
229
- onRisk(event: RiskContract): Promise<void> | void;
230
- onAverageBuy(event: AverageBuyCommit): Promise<void> | void;
231
- }
232
- type LiveModule = Partial<ILiveModule>;
233
- type BaseModule = LiveModule;
234
- type TBaseModuleCtor = new () => BaseModule;
235
-
236
225
  declare class ModuleConnectionService {
237
226
  readonly loggerService: LoggerService;
238
227
  readonly resolveService: ResolveService;
239
228
  readonly babelService: BabelService;
240
- getInstance: ((fileName: string) => Promise<BaseModule>) & functools_kit.IClearableMemoize<string> & functools_kit.IControlMemoize<string, Promise<Partial<ILiveModule>>>;
241
- }
242
-
243
- declare class LiveProviderService {
244
- readonly loggerService: LoggerService;
245
- readonly moduleConnectionService: ModuleConnectionService;
246
- private handleTrailingTake;
247
- private handleTrailingStop;
248
- private handleBreakeven;
249
- private handlePartialProfit;
250
- private handlePartialLoss;
251
- private handleScheduled;
252
- private handleCancelled;
253
- private handleOpened;
254
- private handleClosed;
255
- private handleRisk;
256
- private handleAverageBuy;
257
- enable: (() => (...args: any[]) => any) & functools_kit.ISingleshotClearable;
258
- disable: () => void;
259
- connect: (() => Promise<() => void>) & functools_kit.ISingleshotClearable;
229
+ loadModule: (fileName: string) => Promise<boolean>;
260
230
  }
261
231
 
262
232
  declare const cli: {
@@ -264,7 +234,6 @@ declare const cli: {
264
234
  telegramWebService: TelegramWebService;
265
235
  frontendProviderService: FrontendProviderService;
266
236
  telegramProviderService: TelegramProviderService;
267
- liveProviderService: LiveProviderService;
268
237
  exchangeSchemaService: ExchangeSchemaService;
269
238
  symbolSchemaService: SymbolSchemaService;
270
239
  frameSchemaService: FrameSchemaService;
@@ -299,4 +268,4 @@ type Mode = "backtest" | "live" | "paper";
299
268
  type Args = Partial<PayloadBacktest> | Partial<PayloadPaper> | Partial<PayloadLive>;
300
269
  declare function run(mode: Mode, args: Args): Promise<void>;
301
270
 
302
- export { type BaseModule, ExchangeName, FrameName, type ILiveModule, type ILogger, type LiveModule, type TBaseModuleCtor, cli, run, setLogger };
271
+ export { ExchangeName, FrameName, type ILogger, cli, run, setLogger };