Administrator
2025-06-06 6df8d9ac75a041377c01c80e6e970e5c75ce7662
strategy/µÍÎü½Å±¾_±æÊ¶¶È.py
@@ -30,6 +30,10 @@
    big_order_count = 0
    if sv.今日大单数据:
        # 10个交易日内有炸板或涨停就看5个交易日
        # if sv.涨停数_10 > 0 or sv.炸板数_10 > 0:
        #     big_order_count = len(set([o[0] for o in sv.今日大单数据 if sv.日最高价_5 <= o[4] < sv.昨日收盘价 * 1.06]))
        # else:
        big_order_count = len(set([o[0] for o in sv.今日大单数据 if sv.日最高价_10 <= o[4] < sv.昨日收盘价 * 1.06]))
    if big_order_count < 1:  # max(1, int(round(sv.昨日成交额 * 0.33 / 1e8))):
        return False, f"({big_order_count})少于1个大单"
@@ -39,19 +43,13 @@
    can_buy_blocks = set([k for k in sv.代码板块 if sv.板块涨停 and k in sv.板块涨停 and len(sv.板块涨停[k]) >= 1])
    if not can_buy_blocks:
        return False, "板块少于1个涨停"
    # æ˜¯å¦è¿˜æœ‰å¯ä¹°çš„æ¿å—
    # can_buy_blocks = sv.代码板块 - sv.板块成交代码.keys()
    # if not can_buy_blocks:
    #     return False, "没有可买的代码"
    can_buy_blocks = sv.代码板块 - sv.板块成交代码.keys()
    if not can_buy_blocks:
        return False, "板块已有成交代码"
    tr = 0.06 if target_code.find("30") != 0 else 0.12
    if (sv.今日大单数据[-1][4] - sv.昨日收盘价) / sv.昨日收盘价 >= tr:
        return False, "涨幅过高"
    # tr = 1
    # if sv.今日大单数据 and sv.今日大单数据[-1][4] >= sv.日最高价_10 * 1.008 and (sv.今日大单数据[-1][4] - sv.昨日收盘价) / sv.昨日收盘价 < tr:
    #     return True, can_buy_blocks, ([(p, sv.板块涨停.get(p)) for p in can_buy_blocks], f"大单数量:{big_order_count}", f"买入价:{sv.今日大单数据[-1][4]}")
    # else:
    buy_money = 0
    sell_money = 0
    order_ids = set()
@@ -77,11 +75,12 @@
        # print(target_code, "卖单多于买单: ", sv.今日卖大单数据)
        return False, "卖单多于买单"
    if (sv.今日大单数据[-1][4] - sv.今日大单均价)/sv.昨日收盘价 > 0.03:
        return False, "高于大单均价3个点"
    if (sv.今日大单数据[-1][4] - sv.今日大单均价) / sv.昨日收盘价 > 0.03:
        return False, f"高于大单均价({sv.今日大单均价})3个点"
    return True, can_buy_blocks, (f"大单数量:{big_order_count}", f"买入价:{sv.今日大单数据[-1][4]},涨幅:{round((sv.今日大单数据[-1][4] - sv.昨日收盘价)*100 / sv.昨日收盘价, 2)}%",
        sv.今日大单数据[-1], [(p, sv.板块涨停.get(p)) for p in can_buy_blocks])
    return True, can_buy_blocks, (
    f"大单数量:{big_order_count}", f"买入价:{sv.今日大单数据[-1][4]},涨幅:{round((sv.今日大单数据[-1][4] - sv.昨日收盘价) * 100 / sv.昨日收盘价, 2)}%",
    sv.今日大单数据[-1], [(p, sv.板块涨停.get(p)) for p in can_buy_blocks])
compute_result = can_buy()