trade.PositionClose(_Symbol);

 

Добрый день, Вопрос  ?

Почему при открытия рынка на следующий день,когда уже сделка в позиции мне советник пишет 

2018.12.01 15:55:54.303 2010.08.31 00:06:01   CTrade::OrderSend: market buy 1.00 ES sl: 1022.75 [done at 1044.75]

2018.12.01 15:56:01.201 2010.09.01 00:03:00   Не удается закрыть позицию, ошибка номер 0

2018.12.01 15:56:01.201 2010.09.01 00:03:00   retcode=10009  deal=0  order=0


Нужна ваша помощь, что я тут упустил ?




      //--- Если есть сигнал к сделке и в позиции то, закроем позицию на открытии рынка

      if (InPosition)

        {

             

          

          trade.PositionClose(_Symbol);

          Print ("Не удается закрыть позицию, ошибка номер ",GetLastError());

          PrintFormat("retcode=%u  deal=%I64u  order=%I64u",trade.ResultRetcode());

          InPosition = false;

          HaveSignal = false;

 

а попробуй добавить проскальзывание, у тебя ведь функция закрытия не полностью описана. 

mytrade.PositionClose(symbols[x],25);

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

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