Ejemplo n.º 1
0
 def update(self,gname):
     for item in self.wmap.keys():
         cname,tf = item.split('_')
         flp = False
         c  = CurrencyChart(cname,tf)
         cp = ConvertWrapper()
         if cname.upper() in self.flip_list:
             flp = True
         cp.set_parm(text=item.replace('usd',''),flip=flp)
         cp.convert_copy(c.get_latest_gif() , "%s/%s/images/full/%s.gif" % (self.gbasedir, gname , self.wmap[item]))
         cp.convert_copy(c.get_latest_gif() , "%s/%s/images/thumb/%s.gif" % (self.gbasedir, gname , self.wmap[item]))
     return
Ejemplo n.º 2
0
class GifGallery:
    def __init__(self,cur_name,cur_tf,config = configuration.Configuration()):
        self.ftpath    = '/home/yuting/project/turbo-daytrader/forextools'
        self.gbasedir   = '%s/html' % self.ftpath
        self.wmap       = dict()
        self.flip_list  = map(lambda x: x.upper(), config.currency_flip)
        self.chart      = CurrencyChart(cur_name,cur_tf)
        
    def build_moving_gifs(self,rg):
        c = ConvertWrapper()
        c.convert_delay(1,self.chart.get_range_gifs_to_now(rg),'/tmp/7day.gif')

    def build_mpeg(self,rg):
        c = ConvertWrapper()
        c.ffmpeg_prepare(self.chart.get_range_gifs_to_now(rg),'/tmp/a.gif')
Ejemplo n.º 3
0
 def __init__(self, cur_name,cur_tf, config = configuration.Configuration()):
     self.cur_name      = cur_name.upper()
     self.tf            = cur_tf
     self.chart         = CurrencyChart(cur_name,cur_tf)
     self.status        = self.chart.get_status()
     self.flip_list     = map(lambda x: x.upper(), config.currency_flip)
     self.cc_cache      = '%s/cc/%s_%s' % (config.forexbase, \
                                           self.cur_name, \
                                           self.tf)
     self.cache_status = dict()
