'(' - function definition unexpected

 

Добрый день. Я занимаюсь составлением советника торгующего по стратегии «Черный MACD» (Black MACD):

Валютная пара: любая

Таймфрейм: от 15 и выше.

Индикаторы: EMA(3) EMA(18), RSI(14), MACD(12,26,9)

Убираем у индикатора MACD сигнальную линию, все индикаторы применяем к показателю цены Close.

Сигнал входа на покупку: EMA(3) пересекает EMA(18) снизу вверх, ждем когда MACD выйдет в положительную сторону. Если RSI(14) выше уровня 50, то входим на покупку. Стоп-лосс устанавливаем на последний локальный минимум. Выходим из сделки по обратному пересечению EMAили используем свой подход.

Сигнал на продажу: Обратная ситуация: Пересечение EMA(3) EMA(18) сверху вниз, ждем, когда MACDстанет отрицательным. Если RSI(14) ниже уровня 50, то входим на продажу. Стоп-лосс устанавливаем на последний максимум.

Проблема в том что при компиляции кода выдается сообщение : '(' - function definition unexpected (176, 16).

Помогите разобраться в чем ошибка.

Код в файле

Файлы:
 

Замените для начала = на == в сравнениях

if(Order=1) должно быть if(Order==1) и т. д.

 
//+----------Функция открытия ордера------------------------------------------------------+
int NewOrder(int Cmd,double Lot)
{
 double TP=0;// тейкпрофит
 double SL=0;// стоплос
 double PR=0;// цена
 while(!IsTradeAllowed())Sleep(100);
 if(Cmd==OP_BUY)
   {
    PR=Ask;
    if(TakeProfit>0)TP=Ask+TakeProfit*Point;
    if(StopLoss>0)SL=Bid-StopLoss*Point;
   }
 if(Cmd==OP_SELL)
   {//                                                    эта скобка не имеет пары
    PR=Bid;
    if(TakeProfit>0)TP=Bid-TakeProfit*Point;
    if(StopLoss>0)SL=Ask+StopLoss*Point;   
 int tic=OrderSend(Symbol(),Cmd,Lot,PR,3,SL,TP,"",0,0,CLR_NONE);
 if(tic<0)Print("шибка открытия ордера:",GetLastError());
return(tic);
}
Причина обращения: