Administrator
2023-10-23 9972c26c36c18a1ca5b636964a38ba1cf56a1208
调整下单金额/调整输出/调整股价过高判断
4个文件已修改
47 ■■■■ 已修改文件
code_attribute/code_nature_analyse.py 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
constant.py 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
output/code_info_output.py 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server.py 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
code_attribute/code_nature_analyse.py
@@ -188,14 +188,19 @@
    datas = datas[-10:]
    limit_ups = []
    limit_up_count = 0
    max_price = datas[0]["high"]
    for data in datas:
        limit_up_price = float(gpcode_manager.get_limit_up_price_by_preprice(data["pre_close"]))
        date = data['bob'].strftime("%Y-%m-%d")
        if data["high"] > max_price:
            max_price = data["high"]
        if abs(limit_up_price - data["high"]) < 0.01:
            limit_ups.append((date, True))
            limit_up_count += 1
        else:
            limit_ups.append((date, False))
    # 下降幅度
    limit_down_rate = round((max_price - datas[-1]["close"]) / max_price, 3)
    if limit_up_count < 3:
        return False
@@ -208,8 +213,10 @@
        for t in temp_datas:
            if t[1]:
                t_count += 1
        if t_count >= 3:
        if t_count >= 3 and limit_down_rate < 0.2:
            # 降幅小于20%
            return True
    return False
constant.py
@@ -138,7 +138,7 @@
########华鑫配置########
if not is_windows() or True:
    # 下单1手
    BUY_MONEY_PER_CODE = 1000
    BUY_MONEY_PER_CODE = 2500
    L2_SOURCE_TYPE = L2_SOURCE_TYPE_HUAXIN
    JUEJIN_LOCAL_API = False
    TRADE_WAY = TRADE_WAY_HUAXIN
output/code_info_output.py
@@ -155,9 +155,22 @@
        else:
            if trade_progress < len(total_datas):
                data = total_datas[trade_progress]
                params["trade_data"]["trade_progress"] = {"time": data['val']['time'],
                                                          "num": data['val']['num'], "money": round(
                        data['val']['num'] * float(data['val']['price']) * 100 / 10000, 1)}
                trade_progress_datas = []
                for min_money in [30000, 20000, 10000]:
                    for i in range(trade_progress - 1, -1, -1):
                        # 是否为涨停买
                        if L2DataUtil.is_limit_up_price_buy(total_datas[i]['val']):
                            if data['val']['num'] * float(data['val']['price']) > min_money:
                                trade_progress_datas.append({"time": data['val']['time'],
                                                             "num": data['val']['num'], "money": money_desc(round(
                                        data['val']['num'] * float(data['val']['price']) * 100))})
                                break
                    if trade_progress_datas:
                        break
                trade_progress_datas.append({"time": data['val']['time'],
                                             "num": data['val']['num'], "money": money_desc(round(
                        data['val']['num'] * float(data['val']['price']) * 100))})
        # 买入信号
        buy_single_index, buy_exec_index, compute_index, num, count, max_num_set, volume_rate = l2_data_manager.TradePointManager().get_buy_compute_start_data_cache(
@@ -375,12 +388,23 @@
                                             extra_datas))
                elif type == trade_record_log_util.TYPE_REAL_PLACE_ORDER_POSITION:
                    _datas = []
                    MIN_MONEYS = [30000, 20000, 10000]
                    for min_money in MIN_MONEYS:
                        for i in range(data['index'], 0, -1):
                            if L2DataUtil.is_limit_up_price_buy(total_datas[i]['val']) and total_datas[i]['val'][
                                'num'] * float(total_datas[i]['val']['price']) >= min_money:
                                _datas.append(f"【{format_l2_data(total_datas[i])}】")
                                if len(_datas) >= 1:
                                    break
                        if len(_datas) >= 1:
                            break
                    for i in range(data['index'], 0, -1):
                        if L2DataUtil.is_limit_up_price_buy(total_datas[i]['val']) and total_datas[i]['val'][
                            'num'] * float(total_datas[i]['val']['price']) >= 3000:
                            if len(_datas) >= 2:
                            if _datas and _datas[-1]["index"] == i:
                                break
                            _datas.append(f"【{format_l2_data(total_datas[i])}】")
                            break
                    records_new_data.append(
                        (time_, "实际挂单位", "".join(_datas), []))
server.py
@@ -960,11 +960,11 @@
        time.sleep(1.5)
if __name__ == "__main__":
    codes = ["605151"]  # gpcode_manager.FirstGPCodesManager().get_first_gp_codes()
    codes = ["002792"]  # gpcode_manager.FirstGPCodesManager().get_first_gp_codes()
    for code in codes:
        volumes_data = inited_data.get_volumns_by_code(code, 150)
        # volumes_data = volumes_data[1:]
        print(code, code_nature_analyse.is_have_latest_max_volume(volumes_data, 2))
        print(code, code_nature_analyse.is_up_too_high_in_10d(volumes_data))
        # try:
        #     global_data_loader.load_zyltgb()
        #     limit_up_price = float(gpcode_manager.get_limit_up_price(code))