示例#1
0
    def do_thread_loop(self):
        if ( self.running ):
            if ( self.mqtt_connected ):
                for stock in self.tickerlist:
                    ticker = stock.ticker
                    print "querrying for ", ticker
                    now = datetime.datetime.now()
                    open_time = now.replace( hour=self.openhour, minute=self.openmin, second=0 )
                    close_time = now.replace( hour=self.closehour, minute=self.closemin, second=0 )
                    open_day = False
                    for day in self.tradingdow:
                        if ( day == datetime.datetime.today().weekday() ):
                            open_day = True
                    if (( now > open_time) and ( now < close_time ) and open_day):
                        self.mqttc.publish( self.basetopic + "/" + ticker + "/name", stock.name, qos = 2, retain=True)
                        try:
                            price = ystockquote.get_price( ticker )
                            self.mqttc.publish( self.basetopic + "/" + ticker + "/price", price, qos = 2, retain=True)
                            #TODO add previous close value!!!!!!1
                            change = ystockquote.get_change( ticker )
                            self.mqttc.publish( self.basetopic + "/" + ticker + "/change", change, qos = 2, retain=True)
                            volume = ystockquote.get_volume( ticker )
                            self.mqttc.publish( self.basetopic + "/" + ticker + "/volume", volume, qos = 2, retain=True)
                            if ( stock.high_low ):
                                yrhigh = ystockquote.get_52_week_high( ticker )
                                self.mqttc.publish( self.basetopic + "/" + ticker + "/yrhigh", yrhigh, qos = 2, retain=True)
                                yrlow = ystockquote.get_52_week_low( ticker )
                                self.mqttc.publish( self.basetopic + "/" + ticker + "/yrlow", yrlow, qos = 2, retain=True)
                            if ( stock.mavg ):
                                avg50 = ystockquote.get_50day_moving_avg( ticker )
                                self.mqttc.publish( self.basetopic + "/" + ticker + "/50day-ma", avg50, qos = 2, retain=True)

                                avg200 = ystockquote.get_200day_moving_avg( ticker )
                                self.mqttc.publish( self.basetopic + "/" + ticker + "/200day-ma", avg200, qos = 2, retain=True)
                            self.mqttc.publish( self.basetopic + "/" + ticker  + "/time", time.strftime( "%x %X" ), qos = 2, retain=True)
                        except:
                            print "querry error in ystockquote." 
                    else:
                        print "Markets closed"
                        self.mqttc.publish( self.basetopic + "/" + ticker  + "/null", "", qos = 2, retain=True)
示例#2
0
 def test_get_50day_moving_avg(self):
     value = ystockquote.get_50day_moving_avg(self.symbol)
     self.assertIsInstance(value, str)
示例#3
0
 def test_get_50day_moving_avg(self):
     value = ystockquote.get_50day_moving_avg(self.symbol)
     self.assertIsInstance(value, str)