量化交易Python代码:miniQMT每天晚上定时买入涨停板股票
发布时间:2025-8-4 14:24阅读:196
通过miniQMT每天晚上定时买入涨停板股票,暂不包含选股操作。
1. 定时任务设置
schedule.every().day.at("22:00").do(lambda: order_util.buy_custom(['000716.SZ']))这行代码使用了schedule库来设置一个定时任务,每天的22:00执行一次指定的函数。这里使用的是匿名函数(lambda),调用了order_util模块中的buy_custom方法,并传入了一个包含股票代码的列表['000716.SZ']。定时时间根据券商不同,清算时间不一样,国金证券是晚上十点,只要能排在自己券商的前面,就算尽人事了,第二天交易所随机扫单时的顺序就不是我们能控制了。

2. 定义买入函数
def buy_custom(trade_code_list): a.name = '手动交易' a.trade_code_list = trade_code_list a.tick_dict = xtdata.get_full_tick(a.trade_code_list) for stock_code in a.trade_code_list: buy_stock_stop(stock_code, 100, a)2.1 初始化交易参数
a.name = '手动交易'a.trade_code_list = trade_code_lista.tick_dict = xtdata.get_full_tick(a.trade_code_list)- a.name = '手动交易':设置交易名称为“手动交易”。
- a.trade_code_list = trade_code_list:保存传入的股票代码列表。
- a.tick_dict = xtdata.get_full_tick(a.trade_code_list):获取这些股票的最新行情数据,并存储在a.tick_dict中。
2.2 遍历股票代码并下单
for stock_code in a.trade_code_list: buy_stock_stop(stock_code, 100, a)遍历股票代码列表,对每个股票代码调用buy_stock_stop函数,尝试以涨停价买入100股。
3. 定义买入止损函数
def buy_stock_stop(stock_code, vol, a, limit_down_percentage=0.10): try: log.info(f'{a.name},买入{stock_code},数量{vol}') price = a.tick_dicts[stock_code]['lastClose'] * (1 + limit_down_percentage) # price = price > a.tick_dict[stock_code]['lastClose'] * 1.10 ? a.tick_dict[stock_code]['lastClose'] * 1.10 : price price = round(price, 2) seq = xt_trader.order_stock_async(acc, stock_code, xtconstant.STOCK_BUY, vol, xtconstant.FIX_PRICE,price,a.name,'买入') log.info(f'买入订单号:{seq}') return seq except Exception as e: log.error(e)3.1 日志记录
log.info(f'{a.name},买入{stock_code},数量{vol}')记录买入操作的信息,包括交易名称、股票代码和买入数量。
3.2 计算买入价格
price = a.tick_dicts[stock_code]['lastClose'] * (1 + limit_down_percentage) # price = price > a.tick_dict[stock_code]['lastClose'] * 1.10 ? a.tick_dict[stock_code]['lastClose'] * 1.10 : priceprice = round(price, 2) - price = a.tick_dicts[stock_code]['lastClose'] * (1 + limit_down_percentage):计算涨停价,假设涨停幅度为10%。
- price = round(price, 2):将价格四舍五入到小数点后两位。
3.3 下单操作
seq = xt_trader.order_stock_async(acc, stock_code, xtconstant.STOCK_BUY, vol, xtconstant.FIX_PRICE,price,a.name,'买入')log.info(f'买入订单号:{seq}') return seq- xt_trader.order_stock_async:异步下单函数,参数包括账户信息、股票代码、买卖方向、数量、价格类型、价格、交易名称和备注。
- log.info(f'买入订单号:{seq}'):记录订单号。
- return seq:返回订单号。
3.4 异常处理
except Exception as e: log.error(e)捕获并记录任何异常,确保程序不会因为错误而中断。定时时间还可以继续优化,本地时间与互联网时间要一致,程序启动后计算连接客户端的时间,分析委托单到券商的时间。
温馨提示:投资有风险,选择需谨慎。
能马上能买入涨停板股票吗
-
中信证券现在可以买黄金吗?有人知道吗?
2025-11-03 09:26
-
美联储二次降息落地,黄金还会涨吗?
2025-11-03 09:26
-
券商持续看好,半导体ETF究竟怎么选?
2025-11-03 09:26


当前我在线
18780236641 
分享该文章
