以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 高级功能研发区 (http://weistock.com/bbs/list.asp?boardid=5) ---- python多品种同时下单交易如何实现撤单再下单? (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=170773) |
-- 作者:qweoo123456 -- 发布时间:2019/7/2 11:29:28 -- python多品种同时下单交易如何实现撤单再下单? 论坛上的撤单代码只是交易一个品种并且只交易一次的撤单代码。能不能写一个多品种多次交易的撤单代码? 例如 我同时下单买入100只股票,有的股票成交了,有的股票没有成交,那么我需要把没有成交的股票撤单然后重新下单买入。请问怎么实现,谢谢! |
-- 作者:yukizzc -- 发布时间:2019/7/3 9:37:52 -- #获取所有未成交单 order_list = get_orders(context.s1, 0) if order_list is not(None): #循环所有订单 for i in order_list: if i.order_id in context.buy_list: cancel_order (i.order_id) 一种方式,你自己记录一个list保存自己买过的股票,然后带入这个模块做多一层循环动作就行了。 另外一种你自己设定好了股票池,那么每次都对这个股票池里面的品种做遍历
|
-- 作者:qweoo123456 -- 发布时间:2019/7/3 10:12:20 -- 这里的 if order_id in context.buy_list: 要改成 for order_id in context.buy_list 不然只能撤销最后一个单子,不能把没有成交的全部撤了。 撤单我已经搞定了,问题是撤单后再买入出现问题,order_list = get_orders(context.s1, 0) 只能取到最后一个未成交的股票,其他为未成交的股票取不到。 |
-- 作者:qweoo123456 -- 发布时间:2019/7/3 10:41:23 -- 后面再买入的时候要怎么做循环?我试了好多次都是第一次撤单后买一遍,第二次撤单后就买两遍,后面越买越多 |
-- 作者:qweoo123456 -- 发布时间:2019/7/3 13:48:05 -- for i in context.s1: context.order_list = get_orders(i, 0)
为什么只能取到一个未成交的 book_id 有多只没有成交的股票,但是只能取到一个未成交的股票 |
-- 作者:qweoo123456 -- 发布时间:2019/7/3 15:40:36 -- 大神,能不能写个完整的出来啊,我弄了几天了都没有弄好。 |
-- 作者:qweoo123456 -- 发布时间:2019/7/3 16:59:40 -- 不知道是不是搞定了,明天试一下,搞好了就不用麻烦了,谢谢 |
-- 作者:yukizzc -- 发布时间:2019/7/4 10:17:44 -- 你是不是检测间隔太短了,导致撤单买入后,马上又去执行了撤单再买入 买的时候加个判断如果账户有持仓就不要再买
|