Как открыть отложенный ордер при срабатывании другого отложенного ордера?

 

Может кто подскажет, как открыть отложенный ордер при срабатывании другого отложенного ордера:

например, если

if (PriceOpenSell!=0){ //Если открыт ордер SELL, где PriceOpenSell - ранее определенная цена открытия ордера Sell


OrderSend("EURUSD!",OP_SELLSTOP,0.02,PriceOpenSell-30*Point,2,PriceOpenSell-30*Point+30*Point,PriceOpenSell-30*Point-10*Point);}


В этом коде, проблема в том что ордера добавляются до тех пор пока цена PriceOpenSell!=0.....а нужно добавить только 1 ордер....

 
Перед тем как выставлять ордера, закрывать и т.д. сделайте полный цикл перебора и подсчета открытых ордеров Затем на основании результатов подсчета принимайте решение открывать или нет. Вот примитивная функция подсчета активных ордеров.
void OrdersCounter(string Symb,int Magic)
{
  BUYorders=0; SELLorders=0; SELLSTOPorders=0; BUYSTOPorders=0; BUYLIMITorders=0; SELLLIMITorders=0; // Глобальные переменные
  int total=OrdersTotal(), cnt;
  for (cnt=total-1; cnt>=0; cnt--)
  {
    if (!OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)) continue;
    if( OrderSymbol()==Symb && OrderMagicNumber()==Magic)
    {
      if(OrderType()==OP_BUY) BUYorders++;
      if(OrderType()==OP_SELL) SELLorders++;
      if(OrderType()==OP_BUYSTOP) BUYSTOPorders++;
      if(OrderType()==OP_SELLSTOP) SELLSTOPorders++;
      if(OrderType()==OP_BUYLIMIT) BUYLIMITorders++;     
      if(OrderType()==OP_SELLLIMIT) SELLLIMITorders++;
    }
  }
}
 
Figar0:
Перед тем как выставлять ордера, закрывать и т.д. сделайте полный цикл перебора и подсчета открытых ордеров Затем на основании результатов подсчета принимайте решение открывать или нет. Вот примитивная функция подсчета активных ордеров.
void OrdersCounter(string Symb,int Magic)
{
  BUYorders=0; SELLorders=0; SELLSTOPorders=0; BUYSTOPorders=0; BUYLIMITorders=0; SELLLIMITorders=0; // Глобальные переменные
  int total=OrdersTotal(), cnt;
  for (cnt=total-1; cnt>=0; cnt--)
  {
    if (!OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)) continue;
    if( OrderSymbol()==Symb && OrderMagicNumber()==Magic)
    {
      if(OrderType()==OP_BUY) BUYorders++;
      if(OrderType()==OP_SELL) SELLorders++;
      if(OrderType()==OP_BUYSTOP) BUYSTOPorders++;
      if(OrderType()==OP_SELLSTOP) SELLSTOPorders++;
      if(OrderType()==OP_BUYLIMIT) BUYLIMITorders++;     
      if(OrderType()==OP_SELLLIMIT) SELLLIMITorders++;
    }
  }
}

о.к. попробую связать...о результате сообщу - спасибо за помощь!!!

Причина обращения: