设为首页收藏本站

 找回密码
 注册
查看: 1837|回复: 2
打印 上一主题 下一主题

请教小米版主,A_DeleteOrder撤单后, [复制链接]

Rank: 3Rank: 3

精华
0
UID
234307
积分
153
帖子
103
主题
29
阅读权限
40
注册时间
2016-5-12
最后登录
2023-7-26
跳转到指定楼层
1#
发表于 2016-6-29 07:58:35 |显示全部楼层 |倒序浏览
如何确认撤单成功?可以用if (A_DeleteOrder==True&&......)来判断吗?
投机像山岳一样古老

Rank: 3Rank: 3

精华
0
UID
234307
积分
153
帖子
103
主题
29
阅读权限
40
注册时间
2016-5-12
最后登录
2023-7-26
2#
发表于 2016-6-30 07:34:58 |显示全部楼层
版主不来论坛了吗?一天多了也不见回复。

使用道具 举报

Rank: 3Rank: 3

精华
0
UID
234307
积分
153
帖子
103
主题
29
阅读权限
40
注册时间
2016-5-12
最后登录
2023-7-26
3#
发表于 2016-6-30 08:36:32 |显示全部楼层
是分笔撤单,然后根据撤单情况,补发单子。现在内盘测试只会发生撤单动作,但补发单子委托不出现,怀疑是撤单后的检测信号有问题。部分代码如下:

                nCount = A_GetOpenOrderCount;//取得未成交委托数量
                if (nCount>0) //开始撤单等操作
                {
                        For i = 1 To nCount
                        {
                                nEntryFlag = A_OrderEntryOrExit(i);//取得第i个未成交单开平类型
                                nBuyFlag = A_OrderBuyOrSell(i);//取得第i个未成交单多空类型
                                If(nEntryFlag == Enum_Exit&&Abs((A_OpenOrderPrice(i)-Q_Last))>=wtpyl*2)//是平仓单且其委托价偏离当前价2跳以上
                                {       
                                        A_DeleteOrder(A_OpenOrderContractNo(i));//取得第i个未成交单合同号,并针对该合同号发撤单指令
                                        //以现价加大偏移重发平仓单
                                        if (A_DeleteOrder==True&&nBuyFlag == Enum_Sell&&A_BuyPosition>0&&Q_Last<ql) //确认撤单后重发平多指令
                                        {
                                                A_SendOrder(Enum_Sell,Enum_Exit, A_BuyPosition,Q_Last-offSet*wtpyl);
                                                HasSendsell = 1;
                                                SetGlobalVar(2,HasSendsell);
                                                HasSendbuy = 0;//平仓后允许开多仓
                                                SetGlobalVar(1,HasSendbuy);
                                        }
                                        Else if (A_DeleteOrder==True&&nBuyFlag == Enum_Buy&&A_SellPosition>0&&Q_Last>qh) //确认撤单后重发平空指令
                                        {       
                                                A_SendOrder(Enum_Buy,Enum_Exit, A_SellPosition,Q_Last+offSet*wtpyl);
                                                HasSendBuyToCover = 1;
                                                SetGlobalVar(4,HasSendBuyToCover);
                                                HasSendSellShort = 0;
                                                SetGlobalVar(3,HasSendSellShort);
                                        }
                                }
                                Else If(nEntryFlag == Enum_Entry&&Abs((A_OpenOrderPrice(i)-Q_Last))>=wtpyl*3 )//是开仓单且其委托价偏离当前价3跳以上
                                {
                                        A_DeleteOrder(A_OpenOrderContractNo(i));
                                        if (A_DeleteOrder==True&&nBuyFlag == Enum_Sell&&A_SellPosition==0&&Q_Last<ql) //确认撤单后重发开空指令
                                        {
                                                A_SendOrder(Enum_Sell,Enum_Entry, jyss,Q_Last-offSet*wtpyl);
                                                HasSendSellShort = 1;
                                                SetGlobalVar(3,HasSendSellShort);
                                                HasSendBuyToCover = 0;
                                                SetGlobalVar(4,HasSendBuyToCover);
                                        }
                                        Else if (A_DeleteOrder==True&&nBuyFlag == Enum_Buy&&A_BuyPosition==0&&Q_Last>qh) //确认撤单后重发开多指令
                                        {       
                                                A_SendOrder(Enum_Buy,Enum_Entry,jyss,Q_Last+offSet*wtpyl);
                                                HasSendbuy = 1;//开仓后,禁止重复发单
                                                SetGlobalVar(1,HasSendbuy);
                                                HasSendsell = 0;//开仓后,允许平仓
                                                SetGlobalVar(2,HasSendsell);
                                        }
                                       
                                }
                        }
                }

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-5-24 06:05

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部