diff --git a/src/naiback/indicators/__init__.py b/src/naiback/indicators/__init__.py index 236d8f6..dce2a17 100644 --- a/src/naiback/indicators/__init__.py +++ b/src/naiback/indicators/__init__.py @@ -1,3 +1,4 @@ from .ema import EMA from .rsi import RSI +from .intradaybarnumber import IntradayBarNumber diff --git a/src/naiback/indicators/intradaybarnumber.py b/src/naiback/indicators/intradaybarnumber.py new file mode 100644 index 0000000..c7db943 --- /dev/null +++ b/src/naiback/indicators/intradaybarnumber.py @@ -0,0 +1,18 @@ + +def IntradayBarNumber(bars): + result = [] + if len(bars.timestamp) == 0: + return result + ibn = 0 + current_date = None + for ts in bars.timestamp: + if current_date != ts.date(): + ibn = 0 + current_date = ts.date() + else: + ibn += 1 + result.append(ibn) + + return result + + diff --git a/src/naiback/strategy/strategy.py b/src/naiback/strategy/strategy.py index cfe97e4..b23e450 100644 --- a/src/naiback/strategy/strategy.py +++ b/src/naiback/strategy/strategy.py @@ -4,6 +4,7 @@ from naiback.broker.broker import Broker from naiback.data.bars import Bars from naiback.analyzers.statsanalyzer import StatsAnalyzer from naiback.analyzers.tradeslistanalyzer import TradesListAnalyzer +from naiback.exceptions import NaibackException class Strategy: """ @@ -38,6 +39,8 @@ class Strategy: By default, just calls execute. """ self._prepare_bars(from_time, to_time) + if len(self.all_bars) > 0: + self.bars = self.all_bars[0] self.execute() def set_current_ticker(self, ticker):