求问 mql4的OrderClose()为什么有时不能执行?

for(int h=0;h<5;h++) //对a数组的每一行遍历。
{
for(int l=2;l<7;l++) //对a数组的每一行的每一列遍历。
{

if(a[h][l]!=0) //a数组的每一行的2~6列存的是已经开仓的订单号。0~1列是价格。a数组是double型的5行7列的数组。

{ if( z-10*Point<=Bid && Bid<=z )
{
int close_a=MathFloor(a[h][l]); //得到一个订单号
close=OrderClose(close_a,lots,Bid,25,Magenta);

if(close==1) { printf("OrderClose 平仓成功") ; }
if(close!=1) { printf("OrderClose 平仓失败") ; } } } } }

为什么同样是Bid达到了指定价位 有时结果是"OrderClose 平仓成功" 有时是结果"OrderClose 平仓失败"?

http://www.waihuibang.com/fxschool/autotrading/mql4/49024.html