- 精华
- 0
- 在线时间
- 52 小时
- UID
- 86521
- 积分
- 112
- 帖子
- 23
- 阅读权限
- 30
- 注册时间
- 2011-12-14
- 最后登录
- 2016-10-28
- 精华
- 0
- UID
- 86521
- 积分
- 112
- 帖子
- 23
- 主题
- 14
- 阅读权限
- 30
- 注册时间
- 2011-12-14
- 最后登录
- 2016-10-28
|
发帖前已专门就此问题搜索过论坛的相关帖子,采用全局变量控制发单次数,但重复发单的问题还是没有解决。代码如下:
vars
numeric trn;
if (BarStatus==0) SetGlobalVar(5,1); //或者 if (BarStatus==0) trn=1;
if (BarStatus==2 && GetGlobalVar(5)==1) { //或者 if (BarStatus==2 && trn==1)
if (AccountDataExist && a_totalposition>=0)
{
SetGlobalVar(5,0); //或者 trn=0;
if (a_totalposition>0) A_SendOrder(enum_sell,enum_exit,1,close-6);
A_SendOrder(enum_sell,enum_entry,1,close-6);
}
}
本意是想空头开仓1手,但实盘运行开仓不止1手。也曾试过采用序列变量的方式控制发单次数,问题依旧。疑问:1、全局变量和序列变量的赋值时间是否很长?以至于在一个tick周期内变量值来不及改变导致重复发单?2、如果不采用延时的方式,有无其他更好的方法避免重复发单? |
|