设为首页收藏本站

 找回密码
 注册
楼主: 01011012
打印 上一主题 下一主题

A_DeleteOrder()函数的参数设置。。 [复制链接]

Rank: 5Rank: 5

精华
0
UID
7277
积分
938
帖子
207
主题
44
阅读权限
60
注册时间
2010-3-11
最后登录
2016-5-4
21#
发表于 2010-6-7 11:22:24 |只看该作者
A_OpenOrderFilledPrice 只有当前委托单为部分成交时,该函数才会返回有效值。该成交价格可能为多个成交价格的平均值。如果我只委托一手呢,该函数返回的值是否有效啊?

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
2
UID
4130
积分
20901
帖子
6519
主题
17
阅读权限
200
注册时间
2009-4-15
最后登录
2019-4-12
22#
发表于 2010-6-7 11:25:46 |只看该作者
只要你委托的那一手还没有成交,返回值就是有效的,
A_OpenOrderFilledPrice就是返回未成交委托单的委托价格,参数是单子的索引号

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
7277
积分
938
帖子
207
主题
44
阅读权限
60
注册时间
2010-3-11
最后登录
2016-5-4
23#
发表于 2010-6-7 11:56:41 |只看该作者
A_OpenOrderPrice: 返回当前公式应用的帐户下当前商品的某个未成交委托单的委托价格。
A_OpenOrderFilledPrice: 返回当前公式应用的帐户下当前商品的某个未成交委托单的成交价格。

1.为什么是用A_OpenOrderFilledPrice呢?
2.因为我要取的是最小委托价,OrderPrice=IIF(OrderPrice<A_OpenOrderFilledPrice(i),OrderPrice,A_OpenOrderFilledPrice(i))这个是否可以取到最小委托价?

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
2
UID
4130
积分
20901
帖子
6519
主题
17
阅读权限
200
注册时间
2009-4-15
最后登录
2019-4-12
24#
发表于 2010-6-7 11:59:13 |只看该作者
如果是已经成交的单子,是无法撤单的,所以必须是未成交单的价格

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
7277
积分
938
帖子
207
主题
44
阅读权限
60
注册时间
2010-3-11
最后登录
2016-5-4
25#
发表于 2010-6-7 14:31:56 |只看该作者
对啊,但是A_OpenOrderPrice:和A_OpenOrderFilledPrice是不一样的,为什么是用后面这个?

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
7277
积分
938
帖子
207
主题
44
阅读权限
60
注册时间
2010-3-11
最后登录
2016-5-4
26#
发表于 2010-6-7 16:29:39 |只看该作者
原帖由 lh948 于 2010-6-7 11:25 发表
只要你委托的那一手还没有成交,返回值就是有效的,
A_OpenOrderFilledPrice就是返回未成交委托单的委托价格,参数是单子的索引号


A_OpenOrderPrice才是返回未成交委托单的委托价格的吧????

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
2
UID
4130
积分
20901
帖子
6519
主题
17
阅读权限
200
注册时间
2009-4-15
最后登录
2019-4-12
27#
发表于 2010-6-7 16:37:21 |只看该作者
是的,应该使用A_OpenOrderPrice

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
7277
积分
938
帖子
207
主题
44
阅读权限
60
注册时间
2010-3-11
最后登录
2016-5-4
28#
发表于 2010-6-7 16:44:42 |只看该作者
nCount = A_GetOpenOrderCount();
        For i = 1 To nCount
        {
                nEntryFlag = A_OrderEntryOrExit(i);//取得开平仓类型
                OrderPrice=IIF(OrderPrice<A_OpenOrderFilledPrice(i),OrderPrice,A_OpenOrderFilledPrice(i));//取得委托价格
        }
        If(Low>Low[1])
        {
                For i = 1 To nCount
                {
                        nEntryFlag = A_OrderEntryOrExit(i);
                        If(nEntryFlag == Enum_Entry And OrderPrice==A_OpenOrderFilledPrice(i))
                        {
                                A_DeleteOrder(A_OpenOrderContractNo(i));
                                SetGlobalVar(1,0);
                        }
                }
        }


要实现撤销最小委托价的开仓单,红色字体改成A_OpenOrderPrice就可以吗?

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
2
UID
4130
积分
20901
帖子
6519
主题
17
阅读权限
200
注册时间
2009-4-15
最后登录
2019-4-12
29#
发表于 2010-6-7 16:57:28 |只看该作者
这样就可以了,您参考测试一下
  1.         nCount = A_GetOpenOrderCount();
  2.         For i = 1 To nCount
  3.         {
  4.                         nEntryFlag = A_OrderEntryOrExit(i);//取得开平仓类型
  5.                         If(nEntryFlag == Enum_Entry)
  6.                                 OrderPrice=IIF(OrderPrice<A_OpenOrderPrice(i),OrderPrice,A_OpenOrderPrice(i));//取得委托价格
  7.         }
  8.         If(Low>Low[1])
  9.         {
  10.                         For i = 1 To nCount
  11.                         {
  12.                                         nEntryFlag = A_OrderEntryOrExit(i);
  13.                                         If(nEntryFlag == Enum_Entry And OrderPrice==A_OpenOrderPrice(i))
  14.                                         {
  15.                                                         A_DeleteOrder(A_OpenOrderContractNo(i));
  16.                                                         SetGlobalVar(1,0);
  17.                                         }
  18.                         }
  19.         }
复制代码

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
7277
积分
938
帖子
207
主题
44
阅读权限
60
注册时间
2010-3-11
最后登录
2016-5-4
30#
发表于 2010-6-7 17:03:29 |只看该作者
多谢了,明天测试下。。。。。。。

使用道具 举报

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

bottom

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

GMT+8, 2024-5-18 04:55

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部