Нужна помощь. Ошибка в коде.

 
Не пойму в чем ошибка?

extern int ExtPeriod1=8;
extern int ExtPeriod2=13;
int start()
{
static datetime PrevTime=0;
double Ma8Current, Ma8Previos, Ma8Previos2;
double Ma13Current, Ma13Previos, Ma13Previos2;
bool IsCrossDown, IsCrossUp;
if(PrevTime==Time[0]) return(0);
PrevTime=Time[0];
Ma8Current=iMA(NULL,0,ExtPeriod1,0,MODE_SMA,PRICE_CLOSE,0);
Ma8Previos=iMA(NULL,0,ExtPeriod1,0,MODE_SMA,PRICE_CLOSE,1);
Ma8Previos2=iMA(NULL,0,ExtPeriod1,0,MODE_SMA,PRICE_CLOSE,2);
Ma13Current=iMA(NULL,0,ExtPeriod2,0,MODE_SMA,PRICE_CLOSE,0);
Ma13Previos=iMA(NULL,0,ExtPeriod2,0,MODE_SMA,PRICE_CLOSE,1);
Ma13Previos2=iMA(NULL,0,ExtPeriod2,0,MODE_SMA,PRICE_CLOSE,2);
IsCrossDown=(Ma8Current<Ma13Current && Ma8Previos>=Ma13Previos && Ma8Previos2>Ma13Previos2);
IsCrossUp=(Ma8Current>Ma13Current && Ma8Previos<=Ma13Previos && Ma8Previos2<Ma13Previos2);
if(IsCrossDown)
{
for(int i=OrdersTotal()-1; i>=0; i-)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&& OrderType()==OP_BUY)
OrderClose(OrderTicket(),OrderLots(),Bid,3);
}
OrderSend(Symbol(),OP_SELL,1.0,Bid,3,0.0,0.0);
}
if(IsCrossUp)
{
for(i=OrdersTotal()-1; i>=0; i-)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&& OrderType()==OP_SELL)
OrderClose(OrderTicket(),OrderLots(),Ask,3);
}
OrderSend(Symbol(),OP_BUY,1.0,Ask,3,0.0,0.0);
}

return(0);
}

Пишет Ошибку: '-' - assignment expected
')' Unexpected token

Если выделенное удалить, то советник открывшись в одну сторону виснет после пересечения MA в другую.
Эти Ошибки во всех четырех примерах.
Пример взят из книжки И.В. Морозов, Р.Р.Фахтуллин "Forex: От простого к сложному (Издание второе.Дополненное)"
 
Проверьте количество минусов. Операция декремента - два минуса без пробела.

Интересно, это в книжке, что ли, опечатка, или просто скопировали с ошибкой?
 
Irtron:
Проверьте количество минусов. Операция декремента - два минуса без пробела.

Интересно, это в книжке, что ли, опечатка, или просто скопировали с ошибкой?

Да в книжке точно так, сто раз проверил! Причем во всех четырех примерах.

Кстати, я полный чайник в программировании (книжку только изучаю).  В книжке ни слова об этой строчке. Честно говоря пока мало что понимаю. Мне вместо одного два минуса поставить?
 
anshar писал (а):
Irtron:
Проверьте количество минусов. Операция декремента - два минуса без пробела.

Интересно, это в книжке, что ли, опечатка, или просто скопировали с ошибкой?

Да в книжке точно так, сто раз проверил! Причем во всех четырех примерах.

Кстати, я полный чайник в программировании (книжку только изучаю). В книжке ни слова об этой строчке. Честно говоря пока мало что понимаю. Мне вместо одного два минуса поставить?

БОЛЬШОЕ СПАСИБО !!! ИСПРАВИЛ И ВСЕ НАКОНЕЦ-ТО ЗАРАБОТАЛО!! УРА!
Причина обращения: