Сетка из отложенных ордеров, вопрос

 
Есть советник, который выставляет отложенные бай-лимиты каждые N пунктов.
Допустим: 100.00, 99.50, 99.00, 98.50, 98.00... и далее вниз до определенной цифры.
В процессе торговли некоторые ордера закрываются и в сетке образуются дыры.
100.00, 99.50, закрылся, 98.50, 98.00...
Необходимо, чтобы советник сам "латал" эту сетку, выставляя новые ордера на место закрывшихся.
Как этого достичь?
 
SYS писал (а):
Как этого достичь?

Нужно проверять наличие ордера на ценовом уровне. Вот Вам функция в качестве заготовки:

//+----------------------------------------------------------------------------+
//|  Возвращает флаг существования позиций по цене открытия                    |
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любая позиция)                  |
//|    pp - цена                       (-1   - любая цена)                     |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//+----------------------------------------------------------------------------+
bool ExistPosByPrice(string sy="", int op=-1, double pp=-1, int mn=-1) {
  int i, k=OrdersTotal();
 
  if (sy=="0") sy=Symbol();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if ((OrderSymbol()==sy || sy=="") && (op<0 || OrderType()==op)) {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if (pp<0 || pp==OrderOpenPrice()) {
            if (mn<0 || OrderMagicNumber()==mn) return(True);
          }
        }
      }
    }
  }
  return(False);
}
 
Спасибо, это то что надо !
Причина обращения: