а попробуй добавить проскальзывание, у тебя ведь функция закрытия не полностью описана.
mytrade.PositionClose(symbols[x],25);
вот так у меня и вроде работает, после указания символа я в наглую указал сколько пунктов допускается в проскальзывании "25" .можно меньше. думаю что возможно в этом причина.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Добрый день, Вопрос ?
Почему при открытия рынка на следующий день,когда уже сделка в позиции мне советник пишет
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;