Какой возвращается retcode при закрытии позиции во время клиринга

 

Доброго времени суток.  

Дело в том что советник попытался закрыть ордер и лимитник во время клиринга - вернее вежду тем моментом когда клиринговая палата закрыла позицию и вновь ее открыла:

2016.12.22 23:56:43.824 Trades '28798': deal #32742026 buy 7.00 VTBR-3.17 at 7326 done (based on order #0)

2016.12.22 23:56:43.835 Trades '28798': failed cancel order #0 buy 0.00  at market [Invalid request]   -   в данный момент лимитника не существовала поэтому вышла эта ошибка (не обращайте на это внимание)

2016.12.22 23:56:43.838 Trades '28798': deal #32742027 sell 7.00 VTBR-3.17 at 7326 done (based on order #0) 

В итоге советник решил что позиция закрыта а по факту она осталось висеть.

 Вопрос: по поводу лимитника все понятно а вот кокой retcode вернулся при попытки закрыть позицию во время клиринга не понятно?

Привожу код закрытия позиции:

         //Close pos
         CTrade trade;
         trade.SetTypeFilling(Filling);
         trade.PositionClose(_Symbol);
         if(trade.ResultRetcode()==TRADE_RETCODE_DONE || trade.ResultRetcode()==TRADE_RETCODE_REJECT || trade.ResultRetcode()==TRADE_RETCODE_POSITION_CLOSED)
           {
            ObjectDelete(0,CHART_TEXT_OBJECT_NAME);
            start=TimeCurrent()+(Sleep*60);
            pos=false;
            tradeResult=false;
            DiffVolumes=DiffVolumesEx;
            DiffTraders=DiffTradersEx;
            trade.OrderDelete(ticketorder);
           }

 Заранее спасибо.

 
Alexander Pavlov:

Доброго времени суток.  

Дело в том что советник попытался закрыть ордер и лимитник во время клиринга - вернее вежду тем моментом когда клиринговая палата закрыла позицию и вновь ее открыла:

2016.12.22 23:56:43.824 Trades '28798': deal #32742026 buy 7.00 VTBR-3.17 at 7326 done (based on order #0)

2016.12.22 23:56:43.835 Trades '28798': failed cancel order #0 buy 0.00  at market [Invalid request]   -   в данный момент лимитника не существовала поэтому вышла эта ошибка (не обращайте на это внимание)

2016.12.22 23:56:43.838 Trades '28798': deal #32742027 sell 7.00 VTBR-3.17 at 7326 done (based on order #0) 

В итоге советник решил что позиция закрыта а по факту она осталось висеть.

 Вопрос: по поводу лимитника все понятно а вот кокой retcode вернулся при попытки закрыть позицию во время клиринга не понятно?

Привожу код закрытия позиции:

         //Close pos
         CTrade trade;
         trade.SetTypeFilling(Filling);
         trade.PositionClose(_Symbol);
         if(trade.ResultRetcode()==TRADE_RETCODE_DONE || trade.ResultRetcode()==TRADE_RETCODE_REJECT || trade.ResultRetcode()==TRADE_RETCODE_POSITION_CLOSED)
           {
            ObjectDelete(0,CHART_TEXT_OBJECT_NAME);
            start=TimeCurrent()+(Sleep*60);
            pos=false;
            tradeResult=false;
            DiffVolumes=DiffVolumesEx;
            DiffTraders=DiffTradersEx;
            trade.OrderDelete(ticketorder);
           }

 Заранее спасибо.

Зачем Вы пытаетесь что-то делать во время клиринга?

Время клирингов известно же. 

 
prostotrader:

Зачем Вы пытаетесь что-то делать во время клиринга?

Время клирингов известно же. 

Хотелось бы сделать универсальный робот - в том числе и для зарубежного рынка. 
 
Alexander Pavlov:
Хотелось бы сделать универсальный робот - в том числе и для зарубежного рынка. 

Не получится, слишком много различий.

На досуге почитайте

https://www.mql5.com/ru/forum/67298 

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