Ошибки, баги, вопросы - страница 1914
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
А конкретнее, если можно?
начни с нуля
А конкретнее, если можно?
начни с нуля
Это два равноценных варианта. Если for (i=1...), тогда OrderSelect(i-1,...), если for (i=0,...) - OrderSelect(i,...)
for(i=1; i <=OrdersTotal(); i++) Ордера в этом списке нумеруются от нуля до OrdersTotal()-1 включительно (пусть извинит меня Артем Тришкин, просто сократил ожидание для nys2000).
Спасибо, но нумерация ордеров с 0 до OrdersTotal()-1 учтена в OrderSelect(i-1,...)
Спасибо, но нумерация ордеров с 0 до OrdersTotal()-1 учтена в OrderSelect(i-1,...)
делайте перебор в обратном порядке ..
Вот такой простенький код:
В момент запуска функции открыто две позиции Buy. Функция дважды принтует наличие двух ордеров: Проход № 1, Проход № 2.
Снимаем комментарии и запускаем функцию повторно. Она бодро сносит один ордер бай, честно принтует "Проход № 1" и выходит из цикла. Второй ордер остается нетронутым сообщение "Проход № 2" не появляется.
В чем магия?
1. i=1, Посчитали ордера ... проверили условие 1<= 2 ? да. Выбрали и Закрыли ордер.
2. i++ (i=2)
3. OrdersTotal()=1 <---------- закрытием ордера внутри цикла фактически поменяли условие для выхода из цикла
4. 2<=1 ? нет <----------- тут ваша "магия" и соответственно выход из цикла
зачем введен дополнительный идентификатор чарта CHART_WINDOW_HANDLE, ведь есть ID чарта, для каких целей он нужен?
зачем введен дополнительный идентификатор чарта CHART_WINDOW_HANDLE, ведь есть ID чарта, для каких целей он нужен?
Ошибка при выполнении
Результат: случайное число (ну уж точно не 3)