- 精华
- 0
- 在线时间
- 93 小时
- UID
- 3136
- 积分
- 331
- 帖子
- 61
- 阅读权限
- 50
- 注册时间
- 2008-12-23
- 最后登录
- 2013-10-13
- 精华
- 0
- UID
- 3136
- 积分
- 331
- 帖子
- 61
- 主题
- 11
- 阅读权限
- 50
- 注册时间
- 2008-12-23
- 最后登录
- 2013-10-13
|
我的程序在测试时候出现了重复开仓的情况,程序架构大致如下:
if(con1 and MarketPosition!=1)
{
buy(1,high+2*PriceScale*MinMove);
}
else
if (con2 and MarketPosition!=-1)
{
SellShort(1,low-3*PriceScale*MinMove);
}
但是为什么今天的白糖 我出现了在3799连续开空15次?
我在论坛看到一个帖子和我情况差不多,但是没看懂,天行健说“当一个TICK来了触发程序发出委托,但是并未马上成交,因此条件继续满足,第二个TICK,第三个TICK接踵而来,均再次发委托,所以出现建了多个仓的情况。
解决办法,用全局变量控制只发一次。
AA=GetGlobalVar(40);
if ( AA==0 && 其他条件 )
{
你的程序段;
AA=1;
SetGlobalVar(40,AA);
}
”
再次想请教nopain 老大怎么回事?以及如何使用全局变量的问题? |
|