def deal_single_ins(item): r = False if item['ins'] == 'down_sell': df = ts.get_realtime_quotes(item['code']) b3_price = float(df.at[0, 'b3_p']) if b3_price <= item['price'] and b3_price > 0: to_log('reach price by down_sell ins ') item['ins'] = 'sell_order' send_instruction(item) r = True if item['ins'] == 'up_warn': df = ts.get_realtime_quotes(item['code']) b3_price = float(df.at[0, 'b3_p']) if b3_price >= item['price']: to_log('reach price by up_warn ins ') send_email(dss, 'up_warn', str(item)) r = True if item['ins'] == 'down_warn': df = ts.get_realtime_quotes(item['code']) b3_price = float(df.at[0, 'b3_p']) if b3_price <= item['price'] and b3_price > 0: to_log('reach price by down_warn ins ') send_email(dss, 'down_warn', str(item)) r = True if item['ins'] in ['sell_order', 'buy_order']: to_log('send sell_order or buy_order ins ') send_instruction(item) r = True return r
def _bc_sendOrder(self, code, direction, offset, price, volume, portfolio): cost = int(price * volume) df = ts.get_realtime_quotes(code) name = df.at[0, 'name'] ins_dict = {} if direction == DIRECTION_LONG: ins_dict = { 'ins': 'buy_order', 'portfolio': portfolio, 'code': code, 'num': volume, 'price': price, 'cost': cost, 'agent': 'pingan', 'name': name } if direction == DIRECTION_SHORT: ins_dict = { 'ins': 'sell_order', 'portfolio': portfolio, 'code': code, 'num': volume, 'price': price, 'cost': cost, 'agent': 'pingan', 'name': name } if ins_dict != {}: send_instruction(ins_dict)