def __init__(self, symbol, strategy, buyingRatio): ''' constructor ''' self.__symbol = symbol self.__strategy = strategy self.__startDate = strategy.startDate self.__buyingRatio = buyingRatio # order id self.__stopOrderId = None self.__stopOrder = None self.__buyOrder = None self.__smaShort = Sma(10) self.__smaMid = Sma(60) self.__smaLong = Sma(200) self.__smaVolumeShort = Sma(10) self.__smaVolumeMid = Sma(60) self.__movingLowShort = MovingLow(10) self.__movingLowWeek = MovingLow(3) #state of previous day self.__previousTick = None self.__previousSmaShort = None self.__previousMovingLowShort = None self.__previousMovingLowWeek = None self.__previousSmaMid = None self.__previousSmaLong = None self.__previousSmaVolumeShort = None self.__previousSmaVolumeMid = None
def __init__(self, configDict): ''' constructor ''' super(SMAStrategy, self).__init__("smaStrategy") self.configDict = configDict self.symbols = None # order id self.__stopOrderId = None self.__stopOrder = None self.__buyOrder = None self.__smaShort = Sma(10) self.__smaMid = Sma(60) self.__smaLong = Sma(300) #state of privious day self.__previousTick = None self.__previousSmaShort = None self.__previousSmaMid = None self.__previousSmaLong = None
def testSma(self): sma = Sma(period=3) expectedAvgs = [1, 1.5, 2, 3, 4] for index, number in enumerate(range(1, 6)): self.assertEqual(expectedAvgs[index], sma(number))