刚才下楼散步的时候想到几点:
1、盘前挂单后,导出相关的单子到文件到db
要点:集合竞价拆分为竞价中(9:23:00-9:25:00)和竞价后(9:25:00-9:30:00)
2、竞价中(9:23:00-9:25:00)的核心逻辑是:
A、检查盘前是否有挂单,具体方式是查看数据库中当日委托表是否有已报数据。如果没有给出提醒。且后续逻辑不再运行
B、获取当前竞价价格。可以使用
新浪或
东方财富的在线查询方式,
如果无法获取(对方不支持),那么可以在本地开行情软件,直接从自选中截图并识别其价格。
C、判断是否大幅高开(或大幅低开),比如高开超过3档,但是实际只挂了2档卖单
如果剩余可用数量足够再卖一档,则系统自动补提交第三档价位的卖单。
但是不再补充更高价位的卖单了。
(后续也可以考虑按照高开的
空间计算档位,把所有可以容纳的档位都挂满卖单)
(也可以考虑盘前挂单时直接挂满三挡卖单,如果盘中有买单成交,需要挂反向卖单时发现可用数量为0,提醒用户撤部分卖单)
买单同理。
补充集合竞价小规则:
9:15:00--9:20:00 之间的集合竞价可申报可撤单;
9:20:00--9:25:00 之间的集合竞价可申报但不可撤单;
所以要在接近9:25:00的时候才识别价格
此时的价格相对而言更接近集合竞价的最终价格
而且要留出一些时间来补挂单。
此种情况主要用来应对大幅高开或低开的情况。
3、竞价后(9:25:00-9:30:00)的核心逻辑:
A、识别出成交的单子;(委托单导出,其中的成交单与DB中的当日委托单对比,委托单更新到DB中。)
B、如果高开,禁用该股网格
C、更新网格价位(无论网格是否被禁用)
D、第一时间生成反向单与顺向单,尽量在9:30:00时第一时间让券商提交委托单
抢占卡位
4、盘中的核心逻辑:
与3一致,不过忽略B