Начинаю кодить? - страница 3

 
Поменял местами и ничего это не дало,только поменялись местами правила входа по индикатору,непойму в чем проблема,этот ведь кусок кода только для закрытия открытых позиций,может надо как то по другому?
 

Вот кое что стилепал,но есть ошибки добрые люди исправте пожалуйста с коментами,да по понятней.



extern bool OrdClose=true;
extern int OrderMax=10; //максимальное число ордеров
extern int SL=90; // Уровень стоп-лосса для ордеров на покупку
extern int TP=60;// Уровень тейк-профита для ордеров на покупку
extern double Lot=1; // Размер лота на покупку
int i,pldot_0;
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
void OpenOrd()
{

if(Close[0]>pldot_0)
{
OrderSend(Symbol(), OP_BUY, Lot, Ask, 2,SL, TP, 0, Period(), 0, Green); // Ask+TPB*Point Ask-SLB*Point Ask-ATR
return(0);
}
else if(Close[0]<pldot_0)
{
OrderSend(Symbol(), OP_SELL, Lot, Bid, 2,SL, TP, 0, Period(), 0, Aqua); //Bid-TP*Point
return(0);
}
//---------------------------------------------------------------
// Закрытие ордеров

void CloseOrd()---ВОТ ЗДЕСЬ ПИШЕТ ЧТО ОШИБКА '(' - function definition unexpected

{
bool Result;
double fClosePrice;
for (i=0;i<OrdersTotal();i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);

RefreshRates();
if (Close[0]<pldot_0) fClosePrice = Bid;
if (Close[0]>pldot_0) fClosePrice = Ask;
}
}
int start()
{

OpenOrd();

if (OrdClose==true) CloseOrd();

return(0);
}

 
В функции void OpenOrd() нужна ещё одна закрывающая скобка.
 

УВАЖАЕМЫЕ ПОДПРАВТЕ(ПОДСКАЖИТЕ КАК И ТЫКОНИТЕ ПАЛЬЦЕМ ГДЕ ОШИБКА)в ЭТОМ КОДЕ 2 ПРОБЛЕМЫ----НЕ ЗАКРЫВАЕТ ОРДЕРА ПО ПРОТИВОПОЛОЖНОМУ СИГНАЛУ И ОТКРЫВАЕТ ОРДЕР НА КАЖДОМ БАРЕ ОТКУДА ПОСТУПАЕТ СИГНАЛ.Я ЧИТАЛ ИНСТРУКЦИИ И СТАТЬИ НО ТАК И НЕ РАЗОБРАЛСЯ В ЧЕМ ДЕЛО.



extern bool OrdClose=true;
extern int SL=0; // Уровень стоп-лосса для ордеров на покупку
extern int TP=0;// Уровень тейк-профита для ордеров на покупку
extern double Lot=1; // Размер лота на покупку
int i,pldot_0;
bool buy=true; //запрет на покупку (true - покупка разрешена)
bool sell=true; //запрет на продажу (true - продажа разрешена)

//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
void OpenOrd()
{
double SL,TP;
double pldot_0=iCustom(NULL,0,"PLdot",0,0);//берем значение с 0го бара
// BUY
if(Close[0]>pldot_0)
{
if (SL==0) SL=0;
else SL=Ask-SL*Point;
if (TP==0) TP=0;
else TP=Ask+TP*Point;

OrderSend(Symbol(), OP_BUY, Lot, Ask, 2,SL, TP, 0, Period(), 3, Green); // Ask+TPB*Point Ask-SLB*Point Ask-ATR
buy=false;
return(0);

}
// SELL
if(Close[0]<pldot_0)
{

if (SL==0) SL=0;
else SL=Bid+SL*Point;
if (TP==0) TP=0;
else TP=Bid-TP*Point;

OrderSend(Symbol(), OP_SELL, Lot, Bid, 2,SL, TP, 0, Period(), 3, Aqua); //Bid-TP*Point
sell=false;
return(0);
}
}
//---------------------------------------------------------------
// Закрытие ордеров

void CloseOrd()
{
double pldot_0=iCustom(NULL,0,"PLdot",0,0);//берем значение с 0го бара
for (i=0;i<OrdersTotal();i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if ( OrderSymbol()==Symbol() && OrderType()==OP_BUY && (Close[0]<pldot_0)) OrderClose(OrderTicket(),OrderLots(),Bid,3,Aqua);
if ( OrderSymbol()==Symbol() && OrderType()==OP_SELL && (Close[0]>pldot_0))OrderClose(OrderTicket(),OrderLots(),Ask,3,Aqua);
}
}
int start()
{

OpenOrd();

if (OrdClose==true) CloseOrd();

return(0);
}
 
Молчат гиганты?