Ejemplo n.º 4
0
class CurrencyStatus:
    def __init__(self, cur_name,cur_tf, config = configuration.Configuration()):
        self.cur_name      = cur_name.upper()
        self.tf            = cur_tf
        self.chart         = CurrencyChart(cur_name,cur_tf)
        self.status        = self.chart.get_status()
        self.flip_list     = map(lambda x: x.upper(), config.currency_flip)
        self.cc_cache      = '%s/cc/%s_%s' % (config.forexbase, \
                                              self.cur_name, \
                                              self.tf)
        self.cache_status = dict()
        
    def has_cc(self):
        if self.status['CC'].has_key('CCDIST'):
            return True
        else:
            return False

    def get_CC_keys(self):
        return self.status['CC'].keys()

    def get_CC_value(self,key):
        if self.status['CC'].has_key(key):
            return self.status['CC'][key]
        else:
            print "CC does not have %s" % key
            return 'NA'

    def get_MW_keys(self):
        return self.status['MW'].keys()
        

    def get_MW_value(self,key):
        if self.status['MW'].has_key(key):
            return self.status['MW'][key]
        else:
            print "MW does not have %s" % key
            return 'NA'

    def get_bid(self):
        return self.status['MarketInfo']['BID']
    
    def get_ask(self):
        return self.status['MarketInfo']['ASK']

        
    def get_MSYS_trend(self):
        flip      = -1 if self.cur_name.upper() in self.flip_list else 1
        ret_code  = 0
        if self.status['TrendSys']['M55'] > self.status['TrendSys']['M34'] and \
           self.status['TrendSys']['M55'] > self.status['TrendSys']['M34'] and \
           self.status['TrendSys']['M55'] > self.status['TrendSys']['M21'] and \
           self.status['TrendSys']['M55'] > self.status['TrendSys']['M13'] and \
           self.status['TrendSys']['M55'] > self.status['TrendSys']['M8'] and \
           self.status['TrendSys']['M55'] > self.status['TrendSys']['M5']:
            ret_code = -1 * flip

        if self.status['TrendSys']['M55'] < self.status['TrendSys']['M34'] and \
           self.status['TrendSys']['M55'] < self.status['TrendSys']['M34'] and \
           self.status['TrendSys']['M55'] < self.status['TrendSys']['M21'] and \
           self.status['TrendSys']['M55'] < self.status['TrendSys']['M13'] and \
           self.status['TrendSys']['M55'] < self.status['TrendSys']['M8'] and \
           self.status['TrendSys']['M55'] < self.status['TrendSys']['M5']:
            ret_code = 1 * flip
            
        return ret_code

    def get_MSYS_status(self):
        flip      = -1 if self.cur_name.upper() in self.flip_list else 1
        ret_code  = 0

        if self.status['TrendSys']['M55'] > self.status['TrendSys']['M34'] and \
           self.status['TrendSys']['M34'] > self.status['TrendSys']['M21'] and \
           self.status['TrendSys']['M21'] > self.status['TrendSys']['M13'] and \
           self.status['TrendSys']['M13'] > self.status['TrendSys']['M8'] and \
           self.status['TrendSys']['M8'] > self.status['TrendSys']['M5']:
            ret_code = -1 * flip

        if self.status['TrendSys']['M55'] < self.status['TrendSys']['M34'] and \
           self.status['TrendSys']['M34'] < self.status['TrendSys']['M21'] and \
           self.status['TrendSys']['M21'] < self.status['TrendSys']['M13'] and \
           self.status['TrendSys']['M13'] < self.status['TrendSys']['M8'] and \
           self.status['TrendSys']['M5'] < self.status['TrendSys']['M5']:
            ret_code = 1 * flip

        return ret_code

    def get_nearest_zpoint(self):
        ret_point = 0
        flip      = -1 if self.cur_name.upper() in self.flip_list else 1
        MW_up   = self.status['MW_up']['OBJPROP_TIME1']
        MW_down = self.status['MW_down']['OBJPROP_TIME1']
        
        ret_point = 1*flip if MW_up > MW_down else -1 * flip

        return ret_point

    def has_cc_cache(self):
        return os.path.exists(self.cc_cache)

    def load_cc_cache(self):
        if not self.has_cc_cache():
            return

        def splitLine(line):
            items = map(lambda x: tuple(x.strip().split('=')),
                        line.split(';'))
            return dict(items)
        
        content = list()
        self.cache_status = dict()
        
        with open(self.cc_cache, 'r') as f:
            content = f.xreadlines()
            content = map(lambda x: splitLine(x.strip()), content)
            for line in content:
                self.cache_status[line['OBJNAME']] = line
            f.seek(0)
            f.close()

    def cc_A_changed(self):
        if not self.has_cc():
            return False
        return self.status['CC']['OBJPROP_PRICE1'] != \
            self.cache_status['CC']['OBJPROP_PRICE1']

    def cc_B_changed(self):
        if not self.has_cc():
            return False
        return self.status['CC']['OBJPROP_PRICE2'] != \
            self.cache_status['CC']['OBJPROP_PRICE2']
    
    def cc_C_changed(self):
        if not self.has_cc():
            return False
        return self.status['CC']['OBJPROP_PRICE3'] != \
            self.cache_status['CC']['OBJPROP_PRICE3']


    def update_cc_cache(self):
        if self.has_cc():
            with open(self.cc_cache,'w') as f:
                f.write(self.chart.ccstr)
                f.close()
Ejemplo n.º 5
0
 def __init__(self,cur_name,cur_tf,config = configuration.Configuration()):
     self.ftpath    = '/home/yuting/project/turbo-daytrader/forextools'
     self.gbasedir   = '%s/html' % self.ftpath
     self.wmap       = dict()
     self.flip_list  = map(lambda x: x.upper(), config.currency_flip)
     self.chart      = CurrencyChart(cur_name,cur_tf)