Administrator
17 小时以前 2f00a0565dcf8d652b8bb5c4caefbce1c2c92d62
strategy/strategy_script_v6.py
@@ -15,7 +15,7 @@
    return f"{huaxin_timestamp[0:2]}:{huaxin_timestamp[2: 4]}:{huaxin_timestamp[4: 6]}"
def can_buy():
def __can_buy():
    """
    @return: 是否可买, 不能买的原因/可买的板块, 是否量够
    """
@@ -81,6 +81,8 @@
    if sv.今日开盘价 and (sv.今日开盘价 - sv.昨日收盘价) / sv.昨日收盘价 < settings.min_open_rate:
        return False, f"开盘涨幅小于{settings.min_open_rate}"
    rate = (sv.当前价 - sv.昨日收盘价) / sv.昨日收盘价
    if rate >= settings.avaiable_rates[1] or rate < settings.avaiable_rates[0]:
        return False, f"涨幅不在区间内({settings.avaiable_rates[0]}-{settings.avaiable_rates[1]}):{rate}"
@@ -95,7 +97,10 @@
        return False, f"10个交易日有>=3连板"
    if sv.涨得高未放量:
        return False, f"涨得高未放量"
        return False, f"30个交易日涨得高未放量"
    if sv.涨停过未放量:
        return False, f"7个交易日内有涨停/炸板,未出现过高价"
    # if sv.当前价 > sv.昨日最低价 * 1.1:
    #     return False, f"买入时的价格必须≤昨日最低价*110%"
@@ -117,9 +122,9 @@
    # 目标票板块涨停个数>=2
    # 板块只能买入一个代码
    # 板块只能买入2个代码
    if sv.板块成交代码:
        can_buy_plates -= set(sv.板块成交代码.keys())
        can_buy_plates -= set([p for p in sv.板块成交代码 if len(sv.板块成交代码[p]) >= settings.max_buy_codes_count_per_plate])
    if not can_buy_plates:
        return False, f"没有涨停的板块: {[(plate, sv.开盘啦最正板块涨停.get(plate)) for plate in sv.代码板块 if sv.开盘啦最正板块涨停]}  连续老题材:{sv.连续老题材}"
@@ -167,5 +172,4 @@
    return True, f" \n\t大单信息:{round(big_order_money / 1e4, 2)}万(买:{round(big_order_money / 1e4, 2)}万 卖:{round(big_sell_order_money / 1e4, 2)}万)/{round(threshold_money / 1e4, 2)}万  \n\t量够信息:{sv.今日量够信息}\n\t今日最高价:{sv.今日最高价信息} \n\t5日最高价:{sv.日最高价_5}", f"\n\t板块信息:{[(p, sv.开盘啦最正板块涨停.get(p)) for p in can_buy_plates]}", can_buy_plates
compute_result = can_buy()
compute_result = __can_buy()