def get_eigyobi(_idx=-1): if _idx >=0: data = sql.exec_selsql("SELECT date FROM trade.eigyobi WHERE idx=\'" + str(_idx) + "\';") if len(data) > 0: return data[0][0] else: data = sql.exec_selsql("SELECT date FROM trade.eigyobi ORDER BY date;") arr = [] for d in data: arr.extend(d) return arr
def get_goodmeigaras(datestr, cnt, diagdays=20, minvaliddays=18, minvolu=50*10000, minprice=120, maxprice=10000, minvola=0.005, high_vol_first=True): startd = dtf.datestrsub(datestr, diagdays) strsql = "select code, count(date) as validdays, avg(close) as price, \ std((close + high + low) / 3) / avg(close) as vola, \ avg(volume) as vol \ from \ kabuka \ where \ date >= '%s' and date <= '%s' \ group by code \ having \ validdays >= '%s' and vol >= '%s' and price >= '%s' and price <= '%s' and vola >= '%s'" \ % (startd, datestr, str(minvaliddays), str(minvolu), str(minprice), str(maxprice), str(minvola)) if high_vol_first: strsql = strsql + "order by vol desc" strsql = strsql + " limit %s;" % (str(cnt)) return sql.exec_selsql(strsql, 0)
def get_price(code, datestr): strsql = "SELECT close FROM trade.kabuka WHERE \ code=\'" + str(code) + "\' AND date=\'" + str(datestr) + "\';" ret = sql.exec_selsql(strsql) if len(ret) == 0: return -1 else: return ret[0][0]
def get_meigaras(condlist=[]): condlist.append("available = \'1\'") strsql = "SELECT code FROM trade.meigaras %s;" % (sql.list2wheresql(condlist)) data = sql.exec_selsql(strsql) arr = [] for d in data: arr.extend(d) return arr
def get_datestr(startdstr, enddstr): arr = [] strsql = "SELECT DISTINCT date FROM trade.eigyobi WHERE \ date<=\'" + str(enddstr) + "\' AND date >=\'" + \ str(startdstr) + "\' ORDER BY date;" data = sql.exec_selsql(strsql) for d in data: arr.extend(d) return arr
def get_charge(price): strsql = "select limit_price, charge from trade.charges \ where brokerage = \'%s\';" % (BROKERAGE_NAME) data = sql.exec_selsql(strsql) if len(data) == 0: return 0 for row in data: limit_price = row[0] charge = row[1] if price <= limit_price*10000: return charge
def get_prices(code, startd="", endd="", colname=""): if colname == "": colname = "close" strsql = "select %s from trade.kabuka where code=\'%s\'" % (colname, code) if startd != "": strsql = strsql + " and date>=\'%s\'" % (startd) if endd != "": strsql = strsql + " and date<=\'%s\'" % (endd) strsql = strsql + " order by date;" return sql.exec_selsql(strsql, 0)
def get_hostids(): strsql = "select distinct hostid from zabbix.hosts;" return sql.exec_selsql(strsql, 0)
def get_eigyobi_idx(datestr): data = sql.exec_selsql("SELECT max(idx) FROM trade.eigyobi WHERE date<=\'" + str(datestr) + "\';") if len(data) == 0: return -1 else: return data[0][0]
def get_max_eigyobi(): data = sql.exec_selsql("SELECT MAX(date) FROM trade.eigyobi;") return data[0][0]
def get_eigyobis(startd, endd): data = sql.exec_selsql("SELECT date FROM trade.eigyobi where date >= %s and date <= %s;" % (startd, endd),0) return data
def get_eigyobi(idx): data = sql.exec_selsql("SELECT date FROM trade.eigyobi WHERE idx=\'" + str(idx) + "\';") if len(data) == 0: return "" else: return data[0][0]