diff --git "a/classes/types.ActionBase.html" "b/classes/types.ActionBase.html" --- "a/classes/types.ActionBase.html" +++ "b/classes/types.ActionBase.html" @@ -40,7 +40,7 @@ Extend this class to implement custom action handlers for:
// Redux state management example
class ReduxAction extends ActionBase {
constructor(
strategyName: StrategyName,
frameName: FrameName,
actionName: ActionName,
private store: Store
) {
super(strategyName, frameName, actionName);
}
signal(event: IStrategyTickResult) {
this.store.dispatch({
type: 'STRATEGY_SIGNAL',
payload: { event, strategyName: this.strategyName, frameName: this.frameName }
});
}
partialProfit(event: PartialProfitContract) {
this.store.dispatch({
type: 'PARTIAL_PROFIT',
payload: { event, strategyName: this.strategyName }
});
}
}
-Action identifier
If running in backtest
-ReadonlyactionReadonlybacktestReadonlyframeReadonlystrategyHandles breakeven events when stop-loss is moved to entry price.
+ReadonlyactionReadonlybacktestReadonlyframeReadonlystrategyHandles breakeven events when stop-loss is moved to entry price.
Called once per signal when price moves far enough to cover fees and slippage. Breakeven threshold: (CC_PERCENT_SLIPPAGE + CC_PERCENT_FEE) * 2 + CC_BREAKEVEN_THRESHOLD
Triggered by: ActionCoreService.breakevenAvailable() via BreakevenConnectionService @@ -73,7 +73,7 @@ Frequency: Once per signal when threshold reached
Optionalsource: stringCleans up resources and subscriptions when action handler is disposed.
+Cleans up resources and subscriptions when action handler is disposed.
Called once when strategy execution ends. Guaranteed to run exactly once via singleshot pattern.
Override to:
@@ -88,7 +88,7 @@ Guaranteed to run exactly once via singleshot pattern.Optionalsource: stringInitializes the action handler.
+Initializes the action handler.
Called once after construction. Override to perform async initialization:
Optionalsource: stringHandles partial loss level events (-10%, -20%, -30%, etc).
+Handles partial loss level events (-10%, -20%, -30%, etc).
Called once per loss level per signal (deduplicated). Use to track loss milestones and implement risk management actions.
Triggered by: ActionCoreService.partialLossAvailable() via PartialConnectionService @@ -111,7 +111,7 @@ Frequency: Once per loss level per signal
Optionalsource: stringHandles partial profit level events (10%, 20%, 30%, etc).
+Handles partial profit level events (10%, 20%, 30%, etc).
Called once per profit level per signal (deduplicated). Use to track profit milestones and adjust position management.
Triggered by: ActionCoreService.partialProfitAvailable() via PartialConnectionService @@ -122,7 +122,7 @@ Frequency: Once per profit level per signal
Optionalsource: stringHandles active ping events during active pending signal monitoring.
+Handles active ping events during active pending signal monitoring.
Called every minute while a pending signal is active (position open). Use to monitor active positions and track lifecycle.
Triggered by: ActionCoreService.pingActive() via StrategyConnectionService @@ -133,7 +133,7 @@ Frequency: Every minute while pending signal is active
Optionalsource: stringHandles idle ping events when no signal is active.
+Handles idle ping events when no signal is active.
Called every tick while no signal is pending or scheduled. Use to monitor idle strategy state and implement entry condition logic.
Triggered by: ActionCoreService.pingIdle() via StrategyConnectionService @@ -141,7 +141,7 @@ Source: idlePingSubject.next() in CREATE_COMMIT_IDLE_PING_FN callback Frequency: Every tick while no signal is pending or scheduled
Default implementation: Logs idle ping event.
Idle ping data with symbol, strategy info, current price, timestamp
-Optionalsource: stringHandles scheduled ping events during scheduled signal monitoring.
+Optionalsource: stringHandles scheduled ping events during scheduled signal monitoring.
Called every minute while a scheduled signal is waiting for activation. Use to monitor pending signals and track wait time.
Triggered by: ActionCoreService.pingScheduled() via StrategyConnectionService @@ -152,7 +152,7 @@ Frequency: Every minute while scheduled signal is waiting
Optionalsource: stringHandles risk rejection events when signals fail risk validation.
+Handles risk rejection events when signals fail risk validation.
Called only when signal is rejected (not emitted for allowed signals). Use to track rejected signals and analyze risk management effectiveness.
Triggered by: ActionCoreService.riskRejection() via RiskConnectionService @@ -163,7 +163,7 @@ Frequency: Only when signal fails risk validation
Optionalsource: stringHandles signal events from all modes (live + backtest).
+Handles signal events from all modes (live + backtest).
Called every tick/candle when strategy is evaluated. Receives all signal states: idle, scheduled, opened, active, closed, cancelled.
Triggered by: ActionCoreService.signal() via StrategyConnectionService @@ -174,7 +174,7 @@ Frequency: Every tick/candle
Optionalsource: stringHandles signal events from backtest only.
+Handles signal events from backtest only.
Called every candle in backtest mode. Use for actions specific to backtesting (e.g., collecting test metrics).
Triggered by: ActionCoreService.signalBacktest() via StrategyConnectionService @@ -185,7 +185,7 @@ Frequency: Every candle in backtest mode
Optionalsource: stringHandles signal events from live trading only.
+Handles signal events from live trading only.
Called every tick in live mode. Use for actions that should only run in production (e.g., sending real notifications).
Triggered by: ActionCoreService.signalLive() via StrategyConnectionService @@ -196,7 +196,7 @@ Frequency: Every tick in live mode
Optionalsource: string
Timeframe identifier this action is attached to