Функция удаляет заданные отложенные ордера.
void DeleteOrd(
string sy="", // имя символа ("" - все символы)
int ty=-1, // тип отложенного ордера (-1 - все типы отложенных ордеров)
int mg=-1) // магическое число ордеров (-1 - все магики)
{
{
for(int i=OrdersTotal()-1;i>=0;i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if(OrderSymbol()==sy || sy=="")
{
if(mg<0 || OrderMagicNumber()==mg)
{
if(ty<0 || OrderType()==ty)
{
if(OrderType()>1)
{
OrderDelete(OrderTicket(),clrDelete);
}
}
}
}
}
}
}
}
Параметры
- sy — символьное имя инструмента где будут удалены отложенные ордера. При отсутствии значения, отложки будут удалены на всех доступных символов;
- ty — тип ордера:
- 2 — Buy Limit;
- 3 — Sell Limit;
- 4 — Buy Stop;
- 5 — Sell Stop.
- mg — магическое число ордеров, при значении -1 будут учитываться ордера не зависимо от magic.
Написать комментарий
Комментарии ()