Непонятное поведение эксперта. Подскажите.

 
У меня в советнике есть такой кусок кода:

sar_cur = iSAR(NULL, 0, 0.05, 0.2, 0);

bool close_buy = sar_cur > Open[0];
bool close_sell = sar_cur < Open[0];



ну и вообщем когда close_buy или close_sell == 1 то советник должен закрыть имеющиеся соответствующие открытые позиции. Но почемуто он в упор не хочет этого делать. В журнале пишется например что действительно close_buy = 1, но он при этом не закрывает имеющуюся buy-позицию. Как только я поменяю условие sar_cur > Open[0] на какое-нибудь другое (с другими индикаторами) больше вообще ничего не меняя в советнике то он нормально начинает закрывать.
Если кто знает, подскажите пожалуйста.

 
попробуй написать
bool close_buy = false, close_sell = false;
if ( sar_cur > Open[0] ) { close_buy = true; }
if ( sar_cur < Open[0] ) { close_sell = true; }



Может, поможет?
И выводи значение sar_cur в лог - посмотри чему оно равно. Может, просто не наступает условие...