设为首页收藏本站

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

能定制一个确保先平仓,后开仓的buy/sellshort系统函数吗? [复制链接]

Rank: 5Rank: 5

精华
0
UID
5439
积分
721
帖子
116
主题
35
阅读权限
60
注册时间
2009-9-12
最后登录
2011-7-4
跳转到指定楼层
1#
发表于 2010-5-24 21:25:02 |只看该作者 |倒序浏览
能定制一个确保先平仓,后开仓的buy/sellshort系统函数吗?

Rank: 7Rank: 7Rank: 7

精华
0
UID
7437
积分
2872
帖子
537
主题
133
阅读权限
80
注册时间
2010-3-15
最后登录
2013-11-15
2#
发表于 2010-5-24 22:23:00 |只看该作者
平仓和开仓分开写,在平仓后用通过设置记录时间的全局变量来记录平仓的时间,在设定一个等待时间如10秒,写一句小于等待时间就返回就应该可以解决

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
2
UID
4130
积分
20906
帖子
6519
主题
17
阅读权限
200
注册时间
2009-4-15
最后登录
2019-4-12
3#
发表于 2010-5-25 08:31:31 |只看该作者
加入持仓判断。
例如:
持多仓时
if(marketposition==1 && 平多仓条件)
{
         sell(..);
}
if(marketposition==0)
{
         sellshort(..);
}

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
5439
积分
721
帖子
116
主题
35
阅读权限
60
注册时间
2009-9-12
最后登录
2011-7-4
4#
发表于 2010-5-25 10:53:50 |只看该作者
谢谢楼上两位,问题是要确保。没有实际帐户仓位检测,就做不到这一点。我加入了实际仓位检测,又遭遇了倒数第二Bar重复发单问题。头痛!!

使用道具 举报

Rank: 7Rank: 7Rank: 7

精华
0
UID
7437
积分
2872
帖子
537
主题
133
阅读权限
80
注册时间
2010-3-15
最后登录
2013-11-15
5#
发表于 2010-5-26 11:51:29 |只看该作者
检测账户实际持仓要用A函数才能检测,即A_BuyPosition()>0 多仓大于0;marketposition只是图表上多空方向判别,但A函数对buy,sell无用,这时只能用A_SendOrder进行平仓了

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
2
UID
4130
积分
20906
帖子
6519
主题
17
阅读权限
200
注册时间
2009-4-15
最后登录
2019-4-12
6#
发表于 2010-5-26 13:41:04 |只看该作者

回复 5# 欲速不达 的帖子

是的,你的理解正确的
A_SendOrder才能操作实际的账户,buysell取到的持仓是根据图表上的信号的
使用buysell时,用CurrentContracts取得持仓合约数,正数为多仓,负数为空仓

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
5439
积分
721
帖子
116
主题
35
阅读权限
60
注册时间
2009-9-12
最后登录
2011-7-4
7#
发表于 2010-5-26 23:11:02 |只看该作者
谢谢楼上两位。实盘测试,A_totalposition和Buy/sell配合可以达到先平后开的目标。但不要buy/sell的倒数第二Bar发单问题解决不了。看来只能改A_sendorder了。

奇怪,直接反手时,buy/sell不存在倒数第二Bar发单问题。引入A_totalposition后就发生问题了。TB的倒数第二Bar重算绝对不是简单的重新计算一遍,吗marketposition, currentbar==barcount-2等过滤控制都无法屏蔽重复发单。

真得建议TB重新考虑倒数第二Bar重算的机制,个人认为弊大于利。

使用道具 举报

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

bottom

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

GMT+8, 2024-5-24 04:36

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部