backtest-kit 6.15.0 → 6.16.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/types.d.ts CHANGED
@@ -1053,6 +1053,53 @@ interface ActivePingContract {
1053
1053
  timestamp: number;
1054
1054
  }
1055
1055
 
1056
+ /**
1057
+ * Contract for idle ping events when no signal is active.
1058
+ *
1059
+ * Emitted by idlePingSubject every tick/minute when there is no pending
1060
+ * or scheduled signal being monitored.
1061
+ * Used for tracking idle strategy lifecycle.
1062
+ *
1063
+ * Consumers:
1064
+ * - User callbacks via listenIdlePing() / listenIdlePingOnce()
1065
+ */
1066
+ interface IdlePingContract {
1067
+ /**
1068
+ * Trading pair symbol (e.g., "BTCUSDT").
1069
+ */
1070
+ symbol: string;
1071
+ /**
1072
+ * Strategy name that is in idle state.
1073
+ */
1074
+ strategyName: StrategyName;
1075
+ /**
1076
+ * Exchange name where this strategy is running.
1077
+ */
1078
+ exchangeName: ExchangeName;
1079
+ /**
1080
+ * Frame name (if backtest)
1081
+ */
1082
+ frameName: FrameName;
1083
+ /**
1084
+ * Current market price of the symbol at the time of the ping.
1085
+ */
1086
+ currentPrice: number;
1087
+ /**
1088
+ * Execution mode flag.
1089
+ * - true: Event from backtest execution (historical candle data)
1090
+ * - false: Event from live trading (real-time tick)
1091
+ */
1092
+ backtest: boolean;
1093
+ /**
1094
+ * Event timestamp in milliseconds since Unix epoch.
1095
+ *
1096
+ * Timing semantics:
1097
+ * - Live mode: when.getTime() at the moment of ping
1098
+ * - Backtest mode: candle.timestamp of the candle being processed
1099
+ */
1100
+ timestamp: number;
1101
+ }
1102
+
1056
1103
  /**
1057
1104
  * Contract for risk rejection events.
1058
1105
  *
@@ -1567,6 +1614,19 @@ interface IActionCallbacks {
1567
1614
  * @param backtest - True for backtest mode, false for live trading
1568
1615
  */
1569
1616
  onPingActive(event: ActivePingContract, actionName: ActionName, strategyName: StrategyName, frameName: FrameName, backtest: boolean): void | Promise<void>;
1617
+ /**
1618
+ * Called every tick when no signal is active (idle state).
1619
+ *
1620
+ * Triggered by: StrategyConnectionService via idlePingSubject
1621
+ * Frequency: Every tick while no signal is pending or scheduled
1622
+ *
1623
+ * @param event - Idle ping data with current price and context
1624
+ * @param actionName - Action identifier
1625
+ * @param strategyName - Strategy identifier
1626
+ * @param frameName - Timeframe identifier
1627
+ * @param backtest - True for backtest mode, false for live trading
1628
+ */
1629
+ onPingIdle(event: IdlePingContract, actionName: ActionName, strategyName: StrategyName, frameName: FrameName, backtest: boolean): void | Promise<void>;
1570
1630
  /**
1571
1631
  * Called when signal is rejected by risk management.
1572
1632
  *
@@ -1835,6 +1895,16 @@ interface IAction {
1835
1895
  * @param event - Active pending signal monitoring data
1836
1896
  */
1837
1897
  pingActive(event: ActivePingContract): void | Promise<void>;
1898
+ /**
1899
+ * Handles idle ping events when no signal is active.
1900
+ *
1901
+ * Emitted by: StrategyConnectionService via idlePingSubject
1902
+ * Source: CREATE_COMMIT_IDLE_PING_FN callback in StrategyConnectionService
1903
+ * Frequency: Every tick while no signal is pending or scheduled
1904
+ *
1905
+ * @param event - Idle ping data with current price and context
1906
+ */
1907
+ pingIdle(event: IdlePingContract): void | Promise<void>;
1838
1908
  /**
1839
1909
  * Handles risk rejection events when signals fail risk validation.
1840
1910
  *
@@ -8753,6 +8823,23 @@ declare function listenActivePing(fn: (event: ActivePingContract) => void): () =
8753
8823
  * ```
8754
8824
  */
8755
8825
  declare function listenActivePingOnce(filterFn: (event: ActivePingContract) => boolean, fn: (event: ActivePingContract) => void): () => void;
