设为首页收藏本站

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

BuyToCover数量为0的时候为啥不是实际持仓? [复制链接]

Rank: 1

精华
0
UID
278772
积分
38
帖子
21
主题
11
阅读权限
10
注册时间
2019-5-8
最后登录
2019-9-23
跳转到指定楼层
1#
发表于 2019-8-5 15:50:29 |只看该作者 |倒序浏览
策略是一个加减仓的策略,在持续的开仓过程中,有一些单没有成交。比如连续开仓1手,2手,3手,最有一个3手没有成交,一直挂单。最后使用BuyToCover(0,myExitPrice)平仓,为什么超级图表上显示的是用理论上开仓量来平仓而不是用真正开仓成功的开仓量来平仓?也就是说超级图表上显示平了6手,而实际上只有3手可以平。

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
2#
发表于 2019-8-5 15:54:30 |只看该作者
是这个逻辑的。
buytocover是以图表信号的数量来进行下单 的。并不能得知帐户的真实持仓情况。。
在程序化交易中,要尽可能保证帐户完全按信号进行开平仓交易。

使用道具 举报

Rank: 1

精华
0
UID
278772
积分
38
帖子
21
主题
11
阅读权限
10
注册时间
2019-5-8
最后登录
2019-9-23
3#
发表于 2019-8-5 16:19:45 |只看该作者
可以在代码中尽可能保证帐户完全按信号进行开平仓交,但是总是有万一的。而且一旦出现这个万一,似乎平仓指令就被拒绝了,因为下单的手数不对。对于自动化程序,这个是不能接受的。 怎么保证即使出现这样的误差,也不会导致整个平仓无法执行呢?

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
4#
发表于 2019-8-5 16:29:33 |只看该作者
m2land 发表于 2019-8-5 16:19
可以在代码中尽可能保证帐户完全按信号进行开平仓交,但是总是有万一的。而且一旦出现这个万一,似乎平仓指 ...

再强调一下,buytocover是不能读取帐户持仓的。所以如果开仓信号有没成交的情况,自然会影响到后续的平仓。
首先需要尽可能保证信号都成交,如果没有及时成交的,可以使用补救措施让持仓与信号一致。
如果确实不能保证,一定要按帐户的实际持仓量来平仓,那么可以选择a_sendorder的帐户函数来编写策略。

使用道具 举报

Rank: 1

精华
0
UID
278772
积分
38
帖子
21
主题
11
阅读权限
10
注册时间
2019-5-8
最后登录
2019-9-23
5#
发表于 2019-8-5 17:38:27 |只看该作者
开仓信号没有成交补救有示范没?

使用道具 举报

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

bottom

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

GMT+8, 2024-5-9 05:29

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部