| | |
| | | import win32gui |
| | | import win32con |
| | | |
| | | from db.redis_manager import RedisUtils |
| | | from code_attribute import gpcode_manager |
| | | from db.redis_manager_delegate import RedisUtils |
| | | from ocr import ocr_util |
| | | from trade import l2_trade_util |
| | | from db import redis_manager |
| | | from db import redis_manager_delegate as redis_manager |
| | | from log_module.log import * |
| | | from utils.tool import async_call |
| | | from utils import win32_util, capture_util |
| | | from utils import win32_util, capture_util, tool |
| | | |
| | | |
| | | class THSGuiTrade(object): |
| | |
| | | cls.__instance.buy_lock = threading.RLock() |
| | | cls.__instance.buy_cancel_locks = {} |
| | | cls.__instance.buy_win_list = cls.get_buy_wins() |
| | | print("交易窗口", cls.__instance.buy_win_list) |
| | | # print("交易窗口", cls.__instance.buy_win_list) |
| | | cls.__instance.using_buy_wins = set() |
| | | cls.__instance.cancel_wins = cls.__instance.getCancelBuyWins() |
| | | return cls.__instance |
| | |
| | | |
| | | # TODO 暂时不验证涨停价 |
| | | # if not constant.TEST: |
| | | # if abs(float(limit_up_price_now) - float(limit_up_price)) >= 0.01: |
| | | # if abs(float(limit_up_price_now) - float(limit_up_price)) >= 0.001: |
| | | # error = "涨停价验证出错 {}-{}".format(limit_up_price, limit_up_price_now) |
| | | # raise Exception(error) |
| | | |
| | |
| | | @classmethod |
| | | def __get_code_win(cls, code): |
| | | key = "buywin_distribute-{}".format(code) |
| | | win = cls.__get_redis().get(key) |
| | | win = RedisUtils.get(cls.__get_redis(), key) |
| | | if win is not None: |
| | | return int(win) |
| | | return None |
| | |
| | | raise Exception("必须要有一个买入窗口") |
| | | win_set = set(win_list) |
| | | for k in keys: |
| | | win = int(cls.__get_redis().get(k)) |
| | | win = int(RedisUtils.get(cls.__get_redis(),k)) |
| | | if win in win_set: |
| | | win_set.remove(win) |
| | | if len(win_set) > 0: |
| | |
| | | results = [] |
| | | for k in keys: |
| | | code = k.split("-")[-1] |
| | | win = cls.__get_redis().get(k) |
| | | win = RedisUtils.get(cls.__get_redis(), k) |
| | | results.append((code, win)) |
| | | return results |
| | | |