не хочет норм работать на скринах описал логику и итог проверки все равно этот индикатор не хочет работать по стандартному условию
Ну тебе ж "mobidik" все объяснил...
1) Открывать следующий ордер так и будет после закрытия предыдущего , ГДЕ у тебя вторая половина условия ???
if( ((_ma_buy >= iCustom(Symbol(), 0, "LeManSystem", _N_buy, _index_line_buy_open, 0))) && ??????????????????????????????????????????????????? )
2) Закрывать так и будет, пока сам для себя не решишь условия. На первом скрине правильно закрыт ордер, потому что ты сравниваешь машки на нулевом баре:
_AND = ((_ma_buy > iCustom(Symbol(), 0, "DayOpenFib5", _index_line_buy_close, 0)));
Ты гарантируешь, что в тот момент на нулевом баре _ma_buy был ниже DayOpenFib5 все время жизни бара???? Я уверен что он был выше какое то время, поэтому ордер закрылся в тот момент. Ты уж определись - по тикам на нулевом баре будешь работать или , например по барам и на 1 баре??? Если на нулевом по тикам - получай вот такие закрытия, а если б ты брал 1 бар, то ордер бы не закрылся(ну возможно, потому что не знаю рисует ли индюк).
Ты хочешь и рыбку съесть(работать по тика на 0 баре) и на кукан не попасть(закрывать красиво когда индюки уверенно разошлись) ...
И вообще тебе совет - бросай программировать в конструкторах. Код нелогичный, идиотский, нечитаемый . Учись писать руками, давай нормальные имена функциям, массивам, переменным, и т.д.
Читать такое - глаза сломаешь...