| | |
| | | @staticmethod |
| | | def delete_buy_point(code): |
| | | CodeDataCacheUtil.clear_cache(TradePointManager.__buy_compute_index_info_cache, code) |
| | | redis = TradePointManager.__get_redis() |
| | | RedisUtils.delete(redis, "buy_compute_index_info-{}".format(code)) |
| | | RedisUtils.delete(TradePointManager.__get_redis(), "buy_compute_index_info-{}".format(code)) |
| | | |
| | | # 获取买入点信息 |
| | | # 返回数据为:买入点 累计纯买额 已经计算的数据索引 |
| | | @staticmethod |
| | | def get_buy_compute_start_data(code): |
| | | redis = TradePointManager.__get_redis() |
| | | _key = "buy_compute_index_info-{}".format(code) |
| | | _data_json = RedisUtils.get(redis, _key) |
| | | _data_json = RedisUtils.get(TradePointManager.__get_redis(), _key) |
| | | if _data_json is None: |
| | | return None, None, None, 0, 0, [], 0 |
| | | _data = json.loads(_data_json) |
| | |
| | | @staticmethod |
| | | def set_buy_compute_start_data(code, buy_single_index, buy_exec_index, compute_index, nums, count, max_num_sets, |
| | | volume_rate): |
| | | redis = TradePointManager.__get_redis() |
| | | expire = tool.get_expire() |
| | | _key = "buy_compute_index_info-{}".format(code) |
| | | data_ = None |
| | |
| | | volume_rate) |
| | | CodeDataCacheUtil.set_cache(TradePointManager.__buy_compute_index_info_cache, code, data_) |
| | | RedisUtils.setex( |
| | | redis, _key, expire, |
| | | TradePointManager.__get_redis(), _key, expire, |
| | | json.dumps(data_)) |
| | | |
| | | # 获取撤买入开始计算的信息 |
| | | # 返回数据的内容为:撤销点索引 撤买纯买额 计算的数据索引 |
| | | @staticmethod |
| | | def get_buy_cancel_single_pos(code): |
| | | redis = TradePointManager.__get_redis() |
| | | info = RedisUtils.get(redis, "buy_cancel_single_pos-{}".format(code)) |
| | | info = RedisUtils.get(TradePointManager.__get_redis(), "buy_cancel_single_pos-{}".format(code)) |
| | | if info is None: |
| | | return None |
| | | else: |
| | |
| | | |
| | | @classmethod |
| | | def set_buy_cancel_single_pos(cls, code, index): |
| | | redis = TradePointManager.__get_redis() |
| | | expire = tool.get_expire() |
| | | RedisUtils.setex(redis, "buy_cancel_single_pos-{}".format(code), expire, index) |
| | | RedisUtils.setex(TradePointManager.__get_redis(), "buy_cancel_single_pos-{}".format(code), expire, index) |
| | | |
| | | # 删除买撤点数据 |
| | | @classmethod |
| | | def delete_buy_cancel_point(cls, code): |
| | | redis = TradePointManager.__get_redis() |
| | | RedisUtils.delete(redis, "buy_cancel_single_pos-{}".format(code)) |
| | | RedisUtils.delete(TradePointManager.__get_redis(), "buy_cancel_single_pos-{}".format(code)) |
| | | |
| | | # 设置买撤纯买额 |
| | | @classmethod |
| | | def set_compute_info_for_cancel_buy(cls, code, index, nums): |
| | | redis = TradePointManager.__get_redis() |
| | | expire = tool.get_expire() |
| | | RedisUtils.setex(redis, "compute_info_for_cancel_buy-{}".format(code), expire, json.dumps((index, nums))) |
| | | RedisUtils.setex(TradePointManager.__get_redis(), "compute_info_for_cancel_buy-{}".format(code), expire, json.dumps((index, nums))) |
| | | logger_l2_trade_buy.info("{}保存撤单纯买额信息:{},{}", code, index, nums) |
| | | |
| | | # 获取买撤纯买额计算信息 |
| | | @classmethod |
| | | def get_compute_info_for_cancel_buy(cls, code): |
| | | redis = TradePointManager.__get_redis() |
| | | info = RedisUtils.get(redis, "compute_info_for_cancel_buy-{}".format(code)) |
| | | info = RedisUtils.get(TradePointManager.__get_redis(), "compute_info_for_cancel_buy-{}".format(code)) |
| | | if info is None: |
| | | return None, 0 |
| | | else: |
| | |
| | | |
| | | @classmethod |
| | | def delete_compute_info_for_cancel_buy(cls, code): |
| | | redis = TradePointManager.__get_redis() |
| | | RedisUtils.delete(redis, "compute_info_for_cancel_buy-{}".format(code)) |
| | | RedisUtils.delete(TradePointManager.__get_redis(), "compute_info_for_cancel_buy-{}".format(code)) |
| | | |
| | | # 从买入信号开始设置涨停买与涨停撤的单数 |
| | | @classmethod |
| | | def set_count_info_for_cancel_buy(cls, code, index, buy_count, cancel_count): |
| | | redis = TradePointManager.__get_redis() |
| | | expire = tool.get_expire() |
| | | RedisUtils.setex(redis, "count_info_for_cancel_buy-{}".format(code), expire, |
| | | RedisUtils.setex(TradePointManager.__get_redis(), "count_info_for_cancel_buy-{}".format(code), expire, |
| | | json.dumps((index, buy_count, cancel_count))) |
| | | logger_l2_trade_buy.info("{}保存撤单纯买额信息:{},{}", code, index, buy_count, cancel_count) |
| | | |
| | | # 获取买撤纯买额计算信息 |
| | | @classmethod |
| | | def get_count_info_for_cancel_buy(cls, code): |
| | | redis = TradePointManager.__get_redis() |
| | | info = RedisUtils.get(redis, "count_info_for_cancel_buy-{}".format(code)) |
| | | info = RedisUtils.get(TradePointManager.__get_redis(), "count_info_for_cancel_buy-{}".format(code)) |
| | | if info is None: |
| | | return None, 0, 0 |
| | | else: |
| | |
| | | |
| | | @classmethod |
| | | def delete_count_info_for_cancel_buy(cls, code): |
| | | redis = TradePointManager.__get_redis() |
| | | RedisUtils.delete(redis, "count_info_for_cancel_buy-{}".format(code)) |
| | | RedisUtils.delete(TradePointManager.__get_redis(), "count_info_for_cancel_buy-{}".format(code)) |
| | | |
| | | |
| | | # 清除l2数据 |
| | | def clear_l2_data(code): |
| | | redis_l2 = redis_manager.RedisManager(1).getRedis() |
| | | keys = RedisUtils.keys(redis_l2, "l2-{}-*".format(code)) |
| | | for k in keys: |
| | | RedisUtils.delete(redis_l2, k) |
| | | try: |
| | | keys = RedisUtils.keys(redis_l2, "l2-{}-*".format(code), auto_free=False) |
| | | for k in keys: |
| | | RedisUtils.delete(redis_l2, k, auto_free=False) |
| | | |
| | | RedisUtils.delete(redis_l2, "l2-data-latest-{}".format(code)) |
| | | RedisUtils.delete(redis_l2, "l2-data-latest-{}".format(code), auto_free=False) |
| | | finally: |
| | | redis_l2.connection_pool.disconnect() |
| | | |
| | | |
| | | second_930 = 9 * 3600 + 30 * 60 + 0 |
| | |
| | | def init_l2_fixed_codes(): |
| | | key = "l2-fixed-codes" |
| | | redis = _redisManager.getRedis() |
| | | count = RedisUtils.scard(redis, key) |
| | | if count > 0: |
| | | RedisUtils.delete(redis, key) |
| | | RedisUtils.sadd(redis, key, "000000") |
| | | RedisUtils.expire(redis, key, tool.get_expire()) |
| | | try: |
| | | count = RedisUtils.scard(redis, key, auto_free=False) |
| | | if count > 0: |
| | | RedisUtils.delete(redis, key, auto_free=False) |
| | | RedisUtils.sadd(redis, key, "000000", auto_free=False) |
| | | RedisUtils.expire(redis, key, tool.get_expire(), auto_free=False) |
| | | finally: |
| | | redis.connection_pool.disconnect() |
| | | |
| | | |
| | | # 移除l2固定监控代码 |
| | | def remove_from_l2_fixed_codes(code): |
| | | key = "l2-fixed-codes" |
| | | redis = _redisManager.getRedis() |
| | | RedisUtils.srem(redis, key, code) |
| | | RedisUtils.srem(_redisManager.getRedis(), key, code) |
| | | |
| | | |
| | | # 添加代码到L2固定监控 |
| | | def add_to_l2_fixed_codes(code): |
| | | key = "l2-fixed-codes" |
| | | redis = _redisManager.getRedis() |
| | | RedisUtils.sadd(redis, key, code) |
| | | RedisUtils.expire(redis, key, tool.get_expire()) |
| | | RedisUtils.sadd(_redisManager.getRedis(), key, code) |
| | | RedisUtils.expire(_redisManager.getRedis(), key, tool.get_expire()) |
| | | |
| | | |
| | | # 是否在l2固定监控代码中 |
| | | def is_in_l2_fixed_codes(code): |
| | | key = "l2-fixed-codes" |
| | | redis = _redisManager.getRedis() |
| | | return RedisUtils.sismember(redis, key, code) |
| | | return RedisUtils.sismember( _redisManager.getRedis(), key, code) |
| | | |
| | | |
| | | if __name__ == "__main__": |