2. if(CountBuy()<CountSell()) будет правильно работать только если все ордера имеют одинаковую лотность.
3. Причина тут:
if(OrderType()==OP_SELL)
{
if(Ask<ZeroLevelAll-Prohod*Point)
и
if(OrderType()==OP_BUY)
{
if(Ask<ZeroLevelAll-Prohod*Point)
В случае 1 ордера Sell объемом 0,1 и 5-ти ордеров Buy каждый объемом по 0,01 работать будет неправильно
Нужно применить BuyLots() и SellLots()
Fargo