Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共8 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:python多品种同时下单交易如何实现撤单再下单?

1楼
qweoo123456 发表于:2019/7/2 11:29:28
论坛上的撤单代码只是交易一个品种并且只交易一次的撤单代码。能不能写一个多品种多次交易的撤单代码? 例如   我同时下单买入100只股票,有的股票成交了,有的股票没有成交,那么我需要把没有成交的股票撤单然后重新下单买入。请问怎么实现,谢谢!
2楼
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保存自己买过的股票,然后带入这个模块做多一层循环动作就行了。
另外一种你自己设定好了股票池,那么每次都对这个股票池里面的品种做遍历
3楼
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) 只能取到最后一个未成交的股票,其他为未成交的股票取不到。

4楼
qweoo123456 发表于:2019/7/3 10:41:23
后面再买入的时候要怎么做循环?我试了好多次都是第一次撤单后买一遍,第二次撤单后就买两遍,后面越买越多
5楼
qweoo123456 发表于:2019/7/3 13:48:05

for i in context.s1:
        if (macd1d1==1 ) :
            buy_id = buy_open(i, "Limit", get_dynainf(i,7),volume=1000)
            context.buy_list.append(buy_id)
            context.num = 0

            context.order_list = get_orders(i, 0)
    if context.order_list is not(None):
        #循环所有订单
        for i in context.order_list:
            print(i.order_book_id)

 

为什么只能取到一个未成交的 book_id  有多只没有成交的股票,但是只能取到一个未成交的股票

6楼
qweoo123456 发表于:2019/7/3 15:40:36

大神,能不能写个完整的出来啊,我弄了几天了都没有弄好。

7楼
qweoo123456 发表于:2019/7/3 16:59:40
不知道是不是搞定了,明天试一下,搞好了就不用麻烦了,谢谢
8楼
yukizzc 发表于:2019/7/4 10:17:44
你是不是检测间隔太短了,导致撤单买入后,马上又去执行了撤单再买入
买的时候加个判断如果账户有持仓就不要再买
共8 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.03125 s, 2 queries.