def __init__(self, settings, name=None): NoScaleInEntryManager.__init__(self, settings, name) self.minPrice = settings.getfloat("JBMarwoodSupernovaShortEntry", "minPrice") self.maxPrice = settings.getfloat("JBMarwoodSupernovaShortEntry", "maxPrice") self.minVol = settings.getint("JBMarwoodSupernovaShortEntry", "minVol") self.minPctChange = settings.getfloat("JBMarwoodSupernovaShortEntry", "minPctChange") self.numdays = settings.getint("JBMarwoodSupernovaShortEntry", "numBars") self.onOpen = settings.getboolean("JBMarwoodSupernovaShortEntry", "enterNextOpen") self.onDownClose = settings.getboolean("JBMarwoodSupernovaShortEntry", "enterNextDayDownClose") targetstr = settings.get("JBMarwoodSupernovaShortEntry", "target") if targetstr == "None": self.target = None else: self.target = float(targetstr) self.stopPercent = settings.getfloat("JBMarwoodSupernovaShortEntry", "stopPercent") self.setupYesterday = True self.rawclose = Close() self.close = AdjustedClose() self.oldClose = HistoricMetric(self.close, period=self.numdays) self.change = Subtract(self.close, self.oldClose) self.pctChange = Divide(self.change, self.oldClose) self.volume = Volume() self._addMetric(self.rawclose) self._addMetric(self.close) self._addMetric(self.oldClose) self._addMetric(self.change) self._addMetric(self.pctChange) self._addMetric(self.volume)
def handle(self, periodData): print "intraday data seen" if self.periodData is not None: self.lastbarhigh = self.periodData.adjustedHigh if self.lowofday is None or self.periodData.adjustedLow < self.lowofday: self.lowofday = self.periodData.adjustedLow NoScaleInEntryManager.handle(self, periodData)
def __init__(self, settings=None, name=None): NoScaleInEntryManager.__init__(self, settings, name) self.min_price = self._getfloatsetting("BollingerBreakoutEntryManager", "minPrice") self.min_vol = self._getintsetting("BollingerBreakoutEntryManager", "minVolume") bb_period = self._getintsetting("BollingerBreakoutEntryManager", "bbPeriod") bb_stdevs = self._getfloatsetting("BollingerBreakoutEntryManager", "bbStdevs") self.do_long = self._getboolsetting("BollingerBreakoutEntryManager", "doLong") self.do_short = self._getboolsetting("BollingerBreakoutEntryManager", "doShort") sma_period = self._getintsetting("BollingerBreakoutEntryManager", "smaPeriod") if sma_period is not None: self.sma = SimpleMovingAverage(period=sma_period) else: self.sma = None self.raw_close = Close() self.close = AdjustedClose() self.vol = AverageVolume() self.bb = BollingerBands(metric=self.close, period=bb_period, stdev=bb_stdevs) self._addMetrics(self.sma, self.raw_close, self.close, self.vol, self.bb)
def __init__(self, settings, name=None): NoScaleInEntryManager.__init__(self, settings, name) self.lastbarhigh = None self.lowofday = None