|
|
|
|
@ -156,14 +156,18 @@ class Strategy:
@@ -156,14 +156,18 @@ class Strategy:
|
|
|
|
|
self.broker.set_timestamp(bars.timestamp[bar]) |
|
|
|
|
return self.broker.add_position(ticker, bars.close[bar], self.trade_size, bar) |
|
|
|
|
|
|
|
|
|
def short_at_open(self, bar, ticker): |
|
|
|
|
def short_at_open(self, bar, ticker=None): |
|
|
|
|
if ticker is None: |
|
|
|
|
ticker = 0 |
|
|
|
|
if isinstance(ticker, int): |
|
|
|
|
ticker = self.all_bars[ticker].ticker |
|
|
|
|
bars = self._get_bars(ticker) |
|
|
|
|
self.broker.set_timestamp(bars.timestamp[bar]) |
|
|
|
|
return self.broker.add_position(ticker, bars.open[bar], -self.trade_size, bar) |
|
|
|
|
|
|
|
|
|
def short_at_limit(self, bar, price, ticker): |
|
|
|
|
def short_at_limit(self, bar, price, ticker=None): |
|
|
|
|
if ticker is None: |
|
|
|
|
ticker = 0 |
|
|
|
|
if isinstance(ticker, int): |
|
|
|
|
ticker = self.all_bars[ticker].ticker |
|
|
|
|
bars = self._get_bars(ticker) |
|
|
|
|
@ -176,7 +180,9 @@ class Strategy:
@@ -176,7 +180,9 @@ class Strategy:
|
|
|
|
|
else: |
|
|
|
|
return None |
|
|
|
|
|
|
|
|
|
def short_at_stop(self, bar, price, ticker): |
|
|
|
|
def short_at_stop(self, bar, price, ticker=None): |
|
|
|
|
if ticker is None: |
|
|
|
|
ticker = 0 |
|
|
|
|
if isinstance(ticker, int): |
|
|
|
|
ticker = self.all_bars[ticker].ticker |
|
|
|
|
bars = self._get_bars(ticker) |
|
|
|
|
@ -189,7 +195,9 @@ class Strategy:
@@ -189,7 +195,9 @@ class Strategy:
|
|
|
|
|
else: |
|
|
|
|
return None |
|
|
|
|
|
|
|
|
|
def short_at_close(self, bar, ticker): |
|
|
|
|
def short_at_close(self, bar, ticker=None): |
|
|
|
|
if ticker is None: |
|
|
|
|
ticker = 0 |
|
|
|
|
if isinstance(ticker, int): |
|
|
|
|
ticker = self.all_bars[ticker].ticker |
|
|
|
|
bars = self._get_bars(ticker) |
|
|
|
|
|