求帮忙优化问财选股,这个一直报错

用户头像财源滚滚的李云龙
2025-06-05 发布

def init(context):

设置高胜率竞价选股公式

context.iwencai_query = '''
非ST, 流通市值<200亿, 竞价涨幅1%-3%,
竞价量比>8, 竞价金额>3000万,
9:20-9:25未匹配买额前20, 昨日非涨停1,2,5
''' # 关键条件说明见下表

def handle_bar(context, bar_dict):

9:25:00触发选股(避开9:20前虚假数据)

if context.current_dt.time().strftime('%H:%M:%S') == '09:25:00':
stocks = []

提取股票关键数据

for symbol in context.iwencai_securities:
name = get_security_info(symbol).display_name
pre_close = history_bars(symbol, 1, '1d', 'close')[0] # 昨日收盘价
open_price = get_current_data(symbol).last # 开盘价
change = (open_price/pre_close - 1) * 100 # 竞价涨幅

筛选有效标的(网页5风控规则)

if 1 <= change <= 3:
stocks.append(f"{symbol} {name} | 竞价:{change:.2f}%")

9:26:00准时推送(延时60秒)

if stocks:
notify_push(
f"【9:26竞价选股】\n" + "\n".join(stocks[:5]) +
f"\n⚠️共{len(stocks)}支,详查开盘量能1",
channel='wxpusher',
uids='UID_ec9lu7nZzRTaL9ndZncMEWlfJS7f', # 在wxpusher公众号获取
delay_seconds=60 # 9:25:00+60s=9:26:00
)

评论

用户头像
2025-06-06 04:18:41

today = today.strftime('%Y年%m月%d日') # 注意:日期必须带年月日,要不然问财结果不正确
yesterday = get_previous_trading_date(get_datetime()).strftime('Y年%m月%d日')
最好把日期格式改成:Y年%m月%d日,要不然问财会把日期的数值分解,判断出错

评论
用户头像
2025-06-06 07:02:30

today = today.strftime('%Y年%m月%d日') # 注意:日期必须带年月日,要不然问财结果不正确
yesterday = get_previous_trading_date(get_datetime()).strftime('Y年%m月%d日')
最好把日期格式改成:Y年%m月%d日,要不然问财会把日期的数值分解,判断出错

评论
用户头像
2025-06-06 07:03:27

today = today.strftime('%Y年%m月%d日') # 注意:日期必须带年月日,要不然问财结果不正确
yesterday = get_previous_trading_date(get_datetime()).strftime('Y年%m月%d日')
最好把日期格式改成:Y年%m月%d日,要不然问财会把日期的数值分解,判断出错

评论
用户头像
龙门大侠回复:龙门大侠
2025-06-06 07:43:12

today = today.strftime('%Y年%m月%d日') # 注意:日期必须带年月日,要不然问财结果不正确
yesterday = get_previous_trading_date(get_datetime()).strftime('Y年%m月%d日')
最好把日期格式改成:Y年%m月%d日,要不然问财会把日期的数值分解,判断出错

评论
用户头像
龙门大侠回复:龙门大侠
2025-06-06 07:44:25

today = today.strftime('%Y年%m月%d日') # 注意:日期必须带年月日,要不然问财结果不正确
yesterday = get_previous_trading_date(get_datetime()).strftime('Y年%m月%d日')
最好把日期格式改成:Y年%m月%d日,要不然问财会把日期的数值分解,判断出错

评论
用户头像
龙门大侠回复:龙门大侠
2025-06-06 07:44:34

today = today.strftime('%Y年%m月%d日') # 注意:日期必须带年月日,要不然问财结果不正确
yesterday = get_previous_trading_date(get_datetime()).strftime('Y年%m月%d日')
最好把日期格式改成:Y年%m月%d日,要不然问财会把日期的数值分解,判断出错

评论