backtest-kit 3.6.0 → 3.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "backtest-kit",
3
- "version": "3.6.0",
3
+ "version": "3.7.0",
4
4
  "description": "A TypeScript library for trading system backtest",
5
5
  "author": {
6
6
  "name": "Petr Tripolsky",
package/types.d.ts CHANGED
@@ -2989,10 +2989,12 @@ interface ILogEntry {
2989
2989
  id: string;
2990
2990
  /** Log level */
2991
2991
  type: "log" | "debug" | "info" | "warn";
2992
- /** Unix timestamp in milliseconds when the entry was created */
2993
- timestamp: number;
2992
+ /** Current Unix timestamp in milliseconds for storage rotate */
2993
+ priority: number;
2994
2994
  /** Date taken from backtest context to improve user experience */
2995
2995
  createdAt: string;
2996
+ /** Unix timestamp in milliseconds taken from backtest context to improve user experience */
2997
+ timestamp: number;
2996
2998
  /** Optional method context associated with the log entry, providing additional details about the execution environment or state when the log was recorded */
2997
2999
  methodContext: IMethodContext | null;
2998
3000
  /** Optional execution context associated with the log entry, providing additional details about the execution environment or state when the log was recorded */
@@ -4738,7 +4740,6 @@ declare function getDefaultColumns(): Readonly<{
4738
4740
  * priceTakeProfit: 51000,
4739
4741
  * priceStopLoss: 49000,
4740
4742
  * minuteEstimatedTime: 60,
4741
- * timestamp: Date.now(),
4742
4743
  * }),
4743
4744
  * callbacks: {
4744
4745
  * onOpen: (symbol, signal, currentPrice, backtest) => console.log("Signal opened"),
@@ -6859,6 +6860,20 @@ declare function formatQuantity(symbol: string, quantity: number): Promise<strin
6859
6860
  * ```
6860
6861
  */
6861
6862
  declare function getDate(): Promise<Date>;
6863
+ /**
6864
+ * Gets the current timestamp from execution context.
6865
+ *
6866
+ * In backtest mode: returns the current timeframe timestamp being processed
6867
+ * In live mode: returns current real-time timestamp
6868
+ *
6869
+ * @returns Promise resolving to current execution context timestamp in milliseconds
6870
+ * @example
6871
+ * ```typescript
6872
+ * const timestamp = await getTimestamp();
6873
+ * console.log(timestamp); // 1700000000000
6874
+ * ```
6875
+ */
6876
+ declare function getTimestamp(): Promise<number>;
6862
6877
  /**
6863
6878
  * Gets the current execution mode.
6864
6879
  *
@@ -8443,6 +8458,10 @@ declare const BASE_WAIT_FOR_INIT_SYMBOL: unique symbol;
8443
8458
  * Contains nullable signal for atomic updates.
8444
8459
  */
8445
8460
  type SignalData = ISignalRow | null;
8461
+ /**
8462
+ * Cache.file data type stored in persistence layer.
8463
+ */
8464
+ type MeasureData = unknown;
8446
8465
  /**
8447
8466
  * Type helper for PersistBase instance.
8448
8467
  */
@@ -9314,6 +9333,57 @@ declare class PersistLogUtils {
9314
9333
  * Used by LogPersistUtils for log entry persistence.
9315
9334
  */
9316
9335
  declare const PersistLogAdapter: PersistLogUtils;
9336
+ /**
9337
+ * Utility class for managing external API response cache persistence.
9338
+ *
9339
+ * Features:
9340
+ * - Memoized storage instances per cache bucket (aligned timestamp + symbol)
9341
+ * - Custom adapter support
9342
+ * - Atomic read/write operations
9343
+ * - Crash-safe cache state management
9344
+ *
9345
+ * Used by Cache.file for persistent caching of external API responses.
9346
+ */
9347
+ declare class PersistMeasureUtils {
9348
+ private PersistMeasureFactory;
9349
+ private getMeasureStorage;
9350
+ /**
9351
+ * Registers a custom persistence adapter.
9352
+ *
9353
+ * @param Ctor - Custom PersistBase constructor
9354
+ */
9355
+ usePersistMeasureAdapter(Ctor: TPersistBaseCtor<string, unknown>): void;
9356
+ /**
9357
+ * Reads cached measure data for a given bucket and key.
9358
+ *
9359
+ * @param bucket - Storage bucket (e.g. aligned timestamp + symbol)
9360
+ * @param key - Dynamic cache key within the bucket
9361
+ * @returns Promise resolving to cached value or null if not found
9362
+ */
9363
+ readMeasureData: (bucket: string, key: string) => Promise<MeasureData | null>;
9364
+ /**
9365
+ * Writes measure data to disk with atomic file writes.
9366
+ *
9367
+ * @param data - Data to cache
9368
+ * @param bucket - Storage bucket (e.g. aligned timestamp + symbol)
9369
+ * @param key - Dynamic cache key within the bucket
9370
+ * @returns Promise that resolves when write is complete
9371
+ */
9372
+ writeMeasureData: (data: MeasureData, bucket: string, key: string) => Promise<void>;
9373
+ /**
9374
+ * Switches to the default JSON persist adapter.
9375
+ */
9376
+ useJson(): void;
9377
+ /**
9378
+ * Switches to a dummy persist adapter that discards all writes.
9379
+ */
9380
+ useDummy(): void;
9381
+ }
9382
+ /**
9383
+ * Global singleton instance of PersistMeasureUtils.
9384
+ * Used by Cache.file for persistent caching of external API responses.
9385
+ */
9386
+ declare const PersistMeasureAdapter: PersistMeasureUtils;
9317
9387
 
9318
9388
  declare const WAIT_FOR_INIT_SYMBOL$1: unique symbol;
9319
9389
  declare const WRITE_SAFE_SYMBOL$1: unique symbol;
@@ -14559,6 +14629,30 @@ declare const Exchange: ExchangeUtils;
14559
14629
  * Used as a constraint for cached functions.
14560
14630
  */
14561
14631
  type Function = (...args: any[]) => any;
14632
+ /**
14633
+ * Async function type for file-cached functions.
14634
+ * First argument is always `symbol: string`, followed by optional spread args.
14635
+ */
14636
+ type CacheFileFunction = (symbol: string, ...args: any[]) => Promise<any>;
14637
+ /**
14638
+ * Utility type to drop the first argument from a function type.
14639
+ * For example, for a function type `(symbol: string, arg1: number, arg2: string) => Promise<void>`,
14640
+ * this type will infer the rest of the arguments as `[arg1: number, arg2: string]`.
14641
+ */
14642
+ type DropFirst<T extends (...args: any) => any> = T extends (first: any, ...rest: infer R) => any ? R : never;
14643
+ /**
14644
+ * Extracts the `key` generator argument tuple from a `CacheFileFunction`.
14645
+ * The first two arguments are always `symbol: string` and `alignMs: number` (aligned timestamp),
14646
+ * followed by the rest of the original function's arguments.
14647
+ *
14648
+ * For example, for a function type `(symbol: string, arg1: number, arg2: string) => Promise<void>`,
14649
+ * this type will produce the tuple `[symbol: string, alignMs: number, arg1: number, arg2: string]`.
14650
+ */
14651
+ type CacheFileKeyArgs<T extends CacheFileFunction> = [
14652
+ symbol: string,
14653
+ alignMs: number,
14654
+ ...rest: DropFirst<T>
14655
+ ];
14562
14656
  /**
14563
14657
  * Utility class for function caching with timeframe-based invalidation.
14564
14658
  *
@@ -14579,7 +14673,12 @@ declare class CacheUtils {
14579
14673
  * Memoized function to get or create CacheInstance for a function.
14580
14674
  * Each function gets its own isolated cache instance.
14581
14675
  */
14582
- private _getInstance;
14676
+ private _getFnInstance;
14677
+ /**
14678
+ * Memoized function to get or create CacheFileInstance for an async function.
14679
+ * Each function gets its own isolated file-cache instance.
14680
+ */
14681
+ private _getFileInstance;
14583
14682
  /**
14584
14683
  * Wrap a function with caching based on timeframe intervals.
14585
14684
  *
@@ -14617,6 +14716,49 @@ declare class CacheUtils {
14617
14716
  interval: CandleInterval;
14618
14717
  key?: (args: Parameters<T>) => K;
14619
14718
  }) => T;
14719
+ /**
14720
+ * Wrap an async function with persistent file-based caching.
14721
+ *
14722
+ * Returns a wrapped version of the function that reads from disk on cache hit
14723
+ * and writes the result to disk on cache miss. Files are stored under
14724
+ * `./dump/data/measure/{name}_{interval}_{index}/`.
14725
+ *
14726
+ * The `run` function reference is used as the memoization key for the underlying
14727
+ * `CacheFileInstance`, so each unique function reference gets its own isolated instance.
14728
+ * Pass the same function reference each time to reuse the same cache.
14729
+ *
14730
+ * @template T - Async function type to cache
14731
+ * @param run - Async function to wrap with file caching
14732
+ * @param context.interval - Candle interval for cache invalidation
14733
+ * @param context.name - Human-readable bucket name; becomes the directory prefix
14734
+ * @param context.key - Optional entity key generator. Receives `[symbol, alignMs, ...rest]`
14735
+ * where `alignMs` is the timestamp aligned to `interval`.
14736
+ * Default: `([symbol, alignMs]) => \`${symbol}_${alignMs}\``
14737
+ * @returns Wrapped async function with automatic persistent caching
14738
+ *
14739
+ * @example
14740
+ * ```typescript
14741
+ * const fetchData = async (symbol: string, period: number) => {
14742
+ * return await externalApi.fetch(symbol, period);
14743
+ * };
14744
+ *
14745
+ * // Default key — one cache file per symbol per aligned candle
14746
+ * const cachedFetch = Cache.file(fetchData, { interval: "1h", name: "fetchData" });
14747
+ *
14748
+ * // Custom key — one cache file per symbol + period combination
14749
+ * const cachedFetch = Cache.file(fetchData, {
14750
+ * interval: "1h",
14751
+ * name: "fetchData",
14752
+ * key: ([symbol, alignMs, period]) => `${symbol}_${alignMs}_${period}`,
14753
+ * });
14754
+ * const result = await cachedFetch("BTCUSDT", 14);
14755
+ * ```
14756
+ */
14757
+ file: <T extends CacheFileFunction>(run: T, context: {
14758
+ interval: CandleInterval;
14759
+ name: string;
14760
+ key?: (args: CacheFileKeyArgs<T>) => string;
14761
+ }) => T;
14620
14762
  /**
14621
14763
  * Flush (remove) cached CacheInstance for a specific function or all functions.
14622
14764
  *
@@ -16582,7 +16724,7 @@ declare class ActionBase implements IPublicAction {
16582
16724
  * @example
16583
16725
  * ```typescript
16584
16726
  * pingScheduled(event: SchedulePingContract) {
16585
- * const waitTime = Date.now() - event.data.timestampScheduled;
16727
+ * const waitTime = getTimestamp() - event.data.timestampScheduled;
16586
16728
  * const waitMinutes = Math.floor(waitTime / 60000);
16587
16729
  * console.log(`Scheduled signal waiting ${waitMinutes} minutes`);
16588
16730
  * }
@@ -16606,7 +16748,7 @@ declare class ActionBase implements IPublicAction {
16606
16748
  * @example
16607
16749
  * ```typescript
16608
16750
  * pingActive(event: ActivePingContract) {
16609
- * const holdTime = Date.now() - event.data.pendingAt;
16751
+ * const holdTime = getTimestamp() - event.data.pendingAt;
16610
16752
  * const holdMinutes = Math.floor(holdTime / 60000);
16611
16753
  * console.log(`Active signal holding ${holdMinutes} minutes`);
16612
16754
  * }
@@ -21612,4 +21754,4 @@ declare const backtest: {
21612
21754
  loggerService: LoggerService;
21613
21755
  };
21614
21756
 
21615
- export { ActionBase, type ActivateScheduledCommit, type ActivateScheduledCommitNotification, type ActivePingContract, type AverageBuyCommit, Backtest, type BacktestStatisticsModel, Breakeven, type BreakevenAvailableNotification, type BreakevenCommit, type BreakevenCommitNotification, type BreakevenContract, type BreakevenData, Cache, type CancelScheduledCommit, type CandleData, type CandleInterval, type ClosePendingCommit, type ColumnConfig, type ColumnModel, Constant, type CriticalErrorNotification, type DoneContract, type EntityId, Exchange, ExecutionContextService, type FrameInterval, type GlobalConfig, Heat, type HeatmapStatisticsModel, type IActionSchema, type IActivateScheduledCommitRow, type IAggregatedTradeData, type IBidData, type IBreakevenCommitRow, type ICandleData, type ICommitRow, type IExchangeSchema, type IFrameSchema, type IHeatmapRow, type ILog, type ILogEntry, type ILogger, type IMarkdownDumpOptions, type INotificationUtils, type IOrderBookData, type IPartialLossCommitRow, type IPartialProfitCommitRow, type IPersistBase, type IPositionSizeATRParams, type IPositionSizeFixedPercentageParams, type IPositionSizeKellyParams, type IPublicAction, type IPublicCandleData, type IPublicSignalRow, type IReportDumpOptions, type IRiskActivePosition, type IRiskCheckArgs, type IRiskSchema, type IRiskSignalRow, type IRiskValidation, type IRiskValidationFn, type IRiskValidationPayload, type IScheduledSignalCancelRow, type IScheduledSignalRow, type ISignalDto, type ISignalRow, type ISizingCalculateParams, type ISizingCalculateParamsATR, type ISizingCalculateParamsFixedPercentage, type ISizingCalculateParamsKelly, type ISizingParams, type ISizingParamsATR, type ISizingParamsFixedPercentage, type ISizingParamsKelly, type ISizingSchema, type ISizingSchemaATR, type ISizingSchemaFixedPercentage, type ISizingSchemaKelly, type IStorageSignalRow, type IStorageUtils, type IStrategyPnL, type IStrategyResult, type IStrategySchema, type IStrategyTickResult, type IStrategyTickResultActive, type IStrategyTickResultCancelled, type IStrategyTickResultClosed, type IStrategyTickResultIdle, type IStrategyTickResultOpened, type IStrategyTickResultScheduled, type IStrategyTickResultWaiting, type ITrailingStopCommitRow, type ITrailingTakeCommitRow, type IWalkerResults, type IWalkerSchema, type IWalkerStrategyResult, type InfoErrorNotification, Live, type LiveStatisticsModel, Log, type LogData, Markdown, MarkdownFileBase, MarkdownFolderBase, type MarkdownName, MethodContextService, type MetricStats, Notification, NotificationBacktest, type NotificationData, NotificationLive, type NotificationModel, Partial$1 as Partial, type PartialData, type PartialEvent, type PartialLossAvailableNotification, type PartialLossCommit, type PartialLossCommitNotification, type PartialLossContract, type PartialProfitAvailableNotification, type PartialProfitCommit, type PartialProfitCommitNotification, type PartialProfitContract, type PartialStatisticsModel, Performance, type PerformanceContract, type PerformanceMetricType, type PerformanceStatisticsModel, PersistBase, PersistBreakevenAdapter, PersistCandleAdapter, PersistLogAdapter, PersistNotificationAdapter, PersistPartialAdapter, PersistRiskAdapter, PersistScheduleAdapter, PersistSignalAdapter, PersistStorageAdapter, PositionSize, type ProgressBacktestContract, type ProgressWalkerContract, Report, ReportBase, type ReportName, Risk, type RiskContract, type RiskData, type RiskEvent, type RiskRejectionNotification, type RiskStatisticsModel, Schedule, type ScheduleData, type SchedulePingContract, type ScheduleStatisticsModel, type ScheduledEvent, type SignalCancelledNotification, type SignalClosedNotification, type SignalData, type SignalInterval, type SignalOpenedNotification, type SignalScheduledNotification, Storage, StorageBacktest, type StorageData, StorageLive, Strategy, type StrategyActionType, type StrategyCancelReason, type StrategyCloseReason, type StrategyCommitContract, type StrategyEvent, type StrategyStatisticsModel, type TLogCtor, type TMarkdownBase, type TNotificationUtilsCtor, type TPersistBase, type TPersistBaseCtor, type TReportBase, type TStorageUtilsCtor, type TickEvent, type TrailingStopCommit, type TrailingStopCommitNotification, type TrailingTakeCommit, type TrailingTakeCommitNotification, type ValidationErrorNotification, Walker, type WalkerCompleteContract, type WalkerContract, type WalkerMetric, type SignalData$1 as WalkerSignalData, type WalkerStatisticsModel, addActionSchema, addExchangeSchema, addFrameSchema, addRiskSchema, addSizingSchema, addStrategySchema, addWalkerSchema, alignToInterval, checkCandles, commitActivateScheduled, commitAverageBuy, commitBreakeven, commitCancelScheduled, commitClosePending, commitPartialLoss, commitPartialProfit, commitTrailingStop, commitTrailingTake, dumpMessages, emitters, formatPrice, formatQuantity, get, getActionSchema, getAggregatedTrades, getAveragePrice, getBacktestTimeframe, getCandles, getColumns, getConfig, getContext, getDate, getDefaultColumns, getDefaultConfig, getExchangeSchema, getFrameSchema, getMode, getNextCandles, getOrderBook, getRawCandles, getRiskSchema, getSizingSchema, getStrategySchema, getSymbol, getWalkerSchema, hasTradeContext, backtest as lib, listExchangeSchema, listFrameSchema, listRiskSchema, listSizingSchema, listStrategySchema, listWalkerSchema, listenActivePing, listenActivePingOnce, listenBacktestProgress, listenBreakevenAvailable, listenBreakevenAvailableOnce, listenDoneBacktest, listenDoneBacktestOnce, listenDoneLive, listenDoneLiveOnce, listenDoneWalker, listenDoneWalkerOnce, listenError, listenExit, listenPartialLossAvailable, listenPartialLossAvailableOnce, listenPartialProfitAvailable, listenPartialProfitAvailableOnce, listenPerformance, listenRisk, listenRiskOnce, listenSchedulePing, listenSchedulePingOnce, listenSignal, listenSignalBacktest, listenSignalBacktestOnce, listenSignalLive, listenSignalLiveOnce, listenSignalOnce, listenStrategyCommit, listenStrategyCommitOnce, listenValidation, listenWalker, listenWalkerComplete, listenWalkerOnce, listenWalkerProgress, overrideActionSchema, overrideExchangeSchema, overrideFrameSchema, overrideRiskSchema, overrideSizingSchema, overrideStrategySchema, overrideWalkerSchema, parseArgs, roundTicks, set, setColumns, setConfig, setLogger, shutdown, stopStrategy, validate, waitForCandle, warmCandles };
21757
+ export { ActionBase, type ActivateScheduledCommit, type ActivateScheduledCommitNotification, type ActivePingContract, type AverageBuyCommit, Backtest, type BacktestStatisticsModel, Breakeven, type BreakevenAvailableNotification, type BreakevenCommit, type BreakevenCommitNotification, type BreakevenContract, type BreakevenData, Cache, type CancelScheduledCommit, type CandleData, type CandleInterval, type ClosePendingCommit, type ColumnConfig, type ColumnModel, Constant, type CriticalErrorNotification, type DoneContract, type EntityId, Exchange, ExecutionContextService, type FrameInterval, type GlobalConfig, Heat, type HeatmapStatisticsModel, type IActionSchema, type IActivateScheduledCommitRow, type IAggregatedTradeData, type IBidData, type IBreakevenCommitRow, type ICandleData, type ICommitRow, type IExchangeSchema, type IFrameSchema, type IHeatmapRow, type ILog, type ILogEntry, type ILogger, type IMarkdownDumpOptions, type INotificationUtils, type IOrderBookData, type IPartialLossCommitRow, type IPartialProfitCommitRow, type IPersistBase, type IPositionSizeATRParams, type IPositionSizeFixedPercentageParams, type IPositionSizeKellyParams, type IPublicAction, type IPublicCandleData, type IPublicSignalRow, type IReportDumpOptions, type IRiskActivePosition, type IRiskCheckArgs, type IRiskSchema, type IRiskSignalRow, type IRiskValidation, type IRiskValidationFn, type IRiskValidationPayload, type IScheduledSignalCancelRow, type IScheduledSignalRow, type ISignalDto, type ISignalRow, type ISizingCalculateParams, type ISizingCalculateParamsATR, type ISizingCalculateParamsFixedPercentage, type ISizingCalculateParamsKelly, type ISizingParams, type ISizingParamsATR, type ISizingParamsFixedPercentage, type ISizingParamsKelly, type ISizingSchema, type ISizingSchemaATR, type ISizingSchemaFixedPercentage, type ISizingSchemaKelly, type IStorageSignalRow, type IStorageUtils, type IStrategyPnL, type IStrategyResult, type IStrategySchema, type IStrategyTickResult, type IStrategyTickResultActive, type IStrategyTickResultCancelled, type IStrategyTickResultClosed, type IStrategyTickResultIdle, type IStrategyTickResultOpened, type IStrategyTickResultScheduled, type IStrategyTickResultWaiting, type ITrailingStopCommitRow, type ITrailingTakeCommitRow, type IWalkerResults, type IWalkerSchema, type IWalkerStrategyResult, type InfoErrorNotification, Live, type LiveStatisticsModel, Log, type LogData, Markdown, MarkdownFileBase, MarkdownFolderBase, type MarkdownName, type MeasureData, MethodContextService, type MetricStats, Notification, NotificationBacktest, type NotificationData, NotificationLive, type NotificationModel, Partial$1 as Partial, type PartialData, type PartialEvent, type PartialLossAvailableNotification, type PartialLossCommit, type PartialLossCommitNotification, type PartialLossContract, type PartialProfitAvailableNotification, type PartialProfitCommit, type PartialProfitCommitNotification, type PartialProfitContract, type PartialStatisticsModel, Performance, type PerformanceContract, type PerformanceMetricType, type PerformanceStatisticsModel, PersistBase, PersistBreakevenAdapter, PersistCandleAdapter, PersistLogAdapter, PersistMeasureAdapter, PersistNotificationAdapter, PersistPartialAdapter, PersistRiskAdapter, PersistScheduleAdapter, PersistSignalAdapter, PersistStorageAdapter, PositionSize, type ProgressBacktestContract, type ProgressWalkerContract, Report, ReportBase, type ReportName, Risk, type RiskContract, type RiskData, type RiskEvent, type RiskRejectionNotification, type RiskStatisticsModel, Schedule, type ScheduleData, type SchedulePingContract, type ScheduleStatisticsModel, type ScheduledEvent, type SignalCancelledNotification, type SignalClosedNotification, type SignalData, type SignalInterval, type SignalOpenedNotification, type SignalScheduledNotification, Storage, StorageBacktest, type StorageData, StorageLive, Strategy, type StrategyActionType, type StrategyCancelReason, type StrategyCloseReason, type StrategyCommitContract, type StrategyEvent, type StrategyStatisticsModel, type TLogCtor, type TMarkdownBase, type TNotificationUtilsCtor, type TPersistBase, type TPersistBaseCtor, type TReportBase, type TStorageUtilsCtor, type TickEvent, type TrailingStopCommit, type TrailingStopCommitNotification, type TrailingTakeCommit, type TrailingTakeCommitNotification, type ValidationErrorNotification, Walker, type WalkerCompleteContract, type WalkerContract, type WalkerMetric, type SignalData$1 as WalkerSignalData, type WalkerStatisticsModel, addActionSchema, addExchangeSchema, addFrameSchema, addRiskSchema, addSizingSchema, addStrategySchema, addWalkerSchema, alignToInterval, checkCandles, commitActivateScheduled, commitAverageBuy, commitBreakeven, commitCancelScheduled, commitClosePending, commitPartialLoss, commitPartialProfit, commitTrailingStop, commitTrailingTake, dumpMessages, emitters, formatPrice, formatQuantity, get, getActionSchema, getAggregatedTrades, getAveragePrice, getBacktestTimeframe, getCandles, getColumns, getConfig, getContext, getDate, getDefaultColumns, getDefaultConfig, getExchangeSchema, getFrameSchema, getMode, getNextCandles, getOrderBook, getRawCandles, getRiskSchema, getSizingSchema, getStrategySchema, getSymbol, getTimestamp, getWalkerSchema, hasTradeContext, backtest as lib, listExchangeSchema, listFrameSchema, listRiskSchema, listSizingSchema, listStrategySchema, listWalkerSchema, listenActivePing, listenActivePingOnce, listenBacktestProgress, listenBreakevenAvailable, listenBreakevenAvailableOnce, listenDoneBacktest, listenDoneBacktestOnce, listenDoneLive, listenDoneLiveOnce, listenDoneWalker, listenDoneWalkerOnce, listenError, listenExit, listenPartialLossAvailable, listenPartialLossAvailableOnce, listenPartialProfitAvailable, listenPartialProfitAvailableOnce, listenPerformance, listenRisk, listenRiskOnce, listenSchedulePing, listenSchedulePingOnce, listenSignal, listenSignalBacktest, listenSignalBacktestOnce, listenSignalLive, listenSignalLiveOnce, listenSignalOnce, listenStrategyCommit, listenStrategyCommitOnce, listenValidation, listenWalker, listenWalkerComplete, listenWalkerOnce, listenWalkerProgress, overrideActionSchema, overrideExchangeSchema, overrideFrameSchema, overrideRiskSchema, overrideSizingSchema, overrideStrategySchema, overrideWalkerSchema, parseArgs, roundTicks, set, setColumns, setConfig, setLogger, shutdown, stopStrategy, validate, waitForCandle, warmCandles };