def insert_updated_q(self): ''' update q values according to the list of prices :return: None ''' old_price = None for line in self.list_price(): price = OrderPrices() price.set_price_record(line) q_val = QValue() if not price.is_equal_prices(old_price): print(price.time) # update if price.market_order_sell: q = self.create_q_sequence( start_time=price.time, action=ACTION.SELL_NOW, start_price=price.market_order_sell, skip_time=60) q_val[ACTION.SELL_NOW] = q if price.market_order_buy: q = self.create_q_sequence( start_time=price.time, action=ACTION.BUY_NOW, start_price=price.market_order_buy, skip_time=60) q_val[ACTION.BUY_NOW] = q if price.fix_order_sell: q = self.create_q_sequence( start_time=price.time, action=ACTION.SELL, start_price=price.fix_order_sell, skip_time=60) q_val[ACTION.SELL] = q if price.fix_order_buy: q = self.create_q_sequence(start_time=price.time, action=ACTION.BUY, start_price=price.fix_order_buy, skip_time=60) q_val[ACTION.BUY] = q self.insert_q(time=price.time, start_action=ACTION.NOP, start_time=0, q_value=q_val) old_price = price
def test_list_price_info(self): db = LogDb(db_name='/bitlog/bitlog.db') db.connect() time = None # 0 market_order_sell = None # 1 market_order_buy = None # 2 fix_order_sell = None # 3 fix_order_sell_time = None # 4 fix_order_buy = None # 5 fix_order_buy_time = None # 6 org_price = OrderPrices() line_count = 0 block_count = 0 for line in db.list_price(): price = OrderPrices() price.set_price_record(line) if ((price.market_order_sell != org_price.market_order_sell) or (price.market_order_buy != org_price.market_order_buy) or (price.fix_order_sell != org_price.fix_order_sell) or (price.fix_order_buy != org_price.fix_order_buy)): print(price, ',') block_count += 1 line_count += 1 org_price.set_price_record(line) print('line', line_count, 'block_count', block_count)
def select_lowest_price_time(self, time): sql = """select time, market_order_sell, market_order_buy, fix_order_sell, fix_order_sell_time, fix_order_buy, fix_order_buy_time from order_book where ? <= time and time < ? order by market_order_sell, time""" self.cursor.execute(sql, (time, time + HOLD_TIME_MAX)) rec = self.cursor.fetchone() price = OrderPrices(rec) return price
def test_is_equal_price_value(self): price1 = OrderPrices() price2 = OrderPrices() self.assertEqual(price1.time, price2.time) self.assertTrue(price1.is_equal_prices(price2)) price2.fix_order_buy = 1 self.assertFalse(price1.is_equal_prices(price2))
def test_price_constructor(self): price_rec = (1, 2, 3, 4, 5, 6, 7) price = OrderPrices(price_rec) self.assertEqual(price.time, 1)
def test_set_one_rec(self): price = OrderPrices() price.set_price_record(TEST_PRICE_DATA[1]) print(price)
def test_create_order_price(self): order_price = OrderPrices() self.assertIsNotNone(order_price)