Советник, который закрывает все открытые ордера по общей прибыли

zhdanoFF

Заблокирован
Вот функция к советнику которая закроет все ордера с определенным меджиком. В случае ошибки закрытия повторит ордер по закрытию пока не закроет все ордера.
void CloseAllOrder()
{
int tot_util=1;
int TimeStart=GetTickCount();
while(tot_util>0)
{
if(GetTickCount()-TimeStart>600000)
{
Alert("Что-то пошло не так, процедура закрытия ордеров завершилась аварийно!");
Print("Что-то пошло не так, процедура закрытия ордеров завершилась аварийно!");
break;
}
tot_util=0;
for(int i=OrdersTotal()-1;i>=0;i--)
{
if(OrderSelect(i,SELECT_BY_POS)&&OrderMagicNumber()==Magik&&OrderSymbol()==Symbol_)
{
RefreshRates();
tot_util++;
int cmd=OrderType();
if(cmd>=2&&cmd<=5)
{
if(OrderDelete(OrderTicket()))
{
continue;
}
}
if(cmd==OP_BUY)
{
if(OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,Digits),Slippage))
{
continue;
}
}
if(cmd==OP_SELL)
{
if(OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,Digits),Slippage))
{
continue;
}
}
}
}
}
return;
}
 

Алек Кела

Интересующийся
Кто сможет к советнику приделать функцию для работы на указанной паре?
 

step1

Активный участник
Апну тему. Нужен код для эксперта или отдельный эксперт, который закрывает только профитные ордера при достижении суммарной прибыли при этом убыточные ордера закрывать не нужно.
 
Последнее редактирование:
Верх