8826
+ /**
8827
+ * Subscribes to idle ping events with queued async processing.
8828
+ *
8829
+ * Emits every tick when there is no pending or scheduled signal being monitored.
8830
+ *
8831
+ * @param fn - Callback function to handle idle ping events
8832
+ * @returns Unsubscribe function to stop listening
8833
+ */
8834
+ declare function listenIdlePing(fn: (event: IdlePingContract) => void): () => void;
8835
+ /**
8836
+ * Subscribes to filtered idle ping events with one-time execution.
8837
+ *
8838
+ * @param filterFn - Predicate to filter events
8839
+ * @param fn - Callback function to handle the matching event
8840
+ * @returns Unsubscribe function to cancel the listener before it fires
8841
+ */
8842
+ declare function listenIdlePingOnce(filterFn: (event: IdlePingContract) => boolean, fn: (event: IdlePingContract) => void): () => void;
8756
8843
  /**
8757
8844
  * Subscribes to strategy management events with queued async processing.
8758
8845
  *
@@ -9178,6 +9265,32 @@ declare function getAggregatedTrades(symbol: string, limit?: number): Promise<IA
9178
9265
  * ```
9179
9266
  */
9180
9267
  declare function getLatestSignal(symbol: string): Promise<IPublicSignalRow | null>;
9268
+ /**
9269
+ * Returns the number of whole minutes elapsed since the latest signal's creation timestamp.
9270
+ *
9271
+ * Does not distinguish between active and closed signals — measures time since
9272
+ * whichever signal was recorded last. Useful for cooldown logic after a stop-loss.
9273
+ *
9274
+ * Searches backtest storage first, then live storage.
9275
+ * Returns null if no signal exists at all.
9276
+ *
9277
+ * Automatically detects backtest/live mode from execution context.
9278
+ *
9279
+ * @param symbol - Trading pair symbol
9280
+ * @param timestamp - Current timestamp in milliseconds
9281
+ * @returns Promise resolving to whole minutes since the latest signal was created, or null
9282
+ *
9283
+ * @example
9284
+ * ```typescript
9285
+ * import { getMinutesSinceLatestSignalCreated } from "backtest-kit";
9286
+ *
9287
+ * const minutes = await getMinutesSinceLatestSignalCreated("BTCUSDT", Date.now());
9288
+ * if (minutes !== null && minutes < 24 * 60) {
9289
+ * return; // cooldown — skip new signal for 24 hours after last signal
9290
+ * }
9291
+ * ```
9292
+ */
9293
+ declare function getMinutesSinceLatestSignalCreated(symbol: string, timestamp: number): Promise<number | null>;
9181
9294
 
9182
9295
  /**
9183
9296
  * Writes a value to memory scoped to the current signal.
@@ -20677,6 +20790,17 @@ interface IRecentUtils {
20677
20790
  * @returns The latest signal or null if not found
20678
20791
  */
20679
20792
  getLatestSignal(symbol: string, strategyName: StrategyName, exchangeName: ExchangeName, frameName: FrameName, backtest: boolean): Promise<IPublicSignalRow | null>;
20793
+ /**
20794
+ * Returns the number of minutes elapsed since the latest signal's timestamp.
20795
+ * @param symbol - Trading pair symbol
20796
+ * @param strategyName - Strategy identifier
20797
+ * @param exchangeName - Exchange identifier
20798
+ * @param frameName - Frame identifier
20799
+ * @param backtest - Flag indicating if the context is backtest or live
20800
+ * @param currentTimestamp - Current timestamp in milliseconds
20801
+ * @returns Minutes since the latest signal, or null if no signal found
20802
+ */
20803
+ getMinutesSinceLatestSignalCreated(timestamp: number, symbol: string, strategyName: StrategyName, exchangeName: ExchangeName, frameName: FrameName, backtest: boolean): Promise<number | null>;
20680
20804
  }
20681
20805
  /**
20682
20806
  * Constructor type for recent signal storage adapters.
@@ -20711,6 +20835,18 @@ declare class RecentBacktestAdapter implements IRecentUtils {
20711
20835
  * @returns The latest signal or null if not found
20712
20836
  */
20713
20837
  getLatestSignal: (symbol: string, strategyName: StrategyName, exchangeName: ExchangeName, frameName: FrameName, backtest: boolean) => Promise<IPublicSignalRow | null>;
20838
+ /**
20839
+ * Returns the number of whole minutes elapsed since the latest signal's creation timestamp.
20840
+ * Proxies call to the underlying storage adapter.
20841
+ * @param timestamp - Current timestamp in milliseconds
20842
+ * @param symbol - Trading pair symbol
20843
+ * @param strategyName - Strategy identifier
20844
+ * @param exchangeName - Exchange identifier
20845
+ * @param frameName - Frame identifier
20846
+ * @param backtest - Flag indicating if the context is backtest or live
20847
+ * @returns Whole minutes since the latest signal was created, or null if no signal found
20848
+ */
20849
+ getMinutesSinceLatestSignalCreated: (timestamp: number, symbol: string, strategyName: StrategyName, exchangeName: ExchangeName, frameName: FrameName, backtest: boolean) => Promise<number | null>;
20714
20850
  /**
20715
20851
  * Sets the storage adapter constructor.
20716
20852
  * All future storage operations will use this adapter.
@@ -20761,6 +20897,18 @@ declare class RecentLiveAdapter implements IRecentUtils {
20761
20897
  * @returns The latest signal or null if not found
20762
20898
  */
