backtest-kit 7.5.0 → 7.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": "7.5.0",
3
+ "version": "7.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
@@ -9358,6 +9358,7 @@ declare function getMinutesSinceLatestSignalCreated(symbol: string): Promise<num
9358
9358
  * SL trades show peak < 0.15% (Feb08, Feb13) or never go positive (Feb25).
9359
9359
  * Rule: if minutesOpen >= N and peakPercent < threshold (e.g. 0.3%) — exit.
9360
9360
  *
9361
+ * @param symbol - Trading pair symbol
9361
9362
  * @param dto.bucketName - State bucket name
9362
9363
  * @param dto.initialValue - Default value when no persisted state exists
9363
9364
  * @returns Promise resolving to current state value, or initialValue if no signal
@@ -9377,7 +9378,7 @@ declare function getMinutesSinceLatestSignalCreated(symbol: string): Promise<num
9377
9378
  * }
9378
9379
  * ```
9379
9380
  */
9380
- declare function getSignalState<Value extends object = object>(dto: {
9381
+ declare function getSignalState<Value extends object = object>(symbol: string, dto: {
9381
9382
  bucketName: string;
9382
9383
  initialValue: Value;
9383
9384
  }): Promise<Value>;
@@ -9395,6 +9396,7 @@ declare function getSignalState<Value extends object = object>(dto: {
9395
9396
  * SL trades show peak < 0.15% (Feb08, Feb13) or never go positive (Feb25).
9396
9397
  * Rule: if minutesOpen >= N and peakPercent < threshold (e.g. 0.3%) — exit.
9397
9398
  *
9399
+ * @param symbol - Trading pair symbol
9398
9400
  * @param dto.bucketName - State bucket name
9399
9401
  * @param dto.initialValue - Default value when no persisted state exists
9400
9402
  * @param dto.dispatch - New value or updater function receiving current value
@@ -9418,11 +9420,58 @@ declare function getSignalState<Value extends object = object>(dto: {
9418
9420
  * );
9419
9421
  * ```
9420
9422
  */
