Тихо шифером шурша крыша едет не спеша :)

 

Прошу помощи у профи, так как сам всю голову сломал... что не так?

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

Из стейта видно что 1 ордер сел, далее тутже выставляется бай стоп, итого всего ордеров становиться 2.

В коде единственное место где происходитудаление отложенных это вот:

if (OrdersTotal()==1)
    {
     for(int i=0; i<=OrdersTotal(); i++)   
      {  
       if (OrderSelect(i,SELECT_BY_POS)==true)  
         {                                        
          if (OrderSymbol() != SYMBOL) continue;
          if (OrderType()==0)
            {
             Lot = OrderLots()*2;
             BID = OrderStopLoss();
             SL = BID + pips*Point;
             TP = BID - pips*Point - spread;
             Ticket = OrderSend(SYMBOL,OP_SELLSTOP,Lot,BID,0,SL,TP);
            }
          if (OrderType()==1)
            {
             Lot = OrderLots()*2;
             ASK = OrderStopLoss();
             SL = ASK - pips*Point;
             TP = ASK + pips*Point + spread;
             Ticket = OrderSend(SYMBOL,OP_BUYSTOP,Lot,ASK,0,SL,TP);
            }
          if (OrderType()==4)
            {
             OrderDelete(OrderTicket()); // удаляем отложенник
            }
          if (OrderType()==5)
            {
             OrderDelete(OrderTicket()); // удаляем отложенник
            }
         } 
      }        
    }

Итак вопрос!!! Каким образом происходит удаление ордеров, если вверху четко прописано!!! 

if (OrdersTotal()==1)

 

Прошу прощения, тех кого отвлек...

разобрался :)))))

Как удалить тему???

 
RomanS писал(а) >>

Прошу помощи у профи, так как сам всю голову сломал... что не так?

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

Из стейта видно что 1 ордер сел, далее тутже выставляется бай стоп, итого всего ордеров становиться 2.

В коде единственное место где происходитудаление отложенных это вот:

Итак вопрос!!! Каким образом происходит удаление ордеров, если вверху четко прописано!!!


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

 
RomanS писал(а) >>

Прошу прощения, тех кого отвлек...

разобрался :)))))

Как удалить тему???

открываете свою тему... правый верхний угол...

 
Vinin >>:

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

Да, нет...

как раз-то рыночные есть, посмотри стейт самый первый ордер - рыночный

 
DDFedor >>:

открываете свою тему... правый верхний угол...

Нету такого...

 
RomanS писал(а) >>

Нету такого...

:) значит на совести модераторов останется... ммм... попробуйте в "правке" подсказать модераторам, что хотите удалить тему...

 
RomanS писал(а) >>

Прошу прощения, тех кого отвлек...

разобрался :)))))

Как удалить тему???

Удалить самый первый пост

 
Удалить не получится тему, если в ней есть посты хотя бы одного, кроме автора (по крайней мере раньше так было)
Причина обращения: