- 精华
- 0
- 在线时间
- 784 小时
- UID
- 7437
- 积分
- 2872
- 帖子
- 537
- 阅读权限
- 80
- 注册时间
- 2010-3-15
- 最后登录
- 2013-11-15
- 精华
- 0
- UID
- 7437
- 积分
- 2872
- 帖子
- 537
- 主题
- 133
- 阅读权限
- 80
- 注册时间
- 2010-3-15
- 最后登录
- 2013-11-15
|
回复 44# nopain
对43#反映情况找到原因了,是由于为隔夜系统在交易中途因系统崩溃重装系统后防止全局变量与持仓不符而在代码中加了一句:
if(A_BuyPosition>0&&GetGlobalVar(1)==0) SetGlobalVar(1,1);
if(A_SellPosition>0&&GetGlobalVar(2)==0) SetGlobalVar(2,-1);
此段在V3中没问题,但由于V4的无效值传递机制改变,而在BarStatus==0和BarStatus==1的bar也符合以上条件,在BarStatus==2bar之前的bar赋值了,又传递到BarStatus==2的bar上了。上面代码改成:
if(A_BuyPosition>0&&GetGlobalVar(1)==0&&BarStatus==2) SetGlobalVar(1,1);
if(A_SellPosition>0&&GetGlobalVar(2)==0&&BarStatus==2) SetGlobalVar(2,-1);
问题就解决了。谢谢! |
|