金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 449|回复: 4

开仓数据

[复制链接]

447

主题

2658

帖子

2668

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
发表于 2024-7-10 00:32 | 显示全部楼层 |阅读模式

        #未成交单
        gkd=0
        gpd=0
        gkk=0
        gpk=0
        wcj_list=get_orders(code, 0)
        if wcj_list!=None:
            for wcj in wcj_list:
                vol = wcj.unfilled_quantity
                side = wcj.side  # 订单方向 "buy"买:"sell"卖
                kp = wcj.position_effect  # 开平标志 "open"开仓 "close"平仓
                if side=="buy" and kp=="open":
                    gkd += vol
                if side=="buy" and kp=="close":
                    gpd += vol   
                if side=="sell" and kp=="open":
                    gkk += vol
                if side=="sell" and kp=="close":
                    gpk += vol   
        #已经持仓单
        zhdc=get_portfolio(code,2).buy_quantity  + gkd - gpd    #  多持(code)
        zhkc=get_portfolio(code,2).sell_quantity + gkk - gpk    #  空持(code)
这个代码在开仓语句的后面执行,但是好像没有获取到最新的开仓数据,。因为前面开仓语句执行以后它获取到的是0,要下个k才能获取,是怎么回事啊

回复

使用道具 举报

20

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2024-7-10 14:38 | 显示全部楼层
这种根据订单情况来更新的数据都应该在order_status 中实现。确定订单信息真实的更新后才去做对应的操作。正常下单都是需要和柜台交互的,这是需要时间的。你本地代码执行肯定比这个时间短的呀.
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

447

主题

2658

帖子

2668

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2024-7-10 17:41 | 显示全部楼层
技术009 发表于 2024-7-10 14:38
这种根据订单情况来更新的数据都应该在order_status 中实现。确定订单信息真实的更新后才去做对应的操作。 ...

那我要怎么操作这个东西啊?我的理解就是开仓语句出现后,要么就是成交,要么就是挂单中,但是按你说的就不是了呀,我要开仓语句以后,获取到实际持仓和本次的仓位,不知道要怎么处理?可以帮我写出来吗!
回复

使用道具 举报

20

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2024-7-11 08:55 | 显示全部楼层
在 order_status  方法 中判断。order_status 是只有订单状态更新时候才会触发。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

447

主题

2658

帖子

2668

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2024-7-11 09:47 | 显示全部楼层
技术009 发表于 2024-7-11 08:55
在 order_status  方法 中判断。order_status 是只有订单状态更新时候才会触发。

现在的问题的订单触发,未成交挂单,和实际持仓,这三个数据都要处理成最终的数据,比如开仓前2手持仓,开仓动作又是两手,结果要返回4手。,下个k直接就是4手。开仓k的这个两手要怎么处理,不重复,又能及时取到值,在打印了开仓数据以后才取值的动作的,我理解这时候已经报单了的。我是在多个周期开仓动作都执行完毕,再历遍品种,取他们的实际持仓,多空分开取的,按道理已经延迟了,还是不能及时取到,可能就是你说这个,能帮我这个代码处理下吗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 微信登录

本版积分规则

手机版|小黑屋|上海金之塔信息技术有限公司 ( 沪ICP备13035422号 )

GMT+8, 2024-12-28 15:10 , Processed in 0.216556 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表