20763
20899
  getLatestSignal: (symbol: string, strategyName: StrategyName, exchangeName: ExchangeName, frameName: FrameName, backtest: boolean) => Promise<IPublicSignalRow | null>;
20900
+ /**
20901
+ * Returns the number of whole minutes elapsed since the latest signal's creation timestamp.
20902
+ * Proxies call to the underlying storage adapter.
20903
+ * @param timestamp - Current timestamp in milliseconds
20904
+ * @param symbol - Trading pair symbol
20905
+ * @param strategyName - Strategy identifier
20906
+ * @param exchangeName - Exchange identifier
20907
+ * @param frameName - Frame identifier
20908
+ * @param backtest - Flag indicating if the context is backtest or live
20909
+ * @returns Whole minutes since the latest signal was created, or null if no signal found
20910
+ */
20911
+ getMinutesSinceLatestSignalCreated: (timestamp: number, symbol: string, strategyName: StrategyName, exchangeName: ExchangeName, frameName: FrameName, backtest: boolean) => Promise<number | null>;
20764
20912
  /**
20765
20913
  * Sets the storage adapter constructor.
20766
20914
  * All future storage operations will use this adapter.
@@ -20819,6 +20967,20 @@ declare class RecentAdapter {
20819
20967
  exchangeName: ExchangeName;
20820
20968
  frameName: FrameName;
20821
20969
  }) => Promise<IPublicSignalRow | null>;
20970
+ /**
20971
+ * Returns the number of whole minutes elapsed since the latest signal's creation timestamp.
20972
+ * Searches backtest storage first, then live storage.
20973
+ * @param timestamp - Current timestamp in milliseconds
20974
+ * @param symbol - Trading pair symbol
20975
+ * @param context - Execution context with strategyName, exchangeName, and frameName
20976
+ * @returns Whole minutes since the latest signal was created, or null if no signal found
20977
+ * @throws Error if RecentAdapter is not enabled
20978
+ */
20979
+ getMinutesSinceLatestSignalCreated: (timestamp: number, symbol: string, context: {
20980
+ strategyName: StrategyName;
20981
+ exchangeName: ExchangeName;
20982
+ frameName: FrameName;
20983
+ }) => Promise<number | null>;
20822
20984
  }
20823
20985
  /**
20824
20986
  * Global singleton instance of RecentAdapter.
@@ -23377,6 +23539,21 @@ declare class ActionBase implements IPublicAction {
23377
23539
  * ```
23378
23540
  */
23379
23541
  pingActive(event: ActivePingContract, source?: string): void | Promise<void>;
23542
+ /**
23543
+ * Handles idle ping events when no signal is active.
23544
+ *
23545
+ * Called every tick while no signal is pending or scheduled.
23546
+ * Use to monitor idle strategy state and implement entry condition logic.
23547
+ *
23548
+ * Triggered by: ActionCoreService.pingIdle() via StrategyConnectionService
23549
+ * Source: idlePingSubject.next() in CREATE_COMMIT_IDLE_PING_FN callback
23550
+ * Frequency: Every tick while no signal is pending or scheduled
23551
+ *
23552
+ * Default implementation: Logs idle ping event.
23553
+ *
23554
+ * @param event - Idle ping data with symbol, strategy info, current price, timestamp
23555
+ */
23556
+ pingIdle(event: IdlePingContract, source?: string): void | Promise<void>;
23380
23557
  /**
23381
23558
  * Handles risk rejection events when signals fail risk validation.
23382
23559
  *
@@ -24583,6 +24760,11 @@ declare const schedulePingSubject: Subject<SchedulePingContract>;
24583
24760
  * Allows users to track active signal lifecycle and implement custom dynamic management logic.
24584
24761
  */
24585
24762
  declare const activePingSubject: Subject<ActivePingContract>;