9421
- declare function setSignalState<Value extends object = object>(dispatch: Value | Dispatch$1<Value>, dto: {
9423
+ declare function setSignalState<Value extends object = object>(symbol: string, dispatch: Value | Dispatch$1<Value>, dto: {
9422
9424
  bucketName: string;
9423
9425
  initialValue: Value;
9424
9426
  }): Promise<Value>;
9425
9427
 
9428
+ /**
9429
+ * Reads the session value scoped to the current (symbol, strategy, exchange, frame) context.
9430
+ *
9431
+ * Session data persists across candles within a single run and can survive process
9432
+ * restarts in live mode — useful for caching LLM inference results, intermediate
9433
+ * indicator state, or any cross-candle accumulator that is not tied to a specific signal.
9434
+ *
9435
+ * Automatically detects backtest/live mode from execution context.
9436
+ *
9437
+ * @param symbol - Trading pair symbol
9438
+ * @returns Promise resolving to current session value, or null if not set
9439
+ *
9440
+ * @example
9441
+ * ```typescript
9442
+ * import { getSession } from "backtest-kit";
9443
+ *
9444
+ * const session = await getSession<{ lastLlmSignal: string }>("BTCUSDT");
9445
+ * if (session?.lastLlmSignal === "buy") {
9446
+ * // reuse cached LLM result instead of calling the model again
9447
+ * }
9448
+ * ```
9449
+ */
9450
+ declare function getSessionData<Value extends object = object>(symbol: string): Promise<Value | null>;
9451
+ /**
9452
+ * Writes a session value scoped to the current (symbol, strategy, exchange, frame) context.
9453
+ *
9454
+ * Session data persists across candles within a single run and can survive process
9455
+ * restarts in live mode — useful for caching LLM inference results, intermediate
9456
+ * indicator state, or any cross-candle accumulator that is not tied to a specific signal.
9457
+ *
9458
+ * Pass null to clear the session.
9459
+ *
9460
+ * Automatically detects backtest/live mode from execution context.
9461
+ *
9462
+ * @param symbol - Trading pair symbol
9463
+ * @param value - New value or null to clear
9464
+ * @returns Promise that resolves when the session has been written
9465
+ *
9466
+ * @example
9467
+ * ```typescript
9468
+ * import { setSession } from "backtest-kit";
9469
+ *
9470
+ * await setSession("BTCUSDT", { lastLlmSignal: "buy" });
9471
+ * ```
9472
+ */
9473
+ declare function setSessionData<Value extends object = object>(symbol: string, value: Value | null): Promise<void>;
9474
+
9426
9475
  /**
9427
9476
  * Updater function for setState — receives current value and returns the next value.
9428
9477
  * Used for functional updates to state, e.g. `setState(prev => ({ ...prev, peakPercent: newPeak }))`
@@ -9724,18 +9773,20 @@ interface IStateParams<Value extends object = object> {
9724
9773
  /**
9725
9774
  * Reads the current state value for the active pending or scheduled signal.
9726
9775
  * Resolved from execution context — no signalId argument required.
9776
+ * @param symbol - Trading pair symbol
9727
9777
  * @returns Current state value
9728
9778
  * @throws Error if no pending or scheduled signal exists
9729
9779
  */
9730
- type GetStateFn<Value extends object = object> = () => Promise<Value>;
9780
+ type GetStateFn<Value extends object = object> = (symbol: string) => Promise<Value>;
9731
9781
  /**
9732
9782
  * Updates the state value for the active pending or scheduled signal.
9733
9783
  * Resolved from execution context — no signalId argument required.
9784
+ * @param symbol - Trading pair symbol
9734
9785
  * @param dispatch - New value or updater function receiving current value
9735
9786
  * @returns Updated state value
9736
9787
  * @throws Error if no pending or scheduled signal exists
9737
9788
  */
9738
- type SetStateFn<Value extends object = object> = (dispatch: Value | Dispatch<Value>) => Promise<Value>;
9789
+ type SetStateFn<Value extends object = object> = (symbol: string, dispatch: Value | Dispatch<Value>) => Promise<Value>;
9739
9790
  /**
9740
9791
  * Tuple returned by createSignalState — [getState, setState] bound to the bucket.
9741
9792
  * Both functions resolve the active signal and backtest flag from execution context automatically.
@@ -14023,6 +14074,11 @@ declare class PersistStateUtils {
14023
14074
  * All future persistence writes will be no-ops.
14024
14075
  */
14025
14076
  useDummy: () => void;
14077
+ /**
14078
+ * Switches to the default JSON persist adapter.
14079
+ * All future persistence writes will use JSON storage.
14080
+ */
14081
+ useJson: () => void;
14026
14082
  /**
14027
14083
  * Clears the memoized storage cache.
14028
14084
  * Call this when process.cwd() changes between strategy iterations
@@ -14043,6 +14099,93 @@ declare class PersistStateUtils {
14043
14099
  * Used by StatePersistInstance for crash-safe state persistence.
14044
14100
  */
14045
14101
  declare const PersistStateAdapter: PersistStateUtils;
14102
+ /**
14103
+ * Session data structure for session persistence.
14104
+ * Each session is identified by a unique id and contains an arbitrary JSON-serializable data object.
14105
+ */
14106
+ type SessionData = {
14107
+ id: string;
14108
+ data: object | null;
14109
+ };
14110
+ /**
14111
+ * Utility class for managing session persistence.
14112
+ *
14113
+ * Features:
14114
+ * - Memoized storage instances per (strategyName, exchangeName, frameName) key
14115
+ * - Custom adapter support
14116
+ * - Atomic read/write operations
14117
+ *
14118
+ * Storage layout: ./dump/session/<strategyName>/<exchangeName>/<frameName>.json
14119
+ *
14120
+ * Used by SessionPersistInstance for crash-safe session persistence.
14121
+ */
14122
+ declare class PersistSessionUtils {
14123
+ private PersistSessionFactory;
14124
+ private getSessionStorage;
14125
+ /**
14126
+ * Registers a custom persistence adapter.
14127
+ *
14128
+ * @param Ctor - Custom PersistBase constructor
14129
+ */
14130
+ usePersistSessionAdapter(Ctor: TPersistBaseCtor<string, SessionData>): void;
14131
+ /**
14132
+ * Initializes the storage for a given (strategyName, exchangeName, frameName) triple.
14133
+ *
14134
+ * @param strategyName - Strategy identifier
14135
+ * @param exchangeName - Exchange identifier
14136
+ * @param frameName - Frame identifier
14137
+ * @param initial - Whether this is the first initialization
14138
+ */
14139
+ waitForInit: (strategyName: string, exchangeName: string, frameName: string, initial: boolean) => Promise<void>;
14140
+ /**
14141
+ * Reads a session entry from persistence storage.
14142
+ *
14143
+ * @param strategyName - Strategy identifier
14144
+ * @param exchangeName - Exchange identifier
14145
+ * @param frameName - Frame identifier
14146
+ * @returns Promise resolving to entry data or null if not found
14147
+ */
14148
+ readSessionData: (strategyName: string, exchangeName: string, frameName: string) => Promise<SessionData | null>;
14149
+ /**
14150
+ * Writes a session entry to disk with atomic file writes.
14151
+ *
14152
+ * @param data - Entry data to persist
14153
+ * @param strategyName - Strategy identifier
14154
+ * @param exchangeName - Exchange identifier
14155
+ * @param frameName - Frame identifier
14156
+ */
14157
+ writeSessionData: (data: SessionData, strategyName: string, exchangeName: string, frameName: string) => Promise<void>;
14158
+ /**
14159
+ * Switches to a dummy persist adapter that discards all writes.
14160
+ * All future persistence writes will be no-ops.
14161
+ */
14162
+ useDummy: () => void;
14163
+ /**
14164
+ * Switches to the default JSON persist adapter.
14165
+ * All future persistence writes will use JSON storage.
14166
+ */
14167
+ useJson: () => void;
14168
+ /**
14169
+ * Clears the memoized storage cache.
14170
+ * Call this when process.cwd() changes between strategy iterations
14171
+ * so new storage instances are created with the updated base path.
14172
+ */
14173
+ clear: () => void;
14174
+ /**
14175
+ * Disposes of the session adapter and releases any resources.
14176
+ * Call this when a session is removed to clean up its associated storage.
14177
+ *
14178
+ * @param strategyName - Strategy identifier
14179
+ * @param exchangeName - Exchange identifier
14180
+ * @param frameName - Frame identifier
14181
+ */
14182
+ dispose: (strategyName: string, exchangeName: string, frameName: string) => void;
14183
+ }
14184
+ /**
14185
+ * Global singleton instance of PersistSessionUtils.
14186
+ * Used by SessionPersistInstance for crash-safe session persistence.
14187
+ */
14188
+ declare const PersistSessionAdapter: PersistSessionUtils;
14046
14189
 
14047
14190
  /**
14048
14191
  * Configuration interface for selective markdown service enablement.
@@ -14890,7 +15033,7 @@ type RestoreSnapshot = () => void;
14890
15033
  * Allows temporarily detaching all subject subscriptions so that one session
14891
15034
  * does not interfere with another, then restoring them afterwards.
14892
15035
  */
14893
- declare class SessionUtils {
15036
+ declare class SystemUtils {
14894
15037
  /**
14895
15038
  * Snapshots the current listener state of every global subject by replacing
14896
15039
  * their internal `_events` map with an empty object.
@@ -14898,7 +15041,237 @@ declare class SessionUtils {
14898
15041
  */
14899
15042
  createSnapshot: () => RestoreSnapshot;
14900
15043
  }
14901
- declare const Session: SessionUtils;
15044
+ declare const System: SystemUtils;
15045
+
15046
+ /**
15047
+ * Interface for session instance implementations.
15048
+ * Defines the contract for local, persist, and dummy backends.
15049
+ *
15050
+ * Intended use: per-(symbol, strategy, exchange, frame) mutable session data
15051
+ * shared across strategy callbacks within a single run — e.g. caching LLM
15052
+ * inference results, intermediate indicator state, or cross-candle accumulators.
15053
+ *
15054
+ * Example shape:
15055
+ * ```ts
15056
+ * { lastLlmSignal: "buy" | "sell" | null; confirmedAt: number }
15057
+ * ```
15058
+ */
15059
+ interface ISessionInstance {
15060
+ /**
15061
+ * Initialize the session instance.
15062
+ * @param initial - Whether this is the first initialization
15063
+ */
15064
+ waitForInit(initial: boolean): Promise<void>;
15065
+ /**
15066
+ * Write a new session value.
15067
+ * @param value - New value or null to clear
15068
+ */
15069
+ setData<Value extends object = object>(value: Value | null): Promise<void>;
15070
+ /**
15071
+ * Read the current session value.
15072
+ * @returns Current session value, or null if not set
15073
+ */
15074
+ getData<Value extends object = object>(): Promise<Value | null>;
15075
+ /**
15076
+ * Releases any resources held by this instance.
15077
+ */
15078
+ dispose(): Promise<void>;
15079
+ }
15080
+ /**
15081
+ * Constructor type for session instance implementations.
15082
+ * Used for swapping backends via SessionBacktestAdapter / SessionLiveAdapter.
15083
+ */
15084
+ type TSessionInstanceCtor = new (symbol: string, strategyName: StrategyName, exchangeName: ExchangeName, frameName: FrameName, backtest: boolean) => ISessionInstance;
15085
+ /**
15086
+ * Public surface of SessionBacktestAdapter / SessionLiveAdapter — ISessionInstance minus waitForInit and dispose.
15087
+ * waitForInit and dispose are managed internally by the adapter.
15088
+ */
15089
+ type TSessionAdapter = {
15090
+ [key in Exclude<keyof ISessionInstance, "waitForInit" | "dispose">]: any;
15091
+ };
15092
+ /**
15093
+ * Backtest session adapter with pluggable storage backend.
15094
+ *
15095
+ * Features:
15096
+ * - Adapter pattern for swappable session instance implementations
15097
+ * - Default backend: SessionLocalInstance (in-memory, no disk persistence)
15098
+ * - Alternative backends: SessionPersistInstance, SessionDummyInstance
15099
+ * - Convenience methods: useLocal(), usePersist(), useDummy(), useSessionAdapter()
15100
+ * - Memoized instances per (symbol, strategyName, exchangeName, frameName) tuple
15101
+ */
15102
+ declare class SessionBacktestAdapter implements TSessionAdapter {
15103
+ private SessionFactory;
15104
+ private getInstance;
15105
+ /**
15106
+ * Read the current session value for a backtest run.
15107
+ * @param symbol - Trading pair symbol
15108
+ * @param context.strategyName - Strategy identifier
15109
+ * @param context.exchangeName - Exchange identifier
15110
+ * @param context.frameName - Frame identifier
15111
+ * @returns Current session value, or null if not set
15112
+ */
15113
+ getData: <Value extends object = object>(symbol: string, context: {
15114
+ strategyName: StrategyName;
15115
+ exchangeName: ExchangeName;
15116
+ frameName: FrameName;
15117
+ }) => Promise<Value | null>;
15118
+ /**
15119
+ * Update the session value for a backtest run.
15120
+ * @param symbol - Trading pair symbol
15121
+ * @param value - New value or null to clear
15122
+ * @param context.strategyName - Strategy identifier
15123
+ * @param context.exchangeName - Exchange identifier
15124
+ * @param context.frameName - Frame identifier
15125
+ */
15126
+ setData: <Value extends object = object>(symbol: string, value: Value | null, context: {
15127
+ strategyName: StrategyName;
15128
+ exchangeName: ExchangeName;
15129
+ frameName: FrameName;
15130
+ }) => Promise<void>;
15131
+ /**
15132
+ * Switches to in-memory adapter (default).
15133
+ * All data lives in process memory only.
15134
+ */
15135
+ useLocal: () => void;
15136
+ /**
15137
+ * Switches to file-system backed adapter.
15138
+ * Data is persisted to disk via PersistSessionAdapter.
15139
+ */
15140
+ usePersist: () => void;
15141
+ /**
15142
+ * Switches to dummy adapter that discards all writes.
15143
+ */
15144
+ useDummy: () => void;
15145
+ /**
15146
+ * Switches to a custom session adapter implementation.
15147
+ * @param Ctor - Constructor for the custom session instance
15148
+ */
15149
+ useSessionAdapter: (Ctor: TSessionInstanceCtor) => void;
15150
+ /**
15151
+ * Clears the memoized instance cache.
15152
+ * Call this when process.cwd() changes between strategy iterations
15153
+ * so new instances are created with the updated base path.
15154
+ */
15155
+ clear: () => void;
15156
+ }
15157
+ /**
15158
+ * Live trading session adapter with pluggable storage backend.
15159
+ *
15160
+ * Features:
15161
+ * - Adapter pattern for swappable session instance implementations
15162
+ * - Default backend: SessionPersistInstance (file-system backed, survives restarts)
15163
+ * - Alternative backends: SessionLocalInstance, SessionDummyInstance
15164
+ * - Convenience methods: useLocal(), usePersist(), useDummy(), useSessionAdapter()
15165
+ * - Memoized instances per (symbol, strategyName, exchangeName, frameName) tuple
15166
+ */
15167
+ declare class SessionLiveAdapter implements TSessionAdapter {
15168
+ private SessionFactory;
15169
+ private getInstance;
15170
+ /**
15171
+ * Read the current session value for a live run.
15172
+ * @param symbol - Trading pair symbol
15173
+ * @param context.strategyName - Strategy identifier
15174
+ * @param context.exchangeName - Exchange identifier
15175
+ * @param context.frameName - Frame identifier
15176
+ * @returns Current session value, or null if not set
15177
+ */
15178
+ getData: <Value extends object = object>(symbol: string, context: {
15179
+ strategyName: StrategyName;
15180
+ exchangeName: ExchangeName;
15181
+ frameName: FrameName;
15182
+ }) => Promise<Value | null>;
15183
+ /**
15184
+ * Update the session value for a live run.
15185
+ * @param symbol - Trading pair symbol
15186
+ * @param value - New value or null to clear
15187
+ * @param context.strategyName - Strategy identifier
15188
+ * @param context.exchangeName - Exchange identifier
15189
+ * @param context.frameName - Frame identifier
15190
+ */
15191
+ setData: <Value extends object = object>(symbol: string, value: Value | null, context: {
15192
+ strategyName: StrategyName;
15193
+ exchangeName: ExchangeName;
15194
+ frameName: FrameName;
15195
+ }) => Promise<void>;
15196
+ /**
15197
+ * Switches to in-memory adapter.
15198
+ * All data lives in process memory only.
15199
+ */
15200
+ useLocal: () => void;
15201
+ /**
15202
+ * Switches to file-system backed adapter (default).
15203
+ * Data is persisted to disk via PersistSessionAdapter.
15204
+ */
15205
+ usePersist: () => void;
15206
+ /**
15207
+ * Switches to dummy adapter that discards all writes.
15208
+ */
15209
+ useDummy: () => void;
15210
+ /**
15211
+ * Switches to a custom session adapter implementation.
15212
+ * @param Ctor - Constructor for the custom session instance
15213
+ */
15214
+ useSessionAdapter: (Ctor: TSessionInstanceCtor) => void;
15215
+ /**
15216
+ * Clears the memoized instance cache.
15217
+ * Call this when process.cwd() changes between strategy iterations
15218
+ * so new instances are created with the updated base path.
15219
+ */
15220
+ clear: () => void;
15221
+ }
15222
+ /**
15223
+ * Main session adapter that manages both backtest and live session storage.
15224
+ *
15225
+ * Features:
15226
+ * - Routes all operations to SessionBacktest or SessionLive based on the backtest flag
15227
+ */
15228
+ declare class SessionAdapter {
15229
+ /**
15230
+ * Read the current session value for a signal.
15231
+ * Routes to SessionBacktest or SessionLive based on backtest.
15232
+ * @param symbol - Trading pair symbol
15233
+ * @param context.strategyName - Strategy identifier
15234
+ * @param context.exchangeName - Exchange identifier
15235
+ * @param context.frameName - Frame identifier
15236
+ * @param backtest - Flag indicating if the context is backtest or live
15237
+ * @returns Current session value, or null if not set
15238
+ */
15239
+ getData: <Value extends object = object>(symbol: string, context: {
15240
+ strategyName: StrategyName;
15241
+ exchangeName: ExchangeName;
15242
+ frameName: FrameName;
15243
+ }, backtest: boolean) => Promise<Value | null>;
15244
+ /**
15245
+ * Update the session value for a signal.
15246
+ * Routes to SessionBacktest or SessionLive based on backtest.
15247
+ * @param symbol - Trading pair symbol
15248
+ * @param value - New value or null to clear
15249
+ * @param context.strategyName - Strategy identifier
15250
+ * @param context.exchangeName - Exchange identifier
15251
+ * @param context.frameName - Frame identifier
15252
+ * @param backtest - Flag indicating if the context is backtest or live
15253
+ */
15254
+ setData: <Value extends object = object>(symbol: string, value: Value | null, context: {
15255
+ strategyName: StrategyName;
15256
+ exchangeName: ExchangeName;
15257
+ frameName: FrameName;
15258
+ }, backtest: boolean) => Promise<void>;
15259
+ }
15260
+ /**
15261
+ * Global singleton instance of SessionAdapter.
15262
+ * Provides unified session management for backtest and live trading.
15263
+ */
15264
+ declare const Session: SessionAdapter;
15265
+ /**
15266
+ * Global singleton instance of SessionLiveAdapter.
15267
+ * Provides live trading session storage with pluggable backends.
15268
+ */
15269
+ declare const SessionLive: SessionLiveAdapter;
15270
+ /**
15271
+ * Global singleton instance of SessionBacktestAdapter.
15272
+ * Provides backtest session storage with pluggable backends.
15273
+ */
15274
+ declare const SessionBacktest: SessionBacktestAdapter;
14902
15275
 
14903
15276
  /**
14904
15277
  * Type alias for column configuration used in backtest markdown reports.
@@ -33675,4 +34048,4 @@ declare const getTotalClosed: (signal: Signal) => {
33675
34048
  remainingCostBasis: number;
33676
34049
  };
33677
34050
 
33678
- 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, type CommitPayload, 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 IStateInstance, 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 IdlePingContract, 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, MemoryBacktest, MemoryBacktestAdapter, type MemoryData, MemoryLive, MemoryLiveAdapter, 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, PersistStateAdapter, 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, State, StateBacktest, StateBacktestAdapter, type StateData, StateLive, StateLiveAdapter, 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 TStateInstanceCtor, 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, createSignalState, 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, getSignalState, 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, setSignalState, shutdown, slPercentShiftToPrice, slPriceToPercentShift, stopStrategy, toProfitLossDto, tpPercentShiftToPrice, tpPriceToPercentShift, validate, validateCommonSignal, validatePendingSignal, validateScheduledSignal, validateSignal, waitForCandle, warmCandles, writeMemory };
34051
+ 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, type CommitPayload, 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 ISessionInstance, 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 IStateInstance, 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 IdlePingContract, 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, MemoryBacktest, MemoryBacktestAdapter, type MemoryData, MemoryLive, MemoryLiveAdapter, 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, PersistSessionAdapter, PersistSignalAdapter, PersistStateAdapter, 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, SessionBacktest, type SessionData, SessionLive, 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, State, StateBacktest, StateBacktestAdapter, type StateData, StateLive, StateLiveAdapter, Storage, StorageBacktest, type StorageData, StorageLive, Strategy, type StrategyActionType, type StrategyCancelReason, type StrategyCloseReason, type StrategyCommitContract, type StrategyEvent, type StrategyStatisticsModel, Sync, type SyncEvent, type SyncStatisticsModel, System, type TBrokerCtor, type TDumpInstanceCtor, type TLogCtor, type TMarkdownBase, type TMemoryInstanceCtor, type TNotificationUtilsCtor, type TPersistBase, type TPersistBaseCtor, type TRecentUtilsCtor, type TReportBase, type TSessionInstanceCtor, type TStateInstanceCtor, 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, createSignalState, 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, getSessionData, getSignalState, 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, setSessionData, setSignalState, shutdown, slPercentShiftToPrice, slPriceToPercentShift, stopStrategy, toProfitLossDto, tpPercentShiftToPrice, tpPriceToPercentShift, validate, validateCommonSignal, validatePendingSignal, validateScheduledSignal, validateSignal, waitForCandle, warmCandles, writeMemory };