Coverage for src/finbot/engine/trading_engine.py: 0%
12 statements
« prev ^ index » next coverage.py v7.15.4, created at 2026-08-21 17:12 +0000
« prev ^ index » next coverage.py v7.15.4, created at 2026-08-21 17:12 +0000
1from finbot.execution.broker import SimulatedBroker
2from finbot.market.data_provider import MarketDataProvider
3from finbot.strategy.base import Strategy
6class TradingEngine:
7 def __init__(
8 self,
9 market_data: MarketDataProvider,
10 broker: SimulatedBroker,
11 strategy: Strategy,
12 ):
13 self.market_data = market_data
14 self.broker = broker
15 self.strategy = strategy
17 def tick(self, symbol: str) -> None:
18 bar = self.market_data.get_latest_bar(symbol)
19 order = self.strategy.on_bar(bar=bar, portfolio=self.broker.portfolio)
21 if order: self.broker.execute(order=order, market_price=bar.close)