24763
+ /**
24764
+ * Idle ping emitter for strategy idle state events.
24765
+ * Emits every tick when there is no pending or scheduled signal being monitored.
24766
+ */
24767
+ declare const idlePingSubject: Subject<IdlePingContract>;
24586
24768
  /**
24587
24769
  * Strategy management signal emitter.
24588
24770
  * Emits when strategy management actions are executed:
@@ -24632,6 +24814,7 @@ declare const emitters_doneWalkerSubject: typeof doneWalkerSubject;
24632
24814
  declare const emitters_errorEmitter: typeof errorEmitter;
24633
24815
  declare const emitters_exitEmitter: typeof exitEmitter;
24634
24816
  declare const emitters_highestProfitSubject: typeof highestProfitSubject;
24817
+ declare const emitters_idlePingSubject: typeof idlePingSubject;
24635
24818
  declare const emitters_maxDrawdownSubject: typeof maxDrawdownSubject;
24636
24819
  declare const emitters_partialLossSubject: typeof partialLossSubject;
24637
24820
  declare const emitters_partialProfitSubject: typeof partialProfitSubject;
@@ -24652,7 +24835,7 @@ declare const emitters_walkerCompleteSubject: typeof walkerCompleteSubject;
24652
24835
  declare const emitters_walkerEmitter: typeof walkerEmitter;
24653
24836
  declare const emitters_walkerStopSubject: typeof walkerStopSubject;
24654
24837
  declare namespace emitters {
24655
- export { emitters_activePingSubject as activePingSubject, emitters_backtestScheduleOpenSubject as backtestScheduleOpenSubject, emitters_breakevenSubject as breakevenSubject, emitters_doneBacktestSubject as doneBacktestSubject, emitters_doneLiveSubject as doneLiveSubject, emitters_doneWalkerSubject as doneWalkerSubject, emitters_errorEmitter as errorEmitter, emitters_exitEmitter as exitEmitter, emitters_highestProfitSubject as highestProfitSubject, emitters_maxDrawdownSubject as maxDrawdownSubject, emitters_partialLossSubject as partialLossSubject, emitters_partialProfitSubject as partialProfitSubject, emitters_performanceEmitter as performanceEmitter, emitters_progressBacktestEmitter as progressBacktestEmitter, emitters_progressWalkerEmitter as progressWalkerEmitter, emitters_riskSubject as riskSubject, emitters_schedulePingSubject as schedulePingSubject, emitters_shutdownEmitter as shutdownEmitter, emitters_signalBacktestEmitter as signalBacktestEmitter, emitters_signalEmitter as signalEmitter, emitters_signalLiveEmitter as signalLiveEmitter, emitters_signalNotifySubject as signalNotifySubject, emitters_strategyCommitSubject as strategyCommitSubject, emitters_syncSubject as syncSubject, emitters_validationSubject as validationSubject, emitters_walkerCompleteSubject as walkerCompleteSubject, emitters_walkerEmitter as walkerEmitter, emitters_walkerStopSubject as walkerStopSubject };
24838
+ export { emitters_activePingSubject as activePingSubject, emitters_backtestScheduleOpenSubject as backtestScheduleOpenSubject, emitters_breakevenSubject as breakevenSubject, emitters_doneBacktestSubject as doneBacktestSubject, emitters_doneLiveSubject as doneLiveSubject, emitters_doneWalkerSubject as doneWalkerSubject, emitters_errorEmitter as errorEmitter, emitters_exitEmitter as exitEmitter, emitters_highestProfitSubject as highestProfitSubject, emitters_idlePingSubject as idlePingSubject, emitters_maxDrawdownSubject as maxDrawdownSubject, emitters_partialLossSubject as partialLossSubject, emitters_partialProfitSubject as partialProfitSubject, emitters_performanceEmitter as performanceEmitter, emitters_progressBacktestEmitter as progressBacktestEmitter, emitters_progressWalkerEmitter as progressWalkerEmitter, emitters_riskSubject as riskSubject, emitters_schedulePingSubject as schedulePingSubject, emitters_shutdownEmitter as shutdownEmitter, emitters_signalBacktestEmitter as signalBacktestEmitter, emitters_signalEmitter as signalEmitter, emitters_signalLiveEmitter as signalLiveEmitter, emitters_signalNotifySubject as signalNotifySubject, emitters_strategyCommitSubject as strategyCommitSubject, emitters_syncSubject as syncSubject, emitters_validationSubject as validationSubject, emitters_walkerCompleteSubject as walkerCompleteSubject, emitters_walkerEmitter as walkerEmitter, emitters_walkerStopSubject as walkerStopSubject };
24656
24839
  }
24657
24840
 
24658
24841
  /**
@@ -25662,6 +25845,22 @@ declare class ActionCoreService implements TAction$1 {
25662
25845
  exchangeName: ExchangeName;
25663
25846
  frameName: FrameName;
25664
25847
  }) => Promise<void>;
25848
+ /**
25849
+ * Routes idle ping event to all registered actions for the strategy.
25850
+ *
25851
+ * Retrieves action list from strategy schema (IStrategySchema.actions)
25852
+ * and invokes the pingIdle handler on each ClientAction instance sequentially.
25853
+ * Called every tick when there is no pending or scheduled signal being monitored.
25854
+ *
25855
+ * @param backtest - Whether running in backtest mode (true) or live mode (false)
25856
+ * @param event - Idle state monitoring data
25857
+ * @param context - Strategy execution context with strategyName, exchangeName, frameName
25858
+ */
25859
+ pingIdle: (backtest: boolean, event: IdlePingContract, context: {
25860
+ strategyName: StrategyName;
25861
+ exchangeName: ExchangeName;
25862
+ frameName: FrameName;
25863
+ }) => Promise<void>;
25665
25864
  /**
25666
25865
  * Routes risk rejection event to all registered actions for the strategy.
25667
25866
  *
@@ -27751,6 +27950,16 @@ declare class ActionProxy implements IPublicAction {
27751
27950
  * @returns Promise resolving to user's pingActive() result or null on error
27752
27951
  */
27753
27952
  pingActive(event: ActivePingContract): Promise<any>;
27953
+ /**
27954
+ * Handles idle ping events with error capture.
27955
+ *
27956
+ * Wraps the user's pingIdle() method to catch and log any errors.
27957
+ * Called every tick while no signal is pending or scheduled.
27958
+ *
27959
+ * @param event - Idle ping data with symbol, strategy info, current price, timestamp
27960
+ * @returns Promise resolving to user's pingIdle() result or null on error
27961
+ */
27962
+ pingIdle(event: IdlePingContract): Promise<any>;
27754
27963
  /**
27755
27964
  * Handles risk rejection events with error capture.
27756
27965
  *
@@ -27906,6 +28115,10 @@ declare class ClientAction implements IAction {
27906
28115
  * Handles active ping events during active pending signal monitoring.
27907
28116
  */
27908
28117
  pingActive(event: ActivePingContract): Promise<void>;
28118
+ /**
28119
+ * Handles idle ping events when no signal is active.
28120
+ */
28121
+ pingIdle(event: IdlePingContract): Promise<void>;
27909
28122
  /**
27910
28123
  * Handles risk rejection events when signals fail risk validation.
27911
28124
  */
@@ -28093,6 +28306,19 @@ declare class ActionConnectionService implements TAction {
28093
28306
  exchangeName: ExchangeName;
28094
28307
  frameName: FrameName;
28095
28308
  }) => Promise<void>;
28309
+ /**
28310
+ * Routes idle ping event to appropriate ClientAction instance.
28311
+ *
28312
+ * @param event - Idle ping event data
28313
+ * @param backtest - Whether running in backtest mode
28314
+ * @param context - Execution context with action name, strategy name, exchange name, frame name
28315
+ */
28316
+ pingIdle: (event: IdlePingContract, backtest: boolean, context: {
28317
+ actionName: ActionName;
28318
+ strategyName: StrategyName;
28319
+ exchangeName: ExchangeName;
28320
+ frameName: FrameName;
28321
+ }) => Promise<void>;
28096
28322
  /**
28097
28323
  * Routes riskRejection event to appropriate ClientAction instance.
28098
28324
  *
@@ -32210,4 +32436,4 @@ declare const getTotalClosed: (signal: Signal) => {
32210
32436
  remainingCostBasis: number;
32211
32437
  };
32212
32438
 
32213
- export { ActionBase, type ActivateScheduledCommit, type ActivateScheduledCommitNotification, type ActivePingContract, type AverageBuyCommit, type AverageBuyCommitNotification, Backtest, type BacktestStatisticsModel, Breakeven, type BreakevenAvailableNotification, type BreakevenCommit, type BreakevenCommitNotification, type BreakevenContract, type BreakevenData, type BreakevenEvent, type BreakevenStatisticsModel, Broker, type BrokerAverageBuyPayload, BrokerBase, type BrokerBreakevenPayload, type BrokerPartialLossPayload, type BrokerPartialProfitPayload, type BrokerSignalClosePayload, type BrokerSignalOpenPayload, type BrokerTrailingStopPayload, type BrokerTrailingTakePayload, Cache, type CancelScheduledCommit, type CancelScheduledCommitNotification, type CandleData, type CandleInterval, type ClosePendingCommit, type ClosePendingCommitNotification, type ColumnConfig, type ColumnModel, Constant, type CriticalErrorNotification, type DoneContract, Dump, type EntityId, Exchange, ExecutionContextService, type FrameInterval, type GlobalConfig, Heat, type HeatmapStatisticsModel, HighestProfit, type HighestProfitContract, type HighestProfitEvent, type HighestProfitStatisticsModel, type IActionSchema, type IActivateScheduledCommitRow, type IAggregatedTradeData, type IBidData, type IBreakevenCommitRow, type IBroker, type ICandleData, type ICommitRow, type IDumpContext, type IDumpInstance, type IExchangeSchema, type IFrameSchema, type IHeatmapRow, type ILog, type ILogEntry, type ILogger, type IMarkdownDumpOptions, type IMemoryInstance, type INotificationUtils, type IOrderBookData, type IPartialLossCommitRow, type IPartialProfitCommitRow, type IPersistBase, type IPositionSizeATRParams, type IPositionSizeFixedPercentageParams, type IPositionSizeKellyParams, type IPublicAction, type IPublicCandleData, type IPublicSignalRow, type IRecentUtils, type IReportDumpOptions, type IRiskActivePosition, type IRiskCheckArgs, type IRiskSchema, type IRiskSignalRow, type IRiskValidation, type IRiskValidationFn, type IRiskValidationPayload, type IScheduledSignalCancelRow, type IScheduledSignalRow, type ISignalDto, type ISignalIntervalDto, 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, Interval, type IntervalData, Live, type LiveStatisticsModel, Log, type LogData, Markdown, MarkdownFileBase, MarkdownFolderBase, type MarkdownName, MarkdownWriter, MaxDrawdown, type MaxDrawdownContract, type MaxDrawdownEvent, type MaxDrawdownStatisticsModel, type MeasureData, Memory, type MemoryData, type MessageModel, type MessageRole, type MessageToolCall, 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, PersistIntervalAdapter, PersistLogAdapter, PersistMeasureAdapter, PersistMemoryAdapter, PersistNotificationAdapter, PersistPartialAdapter, PersistRecentAdapter, PersistRiskAdapter, PersistScheduleAdapter, PersistSignalAdapter, PersistStorageAdapter, Position, PositionSize, type ProgressBacktestContract, type ProgressWalkerContract, Recent, RecentBacktest, type RecentData, RecentLive, Reflect, Report, ReportBase, type ReportName, ReportWriter, Risk, type RiskContract, type RiskData, type RiskEvent, type RiskRejectionNotification, type RiskStatisticsModel, Schedule, type ScheduleData, type SchedulePingContract, type ScheduleStatisticsModel, type ScheduledEvent, Session, type SignalCancelledNotification, type SignalCloseContract, type SignalClosedNotification, type SignalData, type SignalInfoContract, type SignalInfoNotification, type SignalInterval, type SignalOpenContract, type SignalOpenedNotification, type SignalScheduledNotification, type SignalSyncCloseNotification, type SignalSyncContract, type SignalSyncOpenNotification, Storage, StorageBacktest, type StorageData, StorageLive, Strategy, type StrategyActionType, type StrategyCancelReason, type StrategyCloseReason, type StrategyCommitContract, type StrategyEvent, type StrategyStatisticsModel, Sync, type SyncEvent, type SyncStatisticsModel, type TBrokerCtor, type TDumpInstanceCtor, type TLogCtor, type TMarkdownBase, type TMemoryInstanceCtor, type TNotificationUtilsCtor, type TPersistBase, type TPersistBaseCtor, type TRecentUtilsCtor, 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, commitPartialLossCost, commitPartialProfit, commitPartialProfitCost, commitSignalNotify, commitTrailingStop, commitTrailingStopCost, commitTrailingTake, commitTrailingTakeCost, dumpAgentAnswer, dumpError, dumpJson, dumpRecord, dumpTable, dumpText, emitters, formatPrice, formatQuantity, get, getActionSchema, getAggregatedTrades, getAveragePrice, getBacktestTimeframe, getBreakeven, getCandles, getColumns, getConfig, getContext, getDate, getDefaultColumns, getDefaultConfig, getEffectivePriceOpen, getExchangeSchema, getFrameSchema, getLatestSignal, getMaxDrawdownDistancePnlCost, getMaxDrawdownDistancePnlPercentage, getMode, getNextCandles, getOrderBook, getPendingSignal, getPositionActiveMinutes, getPositionCountdownMinutes, getPositionDrawdownMinutes, getPositionEffectivePrice, getPositionEntries, getPositionEntryOverlap, getPositionEstimateMinutes, getPositionHighestMaxDrawdownPnlCost, getPositionHighestMaxDrawdownPnlPercentage, getPositionHighestPnlCost, getPositionHighestPnlPercentage, getPositionHighestProfitBreakeven, getPositionHighestProfitDistancePnlCost, getPositionHighestProfitDistancePnlPercentage, getPositionHighestProfitMinutes, getPositionHighestProfitPrice, getPositionHighestProfitTimestamp, getPositionInvestedCost, getPositionInvestedCount, getPositionLevels, getPositionMaxDrawdownMinutes, getPositionMaxDrawdownPnlCost, getPositionMaxDrawdownPnlPercentage, getPositionMaxDrawdownPrice, getPositionMaxDrawdownTimestamp, getPositionPartialOverlap, getPositionPartials, getPositionPnlCost, getPositionPnlPercent, getPositionWaitingMinutes, getRawCandles, getRiskSchema, getScheduledSignal, getSizingSchema, getStrategySchema, getSymbol, getTimestamp, getTotalClosed, getTotalCostClosed, getTotalPercentClosed, getWalkerSchema, hasNoPendingSignal, hasNoScheduledSignal, hasTradeContext, investedCostToPercent, backtest as lib, listExchangeSchema, listFrameSchema, listMemory, listRiskSchema, listSizingSchema, listStrategySchema, listWalkerSchema, listenActivePing, listenActivePingOnce, listenBacktestProgress, listenBreakevenAvailable, listenBreakevenAvailableOnce, listenDoneBacktest, listenDoneBacktestOnce, listenDoneLive, listenDoneLiveOnce, listenDoneWalker, listenDoneWalkerOnce, listenError, listenExit, listenHighestProfit, listenHighestProfitOnce, listenMaxDrawdown, listenMaxDrawdownOnce, listenPartialLossAvailable, listenPartialLossAvailableOnce, listenPartialProfitAvailable, listenPartialProfitAvailableOnce, listenPerformance, listenRisk, listenRiskOnce, listenSchedulePing, listenSchedulePingOnce, listenSignal, listenSignalBacktest, listenSignalBacktestOnce, listenSignalLive, listenSignalLiveOnce, listenSignalNotify, listenSignalNotifyOnce, listenSignalOnce, listenStrategyCommit, listenStrategyCommitOnce, listenSync, listenSyncOnce, listenValidation, listenWalker, listenWalkerComplete, listenWalkerOnce, listenWalkerProgress, overrideActionSchema, overrideExchangeSchema, overrideFrameSchema, overrideRiskSchema, overrideSizingSchema, overrideStrategySchema, overrideWalkerSchema, parseArgs, percentDiff, percentToCloseCost, percentValue, readMemory, removeMemory, roundTicks, runInMockContext, searchMemory, set, setColumns, setConfig, setLogger, shutdown, slPercentShiftToPrice, slPriceToPercentShift, stopStrategy, toProfitLossDto, tpPercentShiftToPrice, tpPriceToPercentShift, validate, validateCommonSignal, validatePendingSignal, validateScheduledSignal, validateSignal, waitForCandle, warmCandles, writeMemory };
32439
+ export { ActionBase, type ActivateScheduledCommit, type ActivateScheduledCommitNotification, type ActivePingContract, type AverageBuyCommit, type AverageBuyCommitNotification, Backtest, type BacktestStatisticsModel, Breakeven, type BreakevenAvailableNotification, type BreakevenCommit, type BreakevenCommitNotification, type BreakevenContract, type BreakevenData, type BreakevenEvent, type BreakevenStatisticsModel, Broker, type BrokerAverageBuyPayload, BrokerBase, type BrokerBreakevenPayload, type BrokerPartialLossPayload, type BrokerPartialProfitPayload, type BrokerSignalClosePayload, type BrokerSignalOpenPayload, type BrokerTrailingStopPayload, type BrokerTrailingTakePayload, Cache, type CancelScheduledCommit, type CancelScheduledCommitNotification, type CandleData, type CandleInterval, type ClosePendingCommit, type ClosePendingCommitNotification, type ColumnConfig, type ColumnModel, Constant, type CriticalErrorNotification, type DoneContract, Dump, type EntityId, Exchange, ExecutionContextService, type FrameInterval, type GlobalConfig, Heat, type HeatmapStatisticsModel, HighestProfit, type HighestProfitContract, type HighestProfitEvent, type HighestProfitStatisticsModel, type IActionSchema, type IActivateScheduledCommitRow, type IAggregatedTradeData, type IBidData, type IBreakevenCommitRow, type IBroker, type ICandleData, type ICommitRow, type IDumpContext, type IDumpInstance, type IExchangeSchema, type IFrameSchema, type IHeatmapRow, type ILog, type ILogEntry, type ILogger, type IMarkdownDumpOptions, type IMemoryInstance, type INotificationUtils, type IOrderBookData, type IPartialLossCommitRow, type IPartialProfitCommitRow, type IPersistBase, type IPositionSizeATRParams, type IPositionSizeFixedPercentageParams, type IPositionSizeKellyParams, type IPublicAction, type IPublicCandleData, type IPublicSignalRow, type IRecentUtils, type IReportDumpOptions, type IRiskActivePosition, type IRiskCheckArgs, type IRiskSchema, type IRiskSignalRow, type IRiskValidation, type IRiskValidationFn, type IRiskValidationPayload, type IScheduledSignalCancelRow, type IScheduledSignalRow, type ISignalDto, type ISignalIntervalDto, 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, Interval, type IntervalData, Live, type LiveStatisticsModel, Log, type LogData, Markdown, MarkdownFileBase, MarkdownFolderBase, type MarkdownName, MarkdownWriter, MaxDrawdown, type MaxDrawdownContract, type MaxDrawdownEvent, type MaxDrawdownStatisticsModel, type MeasureData, Memory, type MemoryData, type MessageModel, type MessageRole, type MessageToolCall, 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, PersistIntervalAdapter, PersistLogAdapter, PersistMeasureAdapter, PersistMemoryAdapter, PersistNotificationAdapter, PersistPartialAdapter, PersistRecentAdapter, PersistRiskAdapter, PersistScheduleAdapter, PersistSignalAdapter, PersistStorageAdapter, Position, PositionSize, type ProgressBacktestContract, type ProgressWalkerContract, Recent, RecentBacktest, type RecentData, RecentLive, Reflect, Report, ReportBase, type ReportName, ReportWriter, Risk, type RiskContract, type RiskData, type RiskEvent, type RiskRejectionNotification, type RiskStatisticsModel, Schedule, type ScheduleData, type SchedulePingContract, type ScheduleStatisticsModel, type ScheduledEvent, Session, type SignalCancelledNotification, type SignalCloseContract, type SignalClosedNotification, type SignalData, type SignalInfoContract, type SignalInfoNotification, type SignalInterval, type SignalOpenContract, type SignalOpenedNotification, type SignalScheduledNotification, type SignalSyncCloseNotification, type SignalSyncContract, type SignalSyncOpenNotification, Storage, StorageBacktest, type StorageData, StorageLive, Strategy, type StrategyActionType, type StrategyCancelReason, type StrategyCloseReason, type StrategyCommitContract, type StrategyEvent, type StrategyStatisticsModel, Sync, type SyncEvent, type SyncStatisticsModel, type TBrokerCtor, type TDumpInstanceCtor, type TLogCtor, type TMarkdownBase, type TMemoryInstanceCtor, type TNotificationUtilsCtor, type TPersistBase, type TPersistBaseCtor, type TRecentUtilsCtor, 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, commitPartialLossCost, commitPartialProfit, commitPartialProfitCost, commitSignalNotify, commitTrailingStop, commitTrailingStopCost, commitTrailingTake, commitTrailingTakeCost, dumpAgentAnswer, dumpError, dumpJson, dumpRecord, dumpTable, dumpText, emitters, formatPrice, formatQuantity, get, getActionSchema, getAggregatedTrades, getAveragePrice, getBacktestTimeframe, getBreakeven, getCandles, getColumns, getConfig, getContext, getDate, getDefaultColumns, getDefaultConfig, getEffectivePriceOpen, getExchangeSchema, getFrameSchema, getLatestSignal, getMaxDrawdownDistancePnlCost, getMaxDrawdownDistancePnlPercentage, getMinutesSinceLatestSignalCreated, getMode, getNextCandles, getOrderBook, getPendingSignal, getPositionActiveMinutes, getPositionCountdownMinutes, getPositionDrawdownMinutes, getPositionEffectivePrice, getPositionEntries, getPositionEntryOverlap, getPositionEstimateMinutes, getPositionHighestMaxDrawdownPnlCost, getPositionHighestMaxDrawdownPnlPercentage, getPositionHighestPnlCost, getPositionHighestPnlPercentage, getPositionHighestProfitBreakeven, getPositionHighestProfitDistancePnlCost, getPositionHighestProfitDistancePnlPercentage, getPositionHighestProfitMinutes, getPositionHighestProfitPrice, getPositionHighestProfitTimestamp, getPositionInvestedCost, getPositionInvestedCount, getPositionLevels, getPositionMaxDrawdownMinutes, getPositionMaxDrawdownPnlCost, getPositionMaxDrawdownPnlPercentage, getPositionMaxDrawdownPrice, getPositionMaxDrawdownTimestamp, getPositionPartialOverlap, getPositionPartials, getPositionPnlCost, getPositionPnlPercent, getPositionWaitingMinutes, getRawCandles, getRiskSchema, getScheduledSignal, getSizingSchema, getStrategySchema, getSymbol, getTimestamp, getTotalClosed, getTotalCostClosed, getTotalPercentClosed, getWalkerSchema, hasNoPendingSignal, hasNoScheduledSignal, hasTradeContext, investedCostToPercent, backtest as lib, listExchangeSchema, listFrameSchema, listMemory, listRiskSchema, listSizingSchema, listStrategySchema, listWalkerSchema, listenActivePing, listenActivePingOnce, listenBacktestProgress, listenBreakevenAvailable, listenBreakevenAvailableOnce, listenDoneBacktest, listenDoneBacktestOnce, listenDoneLive, listenDoneLiveOnce, listenDoneWalker, listenDoneWalkerOnce, listenError, listenExit, listenHighestProfit, listenHighestProfitOnce, listenIdlePing, listenIdlePingOnce, listenMaxDrawdown, listenMaxDrawdownOnce, listenPartialLossAvailable, listenPartialLossAvailableOnce, listenPartialProfitAvailable, listenPartialProfitAvailableOnce, listenPerformance, listenRisk, listenRiskOnce, listenSchedulePing, listenSchedulePingOnce, listenSignal, listenSignalBacktest, listenSignalBacktestOnce, listenSignalLive, listenSignalLiveOnce, listenSignalNotify, listenSignalNotifyOnce, listenSignalOnce, listenStrategyCommit, listenStrategyCommitOnce, listenSync, listenSyncOnce, listenValidation, listenWalker, listenWalkerComplete, listenWalkerOnce, listenWalkerProgress, overrideActionSchema, overrideExchangeSchema, overrideFrameSchema, overrideRiskSchema, overrideSizingSchema, overrideStrategySchema, overrideWalkerSchema, parseArgs, percentDiff, percentToCloseCost, percentValue, readMemory, removeMemory, roundTicks, runInMockContext, searchMemory, set, setColumns, setConfig, setLogger, shutdown, slPercentShiftToPrice, slPriceToPercentShift, stopStrategy, toProfitLossDto, tpPercentShiftToPrice, tpPriceToPercentShift, validate, validateCommonSignal, validatePendingSignal, validateScheduledSignal, validateSignal, waitForCandle, warmCandles, writeMemory };