гипотетически блок "else" будет выполнятся в 99% случаев в рынке. и принты будут засорять лог. это не ошибка открытия оредра, это просто принты.
if (CountSell() == 0 && CountBuy() == 0 && oOpen {
ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, 0, 0, 0, 5, Magic, 0, Red);
}else Print("Ошибка открытия ордера на продажу");
сам подумай. если открыт хотя бы один ордер, или не будет выполнятся oOpen попробуй принт занести в скобки выше и вставить условие if (ticket
if (CountSell() == 0 && CountBuy() == 0 && oOpen {
ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, 0, 0, 0, 5, Magic, 0, Red);
if (ticket }
