onBar
Вызывается на каждой свече до core.ts.
Этот hook подходит для общей логики, которую нужно запускать до core даже если сама стратегия потом вернет skip: например, для shared risk checks, cross-strategy управления позициями или общих project-wide guard’ов.
Где можно объявить
tradejs.config.ts -> hooks.onBarдля общих хуков на все стратегии проектаmanifest.ts -> hooks.onBarдля локальной pre-core логики одной стратегии
Project onBar hooks выполняются раньше, чем onBar hooks из strategy manifest.
Params
{
ctx: StrategyHookCtx;
market: {
candle: KlineChartItem;
btcCandle: KlineChartItem;
};
}
Output
| Возврат | Тип |
|---|---|
| Без return value | void или Promise<void> |
| Short-circuit свечи | StrategyDecision или Promise<...> |
Если onBar возвращает StrategyDecision, текущая свеча short-circuit’ится:
core.tsна этой свече уже не выполняется- дальнейший runtime flow продолжается с возвращенного решения
- например, при возврате
skipдальше все равно вызоветсяonSkip
Если hook бросает ошибку, runtime логирует ее, вызывает onRuntimeError и продолжает работу так, как будто hook вернул undefined.