- 精华
- 0
- 在线时间
- 54 小时
- UID
- 4650
- 积分
- 134
- 帖子
- 10
- 阅读权限
- 40
- 注册时间
- 2009-6-16
- 最后登录
- 2019-3-24
- 精华
- 0
- UID
- 4650
- 积分
- 134
- 帖子
- 10
- 主题
- 3
- 阅读权限
- 40
- 注册时间
- 2009-6-16
- 最后登录
- 2019-3-24
|
本人实盘用户,一直有个愿望,把自己的程序改为“可锁仓”(请先不要问我为什么要锁仓 ,TB管理员老说锁仓没意义)
程序的大概工作步骤是:
当达到删单条件:A_DeleteOrder() (删除所有单)
当达到发单条件:A_SendOrder(........)
这个程序实盘一个月了,运行正常。另外,该程序实在太长了,我是把它分为4套代码单独插入4个图表里工作的:分别是:多头开仓,多头平仓,空头开仓,空头平仓,平时只能启动其中一套代码来工作
问题是,如果我要实现锁仓,我是必须同时启动2套代码,那么其中一套代码 达到删单条件:A_DeleteOrder() 的时候,就会把另一套代码的单子都删了。
所以必须要对每个一单子单独跟踪,不能一下子全A_DeleteOrder(),而是要A_DeleteOrder(某委托单合同号)。
为了实现这个,我研究了以下函数,还有其他一些关于委托单的A函数
A_GetLastOpenOrderIndex:返回当前公式应用的帐户下当前商品的最后一个未成交委托单索引,按输入参数为条件。
A_GetLastOrderIndex:返回当前公式应用的帐户下当前商品的最后一个当日委托单索引,按输入参数为条件。
A_GetLastOpenOrderIndex和A_GetLastOrderIndex都是能够取得委托单索引号的,能不能A_SendOrder(........)后马上接一句A_GetLastOrderIndex或A_GetLastOpenOrderIndex来获得这个委托单索引号呢??委托单索引是不是A_SendOrder以后马上产生的??如果不能,麻烦教一下我准确获得该委托单的索引号,又能够避免两套代码同时工作相互干扰的方法。
另外想问一下,这两个函数的返回值。
A_OpenOrderStatus:返回当前公式应用的帐户下当前商品的某个未成交委托单的状态。
A_OrderStatus:返回当前公式应用的帐户下当前商品的某个委托单的状态。
Enum_Declare是不是指单子已经报上服务器了,正在等待回复??Enum_Declared是不是指服务器已经收到单子,已经挂上买卖盘了??
以上问题请教版主和各位达人。另外能否提供相关函数应用实例代码供参考?不胜感激!! |
|