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

1from finbot.execution.broker import SimulatedBroker 

2from finbot.market.data_provider import MarketDataProvider 

3from finbot.strategy.base import Strategy 

4 

5 

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 

16 

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) 

20 

21 if order: self.broker.execute(order=order, market_price=bar.close)