Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
В качестве времени я предлагаю брать TimeCurrent() - последнее известное время торгового сервера. В таком случае обход позиций (по-умолчанию стоит магик "0" - позиции открытые вручную) покажет сколько секунд назад была открыта позиция:
Пример вывода:
А в случае если позиций 1, тогда в функцию передаётся 0, ведь 1 - 1 = 0. Как тогда она выбирает позицию?
Все правильно - буде выбрана позиция с индексом '0'.
Все правильно - буде выбрана позиция с индексом '0'.
Спасибо. Я не знал, что они с нуля считаются. Я пытался это найти, но не смог.
Любой массив начинается с индекса '0'.
А почему важно цикл делать к нулю? Я бы тоже интуитивно так написал. Но видел примеры которые вверх считают. Я пытался представить, в каком случае может быть ошибка логики, но не смог придумать пример. Почему важно считать вниз?
Потому что если закроешь 3-ю, то 3-ей станет 4-ая, а ты обратишься к 4-ой а там уже 5-ая, всё сложно как и с женщинами)
Потому что если закроешь 3-ю, то 3-ей станет 4-ая, а ты обратишься к 4-ой а там уже 5-ая, всё сложно как и с женщинами)
Вам не нужен тикет позиии.
Достаточно выбирать позицию по индексу.
В вашем случае перебор позиций не важно откуда начинать, с начала или с конца.
НО при закрытии важно перебирать от конца к началу.
Почему так :
Допустим у вас есть 4 позиции.
перебирается позиции по индексу от 0 до 3.
Если к примеру позиция с индексом 2 (3-я по списку) будет закрыта, то последняя позиция переместится в списке и получит индекс уже закрытой позиции. Цикл дальше перейдет на позицию с индексом 3, а такой позиции уже нет и эта позиция не будет обработана.
Dmitiry Ananiev:
……………НО при закрытии важно перебирать от конца к началу. ……………
Даже при закрытии позиций не обязательно перебирать PositionsTotal() от конца к началу. Программист должен сохранять гибкость, этого… как оно называется?)))
Достаточно закрывать не i-тую позицию, а всегда 0-вую или PositionsTotal()-1 . При этом анализировать ошибку закрытия чтобы не зациклить в бесконечность.))))