Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Уважаемые господа помогите разобраться. Не могу скампилировать советника Даёт Ошибку " ма_1"- variable already defined Перерабатывал штатного советника из учебника, причём сперва его немного правил, всё было нормально, а сейчас целиком переписал и получил Ошибку и немогу понять где он уже успел увидать МА ? В функции старт пробовал void, как в учебнике не помогает вроде всё правильно .
int start()
{
double ma_1,
ma_1=iMA(NULL,0,MovingPeriod_1,MovingShift_1,MODE_SMA,PRICE_CLOSE,0);
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
if (OrderSymbol()!=Symbol()) continue;
//----Проверить тип ордера
if(OrderType()==OP_BUY)
{
if (Close[1]<ma_1) == true
OrderClose(OrderTicket(),OrderLots(),Bid,slippage,Green);
break;
}
if(OrderType()==OP_SELL)
{
if (Close[1]>ma_1)==true
OrderClose(OrderTicket(),OrderLots(),Ask,slippage,Blue);
break;
}
}
//---------------------------Открыты ордера но критерия для закрытия нет
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
if (OrderSymbol()!=Symbol()) continue;
if((OrderType()==OP_BUY)== true ||((OrderType()==OP_SELL))== true
{return}
else
{continue}
//----------------------------Открытых ордеров нет
if (Close[1]>ma_1 )==true //Провека критерия на открытия BUY
{
OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,slippage,0,0,"",0,0,Blue);
return; //Ордер BUY открыт, выходим
}
if (Close[1]<ma_1 )==true //Проверка критерия на открытия SELL
{
OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,slippage,0,0,"",0,0,Red);
return; //Ордер SELL открыт, выходим
}
else return;
}
В начале самого советника посмотри наверное там есть описание этой переменой...