Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
А никто не сталкивался с такой проблемой, что при большом количестве ордеров время отвремени удаляются не все ордера в обычном цикле for (int i=0; i < OrdersTotal(); i++) if (select(i, SELECT_BY_POS, MODE_TRADES) ..., хотя вроде бы все написано правильно?
Дело в том, что даже не знаю, как иначе правильно сформулировать вопрос, скажете "покажи код" и будете искать ошибку, но я уверен, что ее там нет... точнее не было, ибо код я уже переписал по-другому.
Я сделал 2 цикла, первый без изменений, но только вместо удаления я собираю тикеты ордеров в массив, а во втором цикле я уже пробегаюсь по массиву и закрываю одера. На такую мысль меня после долгих ломаний мозгов привела идея о том, что в процессе закрывания ордеров может приходить новый тик и вместе с ним происходить перенумерация ордеров в общем списке.
То есть, допустим есть пять ордеров
0 а
1 б
2 в
3 г
4 д
Скрипт начал пробегать список и удалил, допустим,ордера 1 а и 2 б, здесь i = 1. Приходит новый тик и происходит перенумерация, имеем
0 в
1 г
2 д
На следующей итерации i = 2 - доудаляется ордер 2 д, еще 2 итерации проходят с ошибками при отборе ордера, но мы этого не замечаем. У нас остаются 2 неудаленных ордера:
0 в
1 г
Когда я изменил код выше описанным способом, то глюк больше не повторялся. Значит мои предположения верны?
тогда должны быть ошибки..
у меня тоже что-то такое было, поэтому я сначала получаю массив ордерТикетов, а затем их удаляю..
тогда должны быть ошибки..
у меня тоже что-то такое было, поэтому я сначала получаю массив ордерТикетов, а затем их удаляю..
Какой-то противоречивый ответ... Вы меня не поняли, наверное... Таки не сумел я сформулировать свой вопрос...
Тут, ИМХО, либо я прав и идет перенумерация, что вы подтверждаете последним предложением, либо я не прав и тогда должны быть ошибки...
Так есть такая перенумерация или это плод моей больной фантазии?
я точно не помню что у меня тогда было, по-моему несуразица какая-то - ошибок не было и это было непонятно..
поэтому я решил увеличить определенность создавая массив ордерТикетов..