设为首页收藏本站

 找回密码
 注册
楼主: 滴水成川
打印 上一主题 下一主题

这段程序今天让我买入1手变成了5手,问题何在? [复制链接]

Rank: 5Rank: 5

精华
0
UID
2914
积分
949
帖子
259
主题
84
阅读权限
60
注册时间
2008-11-30
最后登录
2010-8-6
1#
发表于 2009-3-12 19:19:04 |显示全部楼层
原帖由 bigbear2046 于 2009-3-12 06:24 发表
同一个bar开仓就会遇到这个问题,每个tick运算一次,这个bar还没走完就运行了N次了
延迟一个bar即可
Buy(1,avgline[1],true);

延迟一个BAR?你太害人了,超低级!

楼主造成开5次仓的原因应该是这样:当一个TICK来了触发程序发出委托,但是并未马上成交,因此条件继续满足,第二个TICK,第三个TICK接踵而来,均再次发委托,所以出现建了多个仓的情况。

解决办法,用全局变量控制只发一次。

AA=GetGlobalVar(40);
if ( AA==0 && 其他条件 )
{
   你的程序段;
   AA=1;
   SetGlobalVar(40,AA);
}

[ 本帖最后由 天行健 于 2009-3-12 19:21 编辑 ]

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
2914
积分
949
帖子
259
主题
84
阅读权限
60
注册时间
2008-11-30
最后登录
2010-8-6
2#
发表于 2009-3-13 23:33:14 |显示全部楼层
什么是N分钟补丁?我咋没看到过安?哪里下载?

使用道具 举报

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

bottom

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

GMT+8, 2024-5-19 06:04

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部