Замените для начала = на == в сравнениях
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); }
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Добрый день. Я занимаюсь составлением советника торгующего по стратегии «Черный 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).
Помогите разобраться в чем ошибка.
Код в